谷歌大腦開源多種新型神經網絡優化器,AutoML探索新架構

 2018-03-29 14:00:10.0

谷歌大腦團隊希望用類似於 AutoML 發現新神經網絡架構的方法,探索自動發現新優化器的實現。他們發現了多種性能優異的優化器,並已將其開源。

開源地址(TensorFlow):https://www.tensorflow.org/api_docs/python/tf/contrib/opt

深度學習模型已在谷歌的衆多產品中部署,如搜索、翻譯和圖片。優化方法的選擇在深度學習模型的訓練中發揮着重要作用。例如,儘管隨機梯度下降在許多情況下都能良好運轉,但更加高級的優化器速度會更快,尤其是在深度非常大的網絡的訓練中。然而,由於優化問題的非凸性,開發新的神經網絡優化器頗具挑戰。Google Brain 團隊希望用類似於 AutoML 發現新的有競爭力的神經網絡架構的方法,探索是否可能自動發現新的優化器。

在《Neural Optimizer Search with Reinforcement Learning》中,谷歌提出了一種發現優化方法的方法,其優化重點是深度學習架構。谷歌使用這種方法發現了兩個新的優化器——PowerSign 和 AddSign,它們在各種不同的任務和架構中頗具競爭力,包括 ImageNet 分類器和谷歌的神經機器翻譯系統。爲了幫助其他人從這項工作中受益,谷歌已在 Tensorflow 將該優化器開源。

神經優化器搜索(Neural Optimizer Search)利用循環神經網絡控制器,該控制器可以訪問與優化相關的簡單原語列表。這些原語包括梯度或梯度的運行平均值,並具有 1010 個以上可能組合的搜索空間。然後,控制器爲該搜索空間中的候選優化器或更新規則生成計算圖。

該論文利用候選更新規則 ( U ) 在 CIFAR10 上對一個子卷積神經網絡執行幾個 epoch 的訓練,最後將驗證準確率 ( R ) 作爲獎勵反饋給控制器。通過強化學習訓練控制器,以最大化採樣更新規則的驗證準確率。該過程如下圖所示:

神經優化器搜索的示意圖,使用迭代過程來發現新的優化器。

有趣的是,我們發現的優化器是可解釋的。例如,在 PowerSign 優化器中,我們將每一次更新與梯度信號和梯度的運行平均值進行對比,根據這兩個值是否一致來調整步長大小。如果是,則當前的更新方向更加可靠,從而步長可以增大。谷歌還發現了一種簡單的學習率衰減方案即線性餘弦衰減(linear cosine decay),它可以帶來更快的收斂。

線性餘弦衰減、步長衰減和餘弦衰減的學習率衰減函數曲線對比圖。

神經優化器搜索發現了在小規模卷積網絡上可超越常用優化器的多種優化器。部分優化器可以很好地遷移到其它的任務上,谷歌發現 PowerSign 和 AddSign 將最先進的 ImageNet 移動尺寸模型的 top-1 和 top-5 精度提高了 0.4 %。它們在谷歌的神經機器翻譯系統中也能良好運行,在英德翻譯任務中的 BLEU 值提高了 0.7。

神經優化器搜索不僅能提高機器學習模型的性能,還可能帶來新的可解釋優化器方程和更多發現。

原文鏈接:https://research.googleblog.com/2018/03/using-machine-learning-to-discover.html

文章來源:機器之心