AdaBelief:一個有「信仰」的優化器

2021-02-24 AINLP


本人更新頻率和有事與懶惰程度成反比,最近發現同質公號越來越多,一篇好些的論文出來,還沒準備動筆就發現已被寫過了。自然也就不太想寫一樣的了,只能花些時間,往深些寫。

這篇論文整個過程很有趣,一開始以為只是篇優化器論文,論文介紹很明白,但結果挖到後面,卻發現事情出現了反轉。

AdaBelief 也算最近看的很有意思的論文,作者分析做的很好,實驗效果也挺好,大家關注度也比較高,而且後面還有意外驚喜。

儘量從沒太多人寫的角度來寫,而非複述論文。介紹這篇的文章很多,甚至作者在 B 站還有中文介紹視頻。

介紹 AdaBelief 前,先需要簡單介紹下 SGD(隨機梯度下降)和 Adam,因為論文中一直說的都是 AdaBelief 的最大優點就是集以上兩者的優點為一身

既有 SGD 算法好的泛化性 (Generalization)又有 Adam 算法一樣好的快速收斂性 (Convergence ability)和穩定性(Stability)

在論文中,以及 Github 頁面作者分享了很多實驗結果來證明這幾點,看上去 AdaBelief 好像是一個完美的優化器,而且理論方面也如作者說的,正是因為 Belief 的存在,所以 AdaBelief 才能表現如此好。但仔細觀察實驗結果,還有一些細節部分,就會發現事情或許並非如此。

SGD 和 ADAM

SGD 算是機器學習第一課裡的知識了,相信大部分同學也都很清楚其方法:根據損失函數給模型每個參數計算梯度,之後在梯度方向更新一小步。當然這只是 GD,還有 S(Stochastic),為提高效率,隨機選擇訓練樣本(一般為 batch),直到訓練模型到一個滿意的結果。

方程也很簡單。

雖然 SGD 算法很簡單,而且都差不多70年前提出的算法。但因為其良好的泛化性,在某些任務上(特別是 CV 大規模數據集,比如 ImageNet)仍然還得到應用。

在某些領域,SGD 的一些變種最近也得到很多應用,之前自監督學習那篇 BYOL 就是 LARS 訓的。

但從方程裡也能看出,SGD 是對全局參數用一個學習率,而其實真正優化更想要讓那些梯度方向穩定的參數更新更快,而不穩定的更新步伐更小。因此這也導致 SGD 算法訓練不太穩定,收斂慢(尤其訓練早期)。

對於上面這點問題,就有人提出了適應性法(Adaptive Method),能針對各個參數計算出其定製化的學習率,進行更新訓練。此類優化算法很多(名字帶 Ada 的都是),而 Adam 就是其中的佼佼者。

Adam 因其萬金油性,導致現在整個領域大部分任務都直接無腦就用,直接默認用 Adam。前段時間還看過一個說法,因為 Adam 的普及性,整個領域大部分模型是用 Adam 訓練的,改進模型也都用 Adam,因此整個領域很可能過擬合了,過擬合到 Adam 優化器上了,這些模型只對 Adam 優化有效.

Adam 相對 SGD 主要是加了兩個參數,分別為梯度的一階動量 

其中 

而 Adam 梯度更新方程是

介紹完 SGD 和 Adam,終於快說到正主 AdaBelief 了。AdaBelief 也是種適應性算法,在 Adam 上的改動很小,而效果卻不一般,那這個改動是什麼呢?

當然是信仰(belief),鹹魚有了信仰都不一樣,更別說優化器。

而這個所謂信仰其實就是,當前梯度與其滑動平均差值的二階動量(一個很長的信仰),其實可以理解成梯度方差。

信仰又是什麼

上面提到給優化器加入信仰的大概思想是:將梯度滑動平均 當前梯度  那麼說明當前 給它一個比較小的學習率;而如果 就說明當前 給更大的學習率

實際上是為了解決下面這張圖中的第三種情況。

梯度大而方差小的情況下,因為 Adam 用二階動量參數 

介紹這麼多,改進方程也就很簡單了,對比 Adam 只用將

替換成

算了下加上複製粘貼輸入這個公式總共才用了六步。

最後的參數更新方程將 

非常簡單。

信仰的力量:實際效果

論文中除了上面的 Intuition,還對 AdaBelief 的收斂性進行了理論分析,還有大量圖片視頻展示優化過程。

但我比較關心的是在具體問題上的效果。

首先是 CNN 模型的圖片分類任務,用 ImageNet 上 ResNet 18 來展示

可看到在準確性上 AdaBelief 超過了其他適應性方法,比 SGD 差一點點,但同時因為是適應性算法,它的收斂速度比 SGD 要快

之後是 LSTM 的語言模型任務,具體用 LSTM 在 Penn TreeBank 上的展示

發現模型越複雜(層數越多),AdaBelief 的性能就越好,收斂速度和效果都挺好

接著是 GAN 的訓練,主要因為 GAN 訓練對穩定性要求很高,所以這裡準備測試  AdaBelief 的穩定性。當然結果發現也是效果比其他都要好。而且看圖上 FID 分數的方差波動也很小,說明很穩定。

以上就是論文中展示的所有實驗分析了,但是...

Where is Transformer?! and pretrain model

果然還是有人有同樣想法,所以在 Github 庫裡找到 Transformer 相關的實驗。

但只在翻譯任務上跑了一下,結果看起來說服力不大,只在小數據集 ISWLT14 上進行了實驗

看上去是有些提升,但還是感覺沒說服力,因為 Transformer 也是被證實了大量級會更有效,但這方面實驗沒做。預訓練模型上也沒有進行實驗。

即使如此,作者是展示了理論分析,又展示了實驗結果,看上去好像很有說服力了,但是慢著,如果現在告訴你很有可能上面說的所謂的「信仰」都是扯淡,可能效果並沒分析那麼大,效果的產生在其他地方,你會怎麼想?

一頓操縱猛如虎,結果帶來效果產生跟操縱卻沒太大關係。

信仰的破滅?The Epsilon

第一遍看論文並沒有注意這個問題,直到在 Github 庫裡看到關於 epsilon (即 

前面理論分析略過了 Bias Correction (偏差校正)項,但現在這裡要說,這個在文中被因為簡便而略過的部分,很有可能才是整篇論文的關鍵

注意在 AdaBelief 中除了取代 

in order to better match the assumption that 

為了更好的滿足 

但實驗結果卻表明就是這樣一個小小的 

如果需要 AdaBelief 偏向 SGD 有更多泛化性,那麼就給 ,反之,需要 AdaBelief 偏向適應性優化器的話,就給 。這也符合前面說的 AdaBelief 是一個能同時擁有兩邊優點的優化器設定。

但是,好奇的同學肯定就問了,明明之前說的主要 idea 是給 

進一步來說,既然 如果對 Adam 進行同樣操作,加入同樣 。事實正是如此。

這樣想的人並非只是我們,已經有人做了。這便是論文 EAdam Optimizer: How ε Impact Adam 所提出的,它所做的就只是如剛才說的,也在 Adam 偏差校正的地方加了個

那麼這個 EAdam 效果如何,特別是和 AdaBelief 的對比。

首先是 CNN 圖片分類(EAdam 是圖中紅線,AdaBelief 是綠線)

接著是 LSTM 語言模型

還在目標檢測上跑了 Faster-RCNN+FPN

結果發現, EAdam 大多情況下和 AdaBelief 性能差不多

差也只略差一點。因此可以說,其實 沒有保證兩種實驗條件除了一處改動外其他條件都相同(這裡有兩處改動),而有效果之後歸因也出現了錯誤。

AdaBelief 所聲稱的 belief(信仰)可能起得作用並不是很大,AdaBelief 更應該叫做,

因此這裡我們是否可以說這是,信仰的破滅呢?

當然之前理論分析中的第三種情況,我也是認同 

如果感興趣,大家可以自己推導一下公式對比分析下 AdaBelief,Adam,EAdam 這三個。當然如果我有時間,也可以推導後寫一篇。

ReferenceGithub:Adabelief-OptimizerAdaBelief Optimizer: Adapting Stepsizes by the Belief in Observed GradientsEAdam Optimizer: How 

相關焦點

  • 7 Papers & Radios | EMNLP 2020最佳論文;新型優化器AdaBelief
    受人類行為的啟發,研究者認識到機器人不需要明確地建模其他智能體將執行的每一個低級操作。相反,它可以通過高級表示來捕獲其他智能體的潛在策略。該研究提出一個基於強化學習的框架,用來學習智能體策略的潛在表示,其中 ego 智能體確定其行為與另一智能體未來策略之間的關係。然後 ego 智能體利用這些潛在動態來影響其他智能體,有目的地指導制定適合共同適應的策略。
  • 優化器怎麼選?一文教你選擇適合不同ML項目的優化器
    引言為機器學習項目選擇好的優化器不是一項容易的任務。流行的深度學習庫(如 PyTorch 或 TensorFLow)提供了多種優化器選擇,它們各有優缺點。並且,選擇不合適的優化器可能會對機器學習項目產生很大的負面影響。這使得選擇優化器成為構建、測試和部署機器學習模型過程中的關鍵一環。
  • 英語每日一句+信仰主題作文素材:信仰它是一種可以支配頭腦的思想...
    【#英語每日一句# 】 A belief is not merely an idea that mind possesses.It is an idea that possesses the mind.
  • 光伏功率優化器應用案例深度分析
    本文以山東某2MW山地電站為例,就光伏功率優化器應用效果進行分析。在安裝豐郅光伏功率優化器後,優化區域發電量提升92%,平均每個組串每天多發電7.07度。該電站組件間間距不足形成遮擋,周圍樹木和電線桿也對部分組件形成遮擋,因為是山地電站,不同組串採光也有差異。
  • 谷歌大腦新型優化器LAMB加速大批量訓練
    當時,BERT 的作者在 Reddit 上也表示預訓練的計算量非常大,Jacob 說:「OpenAI 的 Transformer 有 12 層、768 個隱藏單元,他們使用 8 塊 P100 在 8 億詞量的數據集上訓練 40 個 Epoch 需要一個月,而 BERT-Large 模型有 24 層、2014 個隱藏單元,它們在有 33 億詞量的數據集上需要訓練 40 個 Epoch,因此在
  • Adam 或許不是最佳的深度學習優化器
    然而,這一切的可能性有多大?我是說,Adam 是最佳優化算法的可能性有多大?幾年前,在一個如此年輕的領域,我們達到深度學習優化的頂峰的可能性有多大?它的驚人表現還有其他的解釋嗎? 我有一個假設,但在解釋之前,我們必須簡單談談深度學習社區。
  • 關於深度學習優化器 optimizer 的選擇,你需要了解這些
    在很多機器學習和深度學習的應用中,我們發現用的最多的優化器是 Adam,為什麼呢?在 Sebastian Ruder 的這篇論文中給出了常用優化器的比較,今天來學習一下: 原文連結:https://arxiv.org/pdf/1609.04747.pdf本文將梳理:● 每個算法的梯度更新規則和缺點● 為了應對這個不足而提出的下一個算法● 超參數的一般設定值
  • 自Adam 出現以來,深度學習優化器發生了什麼變化?
    選自medium作者:Phúc Lê機器之心編譯參與:高璇、王淑婷Adam 自出道以來,就一直是最流行的深度學習優化器,哪怕現在其實已經有幾種可能更好用的優化器……如果將 Adam 優化出現以來產生的關於優化過程的有趣想法按時間順序排列的話,結果如下:
  • 直接對梯度下手,阿里提出新優化技巧,一行代碼即可改善現有優化器
    GC 的實現比較簡單,只需一行代碼即可將 GC 輕鬆嵌入到現有基於梯度的 DNN 優化器中。它還可以直接用於微調預訓練 DNN。研究者在不同應用中進行了實驗,包括通用圖像分類和微調圖像分類、檢測與分割,結果表明 GC 可以持續提升 DNN 學習性能。
  • 谷歌大腦新型優化器LAMB加速大批量
    谷歌大腦去年,谷歌發布了基於雙向 Transformer 的大規模預訓練語言模型 BERT 並開源。近日,來自谷歌大腦的研究者提出了一種新型優化器 LAMB,有效降低 BERT 預訓練時間,76 分鐘即可完成 BERT 預訓練!3.【新聞 | 2019全球AI人才分布圖:美國佔44%,中國人才淨流入】來源:jfgagne.ai
  • 高速光學跨阻放大器ADA4355的功能特性及應用範圍
    此外,ada4355包含三種tia增益(t《sub=「」》Z)設置,以最大化動態範圍。內部可選的模擬低通濾波器(LPF)可以限制器件帶寬,提供100 MHz轉角頻率,以最大限度降低寬帶噪聲,同時作為125 MSPS ADC的抗混疊濾波器。為了獲得更低的帶寬信號,或更寬的信號脈衝(例如20 μs 或更寬),可以設置濾波器採用1.0 MHz轉角頻率,以進一步降低噪聲。
  • 本周重磅推薦——《無神論簡史》(Brief History of Disbelief)
    本周推薦無神論簡史 Brief History of Disbelief
  • 單純、清心的信仰人——我是一個蒙恩的人
    其中一個意思是呼召,一個意思是叫他們受汗流滿面的咒詛,受地上極重的勞苦。如果我賺了一百萬,我會幹什麼?我可能會把錢買一個房,然後住著,然後繼續做現在的事。與其如此,還不如直接就做現在的事。我向來就是先做喜歡做的事。海邊洋房裡的保姆,住著別人家的房子,照顧著別人家的孩子。我這也是住著租的房子,或者免費住的房子,不也是挺好的嗎?
  • 成天拿信仰說事的人,他們真的有嗎?談談中國人的信仰!
    網上吵的很兇,說中國人沒有信仰,說一個沒有信仰的人什麼事都幹的出來。 反正這些年對中國人的攻擊、污衊也見怪不怪了,不能因為蝲蝲蛄叫,就不種地了,但是我們自己心理要有譜,別被人忽悠瘸了,那我們中國人到底信仰的是什麼呢?
  • 神創論與唯科學主義:一種心態,兩種信仰系統
    任何與《聖經》故事相違的證據,神創論者要麼不理會,要麼加以解釋,使之符合他們的信仰體系。 基督教《聖經》由舊約和新約組成,但其內容卻是由基督神學家,而不是上帝來決定要從舊約當中收錄哪些書目,又排除哪些。同樣地,在彙編新約的幾百年中,也由基督神學家決定哪些福音書和使徒書信可以編入新約,哪些則不可以。
  • 普拉姆伯格:品牌,要有信仰!
    有信仰的陪伴,才能活的更有滋味普拉姆伯格家族,有個信仰:做好每一架鋼琴!
  • 蛇蛙銅案 一個民族的信仰神話
    蛇蛙銅案。2笮人驍勇善戰的影子武士  笮人是一個尚武的民族,據史籍記載,最先居住在川西北岷江上遊地區,後來逐漸向南遷徙,秦漢時期雅礱江下遊地區成了笮人的聚居之地。  在鹽源出土的大量青銅器中,武器幾乎佔了百分之六十。光是青銅劍就有數種之分,還有各式三角援銅戈,鋒利無比的青銅鏃,鏤刻有精美花紋的銅臂鞴,還有種類繁多的銅鉞與銅矛等等精緻的武器。
  • 《伊洛納手遊》信仰神明有什麼作用 信仰神明作用介紹
    導 讀 伊洛納手遊信仰神明有什麼作用呢?
  • 如果無神論也是一個宗教,也是一種信仰……
    有人把神植入生活的方方面面,而我們選擇無神論作為信仰!再次分享我們和@暴走漫畫合作的這段視頻,為無神論者喝彩! 光之大祭司愛迪生給我們帶來光明,空調老祖威利斯·開利使世人面下火獄,救世主袁隆平讓上億人免於餓死。