如今鳖链,深度學(xué)習(xí)模型已經(jīng)部署在眾多谷歌產(chǎn)品中,如搜索墩莫、翻譯和照片等芙委。而在訓(xùn)練深度學(xué)習(xí)模型時,優(yōu)化方法的選擇至關(guān)重要狂秦。例如题山,隨機(jī)梯度下降在大多情況下都很有效,但更先進(jìn)的優(yōu)化器可能會更快故痊,特別是在訓(xùn)練非扯ネ“深”的網(wǎng)絡(luò)時。然而,由于優(yōu)化問題的非凸性慨菱,為神經(jīng)網(wǎng)絡(luò)提供新的優(yōu)化器十分具有挑戰(zhàn)性焰络。在Google Brain團(tuán)隊中,我們想看看是否可能用類似于AutoML如何用于發(fā)現(xiàn)新的有競爭力的神經(jīng)網(wǎng)絡(luò)架構(gòu)的方法符喝,自動化發(fā)現(xiàn)新的優(yōu)化器的過程闪彼。
在論文“ Neural Optimizer Search with Reinforcement Learning?”中,我們提出了一種使用深度學(xué)習(xí)架構(gòu)發(fā)現(xiàn)優(yōu)化方法的方法 — 神經(jīng)優(yōu)化器搜索(Neural Optimizer Search)协饲。使用這種方法畏腕,我們發(fā)現(xiàn)了兩種新的優(yōu)化器PowerSign和AddSign,它們在各種不同的任務(wù)和架構(gòu)上具有競爭力茉稠,包括ImageNet分類和Google的神經(jīng)機(jī)器翻譯系統(tǒng)描馅。為了幫助其他人從這項工作中受益,我們將這些優(yōu)化器加入了Tensorflow而线。
神經(jīng)優(yōu)化器搜索利用一個遞歸神經(jīng)網(wǎng)絡(luò)控制器铭污,它可以訪問通常與優(yōu)化相關(guān)的簡單原語(primitives)列表。例如膀篮,這些原語包括梯度或梯度的運行平均值嘹狞,并具有超過1*10?10種可能組合的搜索空間∈母停控制器然后為這個搜索空間中的候選優(yōu)化器或更新規(guī)則生成計算圖磅网。
在論文中,提出的候選更新規(guī)則(U)用于在CIFAR10上訓(xùn)練一個子卷積神經(jīng)網(wǎng)絡(luò)幾個周期筷屡,最終的驗證準(zhǔn)確性(R)作為獎勵饋給控制器知市。控制器通過強(qiáng)化學(xué)習(xí)進(jìn)行訓(xùn)練最大化所抽取的更新規(guī)則的驗證準(zhǔn)確性速蕊。這個過程如下圖所示嫂丙。
使用迭代過程來發(fā)現(xiàn)新優(yōu)化器的神經(jīng)優(yōu)化器搜索示意圖。
有趣的是规哲,我們找到的這些優(yōu)化器是可解釋的跟啤。例如,在我們發(fā)布的PowerSign優(yōu)化器中唉锌,每次更新都會比較梯度信號和其運行平均值隅肥,并根據(jù)這兩個值是否一致來調(diào)整步長。這背后的直覺是袄简,如果這些值一致腥放,那么它對正確的更新方向更為確定,因此步長可以更大绿语。我們還發(fā)現(xiàn)了一個簡單的學(xué)習(xí)率衰減方案秃症,線性余弦衰減(?linear cosine decay)候址,我們發(fā)現(xiàn)可以讓收斂更快。
圖表比較了余弦衰減种柑,階梯衰減和線性余弦衰減的學(xué)習(xí)率衰減函數(shù)岗仑。
神經(jīng)優(yōu)化搜索找到了幾個優(yōu)化器,它們的表現(xiàn)勝過了在小型ConvNet模型中常用的優(yōu)化器聚请。在一些可以很好遷移到其他任務(wù)優(yōu)化器中荠雕,我們發(fā)現(xiàn)PowerSign和AddSign將最先進(jìn)ImageNet mobile-sized模型的前1和前5的準(zhǔn)確性提高了0.4%。他們在Google的神經(jīng)機(jī)器翻譯系統(tǒng)上也運行良好驶赏,英語對德語翻譯任務(wù)的雙語評估指標(biāo)(BLEU)增加了0.7炸卑。
讓我們感到興奮的是,神經(jīng)優(yōu)化器搜索不僅可以提高機(jī)器學(xué)習(xí)模型的性能煤傍,還可能發(fā)現(xiàn)新的可解釋的方程和發(fā)現(xiàn)盖文。我們希望在Tensorflow中開源的這些優(yōu)化器會對機(jī)器學(xué)習(xí)從業(yè)者有用。
本文為編譯作品患久,轉(zhuǎn)載請注明出處。