NLP 神經網(wǎng)絡訓練慎用 Adam 優(yōu)化器

AllenNLP 在 EMNLP 2018 的演講 PPT 《Writing Code for NLP Research》中提到在 NLP 的神經網(wǎng)絡中使用 sparse 版的 Adam 優(yōu)化器替代普通的 Adam 優(yōu)化器。
使用 sparse 版的 Adam 優(yōu)化器.png

NLP 模型的特點

通常自然語言處理模型的輸入是非常稀疏的婆硬。對于包含幾十萬上百萬詞的詞表习贫,在訓練的每個 Batch 中能出現(xiàn)的獨立詞數(shù)不超過幾萬個。也就是說兄淫,在每一輪梯度計算過程中屯远,只有幾萬個詞的 embedding 的梯度是非 0 的,其它 embedding 的梯度都是 0捕虽。

Adam 優(yōu)化器的特點

Adam 優(yōu)化器可以說是目前使用最廣泛慨丐、收斂速度較快且收斂過程較穩(wěn)定的優(yōu)化器。Adam 的計算公式如圖所示泄私》拷遥可以看到公式中梯度的計算使用了動量原理,每一輪用于梯度下降的梯度是當前計算的真實梯度與上一輪用于梯度下降的梯度的加權和晌端。這樣動量的引入可以防止訓練時產生震蕩捅暴。Adam 優(yōu)化器的學習率對于不同參數(shù)也是不同的,由該參數(shù)歷史每一輪的真實梯度的大小決定咧纠。好處是對于 NLP 這種輸入極度稀疏且輸入特征極度不平衡(例如整個預料庫中“我”這樣的詞經常出現(xiàn)蓬痒,而“拉姆塞”這樣的詞只出現(xiàn)幾次)的任務,學習率是自適應的漆羔,一些在一次訓練 epoch 中只更新幾次的 embedding梧奢,在訓練后期還是會有較大的學習率狱掂。
Adam 計算公式.png

問題

NLP 輸入稀疏的特點與 Adam 使用動量計算梯度的特點相結合就引入了麻煩。每一輪更新參數(shù)時亲轨,只有極少數(shù) embedding 的梯度是非 0 的趋惨,大部分 embedding 的梯度是 0 即上圖公式中的 gt 是 0。但是惦蚊,計算了動量之后器虾,這些原本梯度都應該是 0 的 embedding 有了非零梯度 mt 用于梯度下降更新。想象一個極端的例子蹦锋,“拉姆塞”這個詞在一個 epoch 中只在第一個 batch 出現(xiàn)了兆沙,于是第一個 batch 計算了“拉姆塞”這個 embedding 的真實梯度 g0 用于更新參數(shù),在以后的每個 batch 中雖然“拉姆塞”這個詞沒有出現(xiàn)過晕粪,Adam 都會計算它的動量梯度 mt挤悉,并用于更新“拉姆塞”這個 embedding渐裸,實際上方向與 g0 完全相同巫湘,只是每一輪做一次 β1 倍的衰減。這樣的做法就相當于對這些出現(xiàn)次數(shù)較少的低頻詞的 embedding昏鹃,每次梯度下降的等效學習率是非常大的尚氛,容易引起類似過擬合的問題。

解決方法

知道了問題的根節(jié)洞渤,解決方法就很簡單了阅嘶,每輪迭代只更新這個 batch 中出現(xiàn)過的詞的 embedding 即可。TensorFlow 中可以使用 tf.contrib.opt.LazyAdamOptimizer载迄,也可參考 https://www.zhihu.com/question/265357659/answer/580469438 的實現(xiàn)讯柔。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市护昧,隨后出現(xiàn)的幾起案子魂迄,更是在濱河造成了極大的恐慌,老刑警劉巖惋耙,帶你破解...
    沈念sama閱讀 218,858評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捣炬,死亡現(xiàn)場離奇詭異,居然都是意外死亡绽榛,警方通過查閱死者的電腦和手機湿酸,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來灭美,“玉大人推溃,你說我怎么就攤上這事〗旄” “怎么了美莫?”我有些...
    開封第一講書人閱讀 165,282評論 0 356
  • 文/不壞的土叔 我叫張陵页眯,是天一觀的道長。 經常有香客問我厢呵,道長窝撵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,842評論 1 295
  • 正文 為了忘掉前任襟铭,我火速辦了婚禮碌奉,結果婚禮上,老公的妹妹穿的比我還像新娘寒砖。我一直安慰自己赐劣,他們只是感情好,可當我...
    茶點故事閱讀 67,857評論 6 392
  • 文/花漫 我一把揭開白布哩都。 她就那樣靜靜地躺著魁兼,像睡著了一般。 火紅的嫁衣襯著肌膚如雪漠嵌。 梳的紋絲不亂的頭發(fā)上咐汞,一...
    開封第一講書人閱讀 51,679評論 1 305
  • 那天,我揣著相機與錄音儒鹿,去河邊找鬼化撕。 笑死,一個胖子當著我的面吹牛约炎,可吹牛的內容都是我干的植阴。 我是一名探鬼主播,決...
    沈念sama閱讀 40,406評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼圾浅,長吁一口氣:“原來是場噩夢啊……” “哼掠手!你這毒婦竟也來了?” 一聲冷哼從身側響起狸捕,我...
    開封第一講書人閱讀 39,311評論 0 276
  • 序言:老撾萬榮一對情侶失蹤喷鸽,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后府寒,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體魁衙,經...
    沈念sama閱讀 45,767評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年株搔,在試婚紗的時候發(fā)現(xiàn)自己被綠了剖淀。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,090評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡纤房,死狀恐怖纵隔,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤捌刮,帶...
    沈念sama閱讀 35,785評論 5 346
  • 正文 年R本政府宣布碰煌,位于F島的核電站,受9級特大地震影響绅作,放射性物質發(fā)生泄漏芦圾。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,420評論 3 331
  • 文/蒙蒙 一俄认、第九天 我趴在偏房一處隱蔽的房頂上張望个少。 院中可真熱鬧,春花似錦眯杏、人聲如沸夜焦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,988評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽茫经。三九已至,卻和暖如春萎津,著一層夾襖步出監(jiān)牢的瞬間卸伞,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,101評論 1 271
  • 我被黑心中介騙來泰國打工姜性, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瞪慧,地道東北人髓考。 一個月前我還...
    沈念sama閱讀 48,298評論 3 372
  • 正文 我出身青樓部念,卻偏偏與公主長得像,于是被迫代替她去往敵國和親氨菇。 傳聞我的和親對象是個殘疾皇子儡炼,可洞房花燭夜當晚...
    茶點故事閱讀 45,033評論 2 355

推薦閱讀更多精彩內容