「新奇」假設!Adam 或許不是最佳的深度學習優化器

  • 2021 年 1 月 15 日
  • AI

譯者:AI研習社(Born alone°

雙語原文鏈接:NEURAL NETWORKS (MAYBE) EVOLVED TO MAKE ADAM THE BEST OPTIMIZER


免責聲明:這篇文章和我平時的有些不同。事實上,我不會證明任何東西,我只是簡單地解釋一下我關於深度神經網絡優化的一些猜想。和我平時的帖子不同,我寫的東西完全有可能是錯的。  

我已經從實踐和經驗的角度研究在線和隨機優化有一段時間了。所以,當Adam (Kingma and Ba, 2015)被提出時,我已經在這個領域了。 

這篇論文還可以,但算不上突破,就今天的標準而言更是如此。事實上,這個理論是薄弱的:對於一種應該處理非凸函數隨機優化的算法給出了 regret guarantee。這些實驗也很弱:在這些日子裏,同樣的實驗肯定會遭到拒絕。晚些時候人們還在證明中發現了一個錯誤以及該算法不收斂於某些一維隨機凸函數的事實。儘管如此,現在 Adam 被認為是優化算法之王。讓我明確一點:眾所周知, Adam 不會總實現最佳性能, 但大多數時候,人們認為可以利用 Adam 的默認參數在處理某個深度學習問題上實現至少次優的性能。換句話說,Adam 現在被認為是深度學習的默認優化器。那麼,Adam 背後成功的秘密是什麼? 

多年來,人們發表了大量的論文試圖解釋 Adam 和它的表現,太多了,不能一一列舉。從「適應學習率」(適應到什麼?沒有人確切地知道……)到動量,到幾乎標度不變性 ,它的神秘配方的每一個方面都被檢查過。然而,這些分析都沒有給我們關於其性能的最終答案。很明顯,這些成分中的大多數對任何函數的優化過程都是有益的,但仍然不清楚為什麼這個確切的組合而不是另一個組合使它成為最好的算法。混合物的平衡是如此的微妙以至於修正不收斂問題所需的小更改被認為比 Adam 表現稍差。

Adam 的名聲也伴隨着強烈的情感:閱讀 r/MachineLearning on Reddit 上的帖子就足以看出人們對捍衛他們最喜歡的優化器的熱情。這種熱情你可以在宗教、體育和政治中看到。 

然而,這一切的可能性有多大?我是說,Adam 是最佳優化算法的可能性有多大?幾年前,在一個如此年輕的領域,我們達到深度學習優化的頂峰的可能性有多大?它的驚人表現還有其他的解釋嗎?  

我有一個假設,但在解釋之前,我們必須簡單談談深度學習社區。

在談話中,Olivier Bousquet 將深度學習社區描述為一個巨人 genetic algorithm:這個社區的研究人員正在以一種半隨機的方式探索各種算法和架構的空間。在大型實驗中一直有效的東西被保留,無效的被丟棄。請注意,這個過程似乎與論文的接受和拒絕無關:這個社區是如此的龐大和活躍,關於被拒絕論文的好想法仍然會被保存下來,並在幾個月內轉化為最佳實踐,參見舉例  (Loshchilov and Hutter, 2019)。類似地,發表的論文中的觀點被成百上千的人複製,他們無情地丟棄那些不會複製的東西。這個過程創造了許多啟發式,在實驗中始終產生良好的結果,這裡的重點是「始終如一」。事實上,儘管是一種基於非凸公式的方法,深度學習方法的性能證明是非常可靠的。(需要注意的是,深度學習社區對「名人」也有很大的偏好,所以並不是所有的想法都能得到同等程度的關注……)

那麼,這個巨大的遺傳算法和亞當之間有什麼聯繫?嗯,仔細觀察深度學習社區的創建過程,我注意到一個模式:通常人們嘗試新的架構,保持優化算法不變,大多數時候選擇的算法是 Adam。如上所述,這是因為 Adam是默認的優化器。

所以,我的假設是:Adam 是一個非常好的神經網絡架構的優化算法,我們幾年前就有了,人們不斷地發展新的架構,讓 Adam 在上面工作。因此,我們可能不會看到許多 Adam 不工作的架構,因為這些想法被過早地拋棄了!這樣的想法需要同時設計一個新的架構和一個新的優化器,這將是一個非常困難的任務。換句話說,社區只進化了一組參數(架構、初始化策略、超參數搜索算法等),大部分時間優化器都固定在 Adam 身上。  

現在,我相信很多人不會相信這個假設,我相信他們會列出各種具體的問題,在這些問題中 Adam 不是最好的算法,在這些問題中  隨機梯度下降 動量是最好的,以此類推。然而,我想指出兩件事:1)我並不是在這裡描述自然規律,而是簡單地描述社區的一種趨勢,它可能會影響某些架構和優化器的共同進化;事實上,我有一些證據來支持這一說法。

如果我說的是真的,我們可以預期 Adam 在深度神經網絡方面會非常出色而在其他方面則會非常差。這確實發生了!例如,眾所周知,Adam在非深度神經網絡的簡單凸和非凸問題上表現很差,參見下面的實驗(Vaswani et al., 2019):

似乎當我們遠離深度神經網絡的特定設置,以及它們對初始化的特定選擇、特定權重的比例、特定的損失函數等,Adam 就失去了它的自適應能力,它神奇的默認學習率必須再次調整。請注意,您總是可以將線性預測器寫成單層神經網絡,但 Adam 在這種情況下也不太好用。因此,在深度學習中,所有特定的架構選擇可能已經進化到讓 Adam 工作得越來越好,而上述簡單的問題並沒有任何讓 Adam 發光的好特性。

總的來說,Adam 可能是最好的優化器,因為深度學習社區可能只在架構/優化器的聯合搜索空間中探索一小塊區域。如果這是真的,對於一個脫離凸方法的社區來說,這將是一個諷刺,因為他們只關注可能的機器學習算法的一個狹窄區域,它就像  Yann LeCun 「寫道:「在路燈下尋找丟失的車鑰匙,卻發現鑰匙丟在了別的地方。」 

AI研習社是AI學術青年和AI開發者技術交流的在線社區。我們與高校、學術機構和產業界合作,通過提供學習、實戰和求職服務,為AI學術青年和開發者的交流互助和職業發展打造一站式平台,致力成為中國最大的科技創新人才聚集地。

如果,你也是位熱愛分享的AI愛好者。歡迎與譯站一起,學習新知,分享成長。