優(yōu)化器方法-RAdam (Rectified Adam)

最近看到一篇博客特姐,將LookAheadRAdam結(jié)合產(chǎn)生了一個(gè)新的算法——Ranger侈净,獲得了比單獨(dú)使用RAdam要好的效果疯坤。后來(lái)有人將LARS與Ranger結(jié)合肢簿,效果取得了進(jìn)一步提升靶剑。最近Ranger的提出者又將GC(Gradient Centralization)方法與Ranger結(jié)合,也取得了比Ranger好的效果池充。這里我會(huì)分四篇文章分享我個(gè)人在閱讀這四個(gè)方法對(duì)應(yīng)的論文時(shí)的總結(jié)和體會(huì)抬虽。由于LookAhead優(yōu)化器與SWA比較相似,所以還會(huì)開(kāi)辟一篇文章介紹SWAFast SWA優(yōu)化器纵菌。本篇文章為系列文章第二篇阐污。

問(wèn)題

目前很多自適應(yīng)學(xué)習(xí)率優(yōu)化器,如RMSprop咱圆、 Adam笛辟、Adadelta和Nadam等,被廣泛應(yīng)用在各種DNN模型的訓(xùn)練中序苏,他們帶來(lái)的最大益處是快速的收斂速度手幢。下圖(Algorithm 1)算法過(guò)程概括了大部分自適應(yīng)學(xué)習(xí)率優(yōu)化器的流程框架。不同的地方只是\phi (\cdot)\psi (\cdot)的計(jì)算方式不同忱详。例如围来,在Adam優(yōu)化器中:

\phi_t (g_1,...,g_t) = \frac{(1-\beta_1)\sum_{i=1}^{t}\beta_1^{t-i}g_i}{1-\beta_1^t}
\psi_t (g_1,...,g_t) = \sqrt{\frac{1-\beta_2^t}{(1-\beta_2)\sum_{i=1}^{t}\beta_2^{t-i}g_i^2}}
為了數(shù)值穩(wěn)定,一般也會(huì)以下面的公式計(jì)算\psi (\cdot)匈睁,\epsilon是一個(gè)極小的值监透,例如1 \times 10^{-8}
\psi_t (g_1,...,g_t) = \frac{\sqrt{1-\beta_2^t}}{\epsilon + \sqrt{(1-\beta_2)\sum_{i=1}^{t}\beta_2^{t-i}g_i^2}}

從流程圖中可以看出,自適應(yīng)學(xué)習(xí)率優(yōu)化器的學(xué)習(xí)率有兩個(gè)航唆,分別為\alpha_tl_t胀蛮,其中\alpha_t稱為學(xué)習(xí)率或者全局學(xué)習(xí)率,而l_t稱為自適應(yīng)學(xué)習(xí)率糯钙。

實(shí)際使用中發(fā)現(xiàn)粪狼,這些優(yōu)化算法可能會(huì)收斂到一個(gè)表現(xiàn)較差的局部最優(yōu)點(diǎn),之前的解決方法是使用warmup啟發(fā)式方法任岸,即在訓(xùn)練早期階段先使用較小的學(xué)習(xí)率開(kāi)始訓(xùn)練再榄,然后逐漸增大學(xué)習(xí)率到正式訓(xùn)練使用的學(xué)習(xí)率,剩下的訓(xùn)練過(guò)程使用正式訓(xùn)練中的學(xué)習(xí)率調(diào)整策略享潜。但是之前沒(méi)有理論依據(jù)可以解釋warmup方法為何能夠帶來(lái)性能提升困鸥,因此也無(wú)法指引我們更好地在各種不同的任務(wù)中使用warmup,一般研究者都是通過(guò)試錯(cuò)的方式找到合適的warmup超參設(shè)置米碰。

作者在對(duì)warmup的有效性進(jìn)行研究時(shí)發(fā)現(xiàn)窝革,造成自適應(yīng)學(xué)習(xí)率優(yōu)化器陷入較差局部最優(yōu)點(diǎn)的主要原因是在訓(xùn)練早期,由于使用的訓(xùn)練樣本數(shù)量有限吕座,自適應(yīng)學(xué)習(xí)率會(huì)有較大的方差虐译。為了降低該因素帶來(lái)的負(fù)面影響,我們可以在訓(xùn)練的早期階段使用較小的(全局)學(xué)習(xí)率吴趴,這便是warmup方法漆诽。為了說(shuō)明warmup的有效性,作者指出在機(jī)器翻譯數(shù)據(jù)集De-En IWSLT'14的實(shí)驗(yàn)中锣枝,移除warmup階段將使訓(xùn)練損失從3增加到10左右厢拭。作者也通過(guò)可視化方法發(fā)現(xiàn),在不使用warmup的情況下撇叁,傳統(tǒng)Adam算法的梯度分布會(huì)被扭曲供鸠,在10次更新中梯度會(huì)有一個(gè)相對(duì)較小的“質(zhì)心”,而這意味著在進(jìn)行一些更新后陨闹,傳統(tǒng)Adam算法會(huì)陷入到較差的極小值點(diǎn)(個(gè)人無(wú)法理解此處的因果關(guān)系)楞捂,如下圖所示,該圖中也指出在使用warmup后趋厉,梯度分布被扭曲的問(wèn)題得到了矯正寨闹。

作者也通過(guò)證明說(shuō)明在訓(xùn)練的早期階段,Adam優(yōu)化器的自適應(yīng)學(xué)習(xí)率確實(shí)存在較大的方差君账。下面是論文中的簡(jiǎn)單推導(dǎo)總結(jié)繁堡,詳細(xì)推導(dǎo)請(qǐng)參考原文:
1.首先,作者將每次迭代的梯度看作是獨(dú)立同分布的乡数,且服從N(0, \sigma^2)的正態(tài)分布椭蹄,因?yàn)橛?xùn)練開(kāi)始階段,權(quán)重的初始化是采樣自標(biāo)準(zhǔn)正態(tài)分布的净赴。
2.Adam優(yōu)化器中使用指數(shù)移動(dòng)平均來(lái)計(jì)算自適應(yīng)學(xué)習(xí)率塑娇,作者指出,通過(guò)指數(shù)移動(dòng)平均計(jì)算的梯度平方的方差大于使用簡(jiǎn)單平均計(jì)算的梯度平方(推導(dǎo)可參考本文補(bǔ)充1)劫侧,而且在訓(xùn)練的早期階段(t較小時(shí))埋酬,通過(guò)指數(shù)移動(dòng)平均來(lái)計(jì)算的梯度平方值與通過(guò)簡(jiǎn)單平均計(jì)算的梯度平方值相差不大(最大為1-\beta_2^{t-1}),所以為了分析簡(jiǎn)單烧栋,作者認(rèn)為在訓(xùn)練的早期階段使用簡(jiǎn)單平均計(jì)算的梯度平方概率分布近似于指數(shù)移動(dòng)平均計(jì)算的梯度平方的概率分布写妥,即:

p(\psi_t (\cdot)) = p(\sqrt{\frac{1-\beta_2^t}{(1-\beta_2)\sum_{i=1}^{t}\beta_2^{t-i}g_i^2}}) \approx p(\sqrt{\frac{t}{\sum_{i=1}^{t}g_i^2} })

由于步驟1指出g_i服從正態(tài)分布N(0, \sigma^2),則\frac{t}{\sum_{i=1}^{t}g_i^2}服從縮放逆卡方分布(scaled inverse chi-square distribution审姓,維基百科介紹Scale-inv-\chi^2(t, 1/\sigma^2 )珍特。所以\psi_t^2 (\cdot) = \frac{1-\beta_2^t}{(1-\beta_2)\sum_{i=1}^{t}\beta_2^{t-i}g_i^2}也服從自由度為\rho的縮放逆卡方分布Scale-inv-\chi^2(\rho, 1/\sigma^2 )(此處不清楚為什么自由度不是t,個(gè)人猜測(cè)魔吐,兩者雖然都服從縮放逆卡方分布扎筒,但是由于實(shí)際形式不同莱找,所以在自由度上存在差異)。
3.基于以上假設(shè)和分析嗜桌,就可以計(jì)算出\psi_t^2 (\cdot)的方差Var[\psi_t^2 (\cdot)]奥溺,從而可以計(jì)算出\psi_t(\cdot)的方差Var[\psi_t (\cdot)]

該公式表明Var[\psi_t (\cdot)]是自由度\rho的單調(diào)遞減函數(shù),由于自由度\rho與采樣的樣本數(shù)量有關(guān)骨宠,即與t成正比浮定,此處說(shuō)明在訓(xùn)練初期,由于缺乏采樣的樣本數(shù)量层亿,自適應(yīng)學(xué)習(xí)率的方差Var[\psi_t (\cdot)]比訓(xùn)練后期要大桦卒,作者指出大致會(huì)有500倍的差異。

方法

1.對(duì)自由度\rho進(jìn)行估計(jì)

從以上推導(dǎo)已經(jīng)知道Var[\psi_t (\cdot)]是自由度\rho的單調(diào)遞減函數(shù)匿又,為了對(duì)Var[\psi_t (\cdot)]進(jìn)行進(jìn)一步的量化分析并修正方差較大的問(wèn)題方灾,需要基于t對(duì)自由度\rho進(jìn)行估計(jì),作者給出的估計(jì)為:

\rho_t = f(t, \beta_2) = \frac{2}{1-\beta_2} - 1 - \frac{2t \beta_2^t}{1-\beta_2^t}
另外碌更,指定\rho_{\infty} = \lim_{t \to \infty }f(t, \beta_2) = \frac{2}{1-\beta_2} - 1

2.修正自適應(yīng)學(xué)習(xí)率

所謂修正自適應(yīng)學(xué)習(xí)率迎吵,就是使得Var[\psi_t (\cdot)]從始至終都是常量值。從Var[\psi_t (\cdot)]與自由度\rho的關(guān)系我們知道Var[\psi_t (\cdot)]的最小值\min_{\rho_t} Var[\psi_t (\cdot)] = Var[\psi_t (\cdot)] |_{\rho_t=\rho_{\infty}} = C_{var}针贬,則可通過(guò)以下公式進(jìn)行修正:

其中击费,r_t便是修正因子,通過(guò)公式推導(dǎo)桦他,作者得到t時(shí)刻的修正因子r_t為:

r_t = \sqrt{\frac{(\rho_t - 4)(\rho_t - 2) \rho_{\infty}}{{(\rho_\infty - 4)(\rho_\infty - 2) \rho_{t}}}}

通過(guò)引入該修正因子蔫巩,作者提出了Adam算法的新變種RAdam(Rectified Adam),算法整體描述如下:

另外快压,正如算法中指出的圆仔,當(dāng)\rho_t \le 4\rho_{\infty} \le 4(開(kāi)方不可解)自適應(yīng)學(xué)習(xí)率失效,該算法退化為動(dòng)量SGD蔫劣。

實(shí)驗(yàn)效果

1.作者試驗(yàn)表明RAdam在CV和NLP任務(wù)中都有比Adam好的表現(xiàn)坪郭,而且RAdam也具有比Adam和SGD更好的對(duì)不同學(xué)習(xí)率的魯邦性:

2.與warmup比較,RAdam取得了與之相當(dāng)?shù)谋憩F(xiàn)脉幢,說(shuō)明RAdam可以作為warmup的替代策略:

補(bǔ)充

1.通過(guò)指數(shù)移動(dòng)平均計(jì)算的梯度平方的方差大于使用簡(jiǎn)單平均計(jì)算的梯度平方的方差歪沃,推導(dǎo)過(guò)程如下:

通過(guò)指數(shù)移動(dòng)平均計(jì)算的梯度平方的方差計(jì)算公式推導(dǎo):

Var[ \frac{1}{1 -\beta_2^t } (1-\beta_2) \sum_{i=1}^{t} \beta_2^{t-i}g_i^2] \\ = \frac{1}{(1 -\beta_2^t)^2 } (1-\beta_2)^2 Var(\sum_{i=1}^{t} \beta_2^{t-i}g_i^2) \\ = \frac{1}{(1 -\beta_2^t)^2 } (1-\beta_2)^2 \sum_{i=1}^{t} \beta_2^{2(t-i)} Var( g_i^2) \\ = \sum_{i=1}^{t} \frac{1}{(1 -\beta_2^t)^2 } (1-\beta_2)^2 \beta_2^{2(t-i)} Var( g_i^2)

通過(guò)簡(jiǎn)單平均計(jì)算的梯度平方的方差計(jì)算公式推導(dǎo):
Var(\frac{1}{t} \sum_{i=1}^{t} g_i^2) \\ = \sum_{i=1}^{t} \frac{1}{t^2} Var( g_i^2)

兩者的差為:
Var[ \frac{1}{1 -\beta_2^t } (1-\beta_2) \sum_{i=1}^{t} \beta_2^{t-i}g_i^2] - Var(\frac{1}{t} \sum_{i=1}^{t} g_i^2) \\ = \sum_{i=1}^{t} [\frac{1}{(1 -\beta_2^t)^2 } (1-\beta_2)^2 \beta_2^{2(t-i)} - \frac{1}{t^2}] Var( g_i^2) \\ \ge \min_{i=1}^{t}[Var( g_i^2)] \sum_{i=1}^{t} [\frac{1}{(1 -\beta_2^t)^2 } (1-\beta_2)^2 \beta_2^{2(t-i)} - \frac{1}{t^2}]
上式最后一項(xiàng)大于等于0,理由是:由于t \ge 1嫌松,且對(duì)于Adam優(yōu)化器\beta_2一般取值0.9沪曙, 則 \sum_{i=1}^{t} [\frac{1}{(1 -\beta_2^t)^2 } (1-\beta_2)^2 \beta_2^{2(t-i)} - \frac{1}{t^2}] \ge 0,下圖是t選擇不同值時(shí)\sum_{i=1}^{t} [\frac{1}{(1 -\beta_2^t)^2 } (1-\beta_2)^2 \beta_2^{2(t-i)} - \frac{1}{t^2}]的值萎羔,可以看出都是大于0的液走,又\min_{i=1}^{t}[Var( g_i^2)] \ge 0,所以上式大于0,從而說(shuō)明通過(guò)指數(shù)移動(dòng)平均計(jì)算的梯度平方的方差大于使用簡(jiǎn)單平均計(jì)算的梯度平方的方差缘眶,而且當(dāng)t較小時(shí)兩者的差異較小嘱根。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市巷懈,隨后出現(xiàn)的幾起案子该抒,更是在濱河造成了極大的恐慌,老刑警劉巖砸喻,帶你破解...
    沈念sama閱讀 218,941評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件柔逼,死亡現(xiàn)場(chǎng)離奇詭異蒋譬,居然都是意外死亡割岛,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門犯助,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)癣漆,“玉大人,你說(shuō)我怎么就攤上這事剂买』菟” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,345評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵瞬哼,是天一觀的道長(zhǎng)婚肆。 經(jīng)常有香客問(wèn)我,道長(zhǎng)坐慰,這世上最難降的妖魔是什么较性? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,851評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮结胀,結(jié)果婚禮上赞咙,老公的妹妹穿的比我還像新娘。我一直安慰自己糟港,他們只是感情好攀操,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,868評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著秸抚,像睡著了一般速和。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上剥汤,一...
    開(kāi)封第一講書(shū)人閱讀 51,688評(píng)論 1 305
  • 那天健芭,我揣著相機(jī)與錄音,去河邊找鬼秀姐。 笑死慈迈,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播痒留,決...
    沈念sama閱讀 40,414評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼谴麦,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了伸头?” 一聲冷哼從身側(cè)響起匾效,我...
    開(kāi)封第一講書(shū)人閱讀 39,319評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎恤磷,沒(méi)想到半個(gè)月后面哼,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡扫步,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年魔策,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片河胎。...
    茶點(diǎn)故事閱讀 40,096評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡闯袒,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出游岳,到底是詐尸還是另有隱情政敢,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評(píng)論 5 346
  • 正文 年R本政府宣布胚迫,位于F島的核電站喷户,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏访锻。R本人自食惡果不足惜褪尝,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,437評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望朗若。 院中可真熱鬧恼五,春花似錦、人聲如沸哭懈。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)遣总。三九已至睬罗,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間旭斥,已是汗流浹背容达。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,107評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留垂券,地道東北人花盐。 一個(gè)月前我還...
    沈念sama閱讀 48,308評(píng)論 3 372
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親算芯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子柒昏,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,037評(píng)論 2 355