您現在的位置是:首頁 > 網路遊戲首頁網路遊戲
讓AI自己調整超引數,谷歌大腦新最佳化器火了
- 2023-02-05
yqq的網路意思是什麼
蕭簫 發自 凹非寺
量子位 | 公眾號 QbitAI
還在苦惱怎麼給最佳化器調整更好的引數嗎?
現在,谷歌大腦搞出了一個新的最佳化器VeLO,無需手動調整任何超引數,直接用就完事了。
與其他人工設計的如Adam、AdaGrad等演算法不同,VeLO完全基於AI構造,能夠很好地適應各種不同的任務。
當然,效果也更好。論文作者之一Lucas Beyer將VeLO與其他“重度”調參的最佳化器進行了對比,效能不相上下:
有網友看到了一絲最佳化器進步的曙光:
在Adam之後出現了不少最佳化器,卻都表現得非常失敗。這個最佳化器或許確實能表現更好。
所以,這個基於AI的最佳化器是如何打造的?
VeLO究竟是怎麼打造的?
在訓練神經網路的過程中,最佳化器(optimizer)是必不可少的一部分。
△神經網路訓練過程,圖源Thomas Wolf
但AI模型應用都這麼廣泛了,訓練AI模型用的最佳化器卻仍然是人工設計的,聽起來多少有點不合理。
於是谷歌大腦的研究人員靈機一動:為何不用AI來做一個最佳化器呢?
設計上,最佳化器的原理基於元學習的思路,即從相關任務上學習經驗,來幫助學習目標任務。
相比遷移學習,元學習更強調獲取元知識,它是一類任務上的通用知識,可以被泛化到更多工上去。
基於這一思想,VeLO也會吸收梯度並自動輸出引數更新,無需任何超引數調優,並自適應需要最佳化的各種任務。
架構上,AI最佳化器整體由LSTM(長短期記憶網路)和超網路MLP(多層感知機)構成。
其中每個LSTM負責設定多個MLP的引數,各個LSTM之間則透過全域性上下文資訊進行相互協作。
訓練上,AI最佳化器採用元訓練的方式,以引數值和梯度作為輸入,輸出需要更新的引數。
經過4000個TPU月(一塊TPU執行4000個月的計算量)的訓練,集各種最佳化任務之所長後,VeLO終於橫空出世。
比人工調參最佳化器效果更好
結果表明,VeLO在83個任務上的加速效果超過了一系列當前已有的最佳化器。
其中y軸是相比Adam加速的倍率,x軸是任務的比例。
結果顯示,VeLO不僅比無需調整超引數的最佳化器效果更好,甚至比仔細調整過超引數的一些最佳化器效果還好:
與“經典老大哥”Adam相比,VeLO在所有任務上訓練加速都更快,其中50%以上的任務比調整學習率的Adam快4倍以上,14%以上的任務中,VeLO學習率甚至快上16倍。
而在6類學習任務(資料集+對應模型)的最佳化效果上,VeLO在其中5類任務上表現效果都與Adam相當甚至更好:
值得一提的是,這次VeLO也被部署在JAX中,看來谷歌是真的很大力推廣這個新框架了。
巴特,也有網友認為耗費4000個TPU月來訓練VeLO,計算量成本過大:
雖然這個進展很重要,但它甚至都快趕上GPT-3的訓練量了。
目前VeLO已經開源,感興趣的小夥伴們可以去試試這個新的AI最佳化器。
One More Thing
前段時間,一位哈佛博士生提了個有意思的想法,得到不少人贊同:
更多論文的作者們也應該像演職員表一樣,公開自己在論文中的工作內容。
Kareem Carr是生物統計學領域的博士生,作者貢獻在生物論文中比較常見,不過之前在AI論文中見得不多。
現在,這篇谷歌大腦論文的作者們也這樣做了,誰寫的論文、誰搭建的框架一目瞭然:
不知道以後會不會成為機器學習圈的新風氣(手動狗頭)。
GitHub地址:
https://github。com/google/learned_optimization/tree/main/learned_optimization/research/general_lopt
論文地址:
https://arxiv。org/abs/2211。09760
參考連結:
[1]https://twitter。com/jmes_harrison/status/1593422054971174912
[2]https://medium。com/huggingface/from-zero-to-research-an-introduction-to-meta-learning-8e16e677f78a#afeb
[3]https://mp。weixin。qq。com/s/QLzdW6CMkcXWQbGjtOBNwg
— 完 —
原標題:《讓AI自己調整超引數,谷歌大腦新最佳化器火了,自適應不同任務,83個任務訓練加速比經典Adam更快》