Neil Zhu,簡書ID Not_GOD,University AI 創(chuàng)始人 & Chief Scientist,致力于推進世界人工智能化進程。制定并實施 UAI 中長期增長戰(zhàn)略和目標,帶領(lǐng)團隊快速成長為人工智能領(lǐng)域最專業(yè)的力量。
作為行業(yè)領(lǐng)導者,他和UAI一起在2014年創(chuàng)建了TASA(中國最早的人工智能社團), DL Center(深度學習知識中心全球價值網(wǎng)絡(luò)),AI growth(行業(yè)智庫培訓)等,為中國的人工智能人才建設(shè)輸送了大量的血液和養(yǎng)分。此外,他還參與或者舉辦過各類國際性的人工智能峰會和活動,產(chǎn)生了巨大的影響力,書寫了60萬字的人工智能精品技術(shù)內(nèi)容,生產(chǎn)翻譯了全球第一本深度學習入門書《神經(jīng)網(wǎng)絡(luò)與深度學習》,生產(chǎn)的內(nèi)容被大量的專業(yè)垂直公眾號和媒體轉(zhuǎn)載與連載。曾經(jīng)受邀為國內(nèi)頂尖大學制定人工智能學習規(guī)劃和教授人工智能前沿課程,均受學生和老師好評。
https://arxiv.org/abs/1607.06450
作者
Jimmy Lei Ba, Jamie Ryan Kiros, University of Toronto
Geoffrey E. Hinton, University of Toronto & Google
摘要
訓練目前性能最好的深度神經(jīng)網(wǎng)絡(luò)計算代價高昂. 一種減少訓練時間的方法是規(guī)范化神經(jīng)元的激活值. 近期引入的批規(guī)范化(batch normalisation)技術(shù)對一個訓練樣本批量集使用了求和的輸入分布來計算均值和方差,然后用這兩個來規(guī)范化那個神經(jīng)元在每個訓練樣本的求和輸入. 這個方法顯著減少了前驅(qū)神經(jīng)網(wǎng)絡(luò)的訓練時間. 然而,批規(guī)范化的效果依賴于 minibatch 的大小,而且對于循環(huán)神經(jīng)網(wǎng)絡(luò) RNN 無法下手. 本文將批規(guī)范化轉(zhuǎn)換成層規(guī)范化——通過計算在一個訓練樣本上的一層上的神經(jīng)元的求和輸入的均值和方差.
像批規(guī)范化那樣,我們同樣也給每個神經(jīng)元自身的適應(yīng)偏差 bias 和增益 gain,這兩個東西在規(guī)范化后非線性變換前使用. 和批規(guī)范化不同的是,層規(guī)范化在訓練和測試時執(zhí)行同樣的計算. 另外也能夠通過在每個時間步分別計算規(guī)范化統(tǒng)計信息從而直接應(yīng)用在循環(huán)神經(jīng)網(wǎng)絡(luò)上. 實驗結(jié)果表明,層規(guī)范化和之前的技術(shù)相比可以顯著降低訓練時間.
1 引言
主要介紹了一下歷史,以及層規(guī)范化在 RNN 上的表現(xiàn)好過其他技術(shù)。
2 背景
這里雖然看起來嚇人,但使用的時候用的卻是從當前的 mini-batch 中采樣出來的實驗樣本.
3 層規(guī)范化
(2) 和 (3) 中的不同很容易看出,在層規(guī)范化中,所有的隱藏元共享同樣的規(guī)范化項 μ 和 σ,不同的訓練樣本就會有不同的規(guī)范化項.
3.1 層規(guī)范化的循環(huán)神經(jīng)網(wǎng)絡(luò)
標準的 RNN 中,求和輸入的平均量度在每個時間步會增長或者縮小,從而產(chǎn)生爆炸或者消逝的梯度現(xiàn)象. 在層規(guī)范化 RNN 中,規(guī)范化項會使得模型對所有求和輸入的重整化操作保持不變,這可以得到更加穩(wěn)定的隱藏層之間的動力特性.
4 相關(guān)工作
批規(guī)范化技術(shù)此前已經(jīng)被擴展到了 RNN 上 [Laurent et al., 2015,Amodei et al., 2015, Cooijmans et al., 2016]. [Cooijmans et al., 2016] 的工作說明循環(huán)批規(guī)范化的最佳表現(xiàn)是通過保持每個時間步的獨立規(guī)范化統(tǒng)計量達成的. 作者展示了初始化循環(huán)批規(guī)范化層中增益 gain 參數(shù)為 0.1 在模型最終的性能上起到了重要的作用. 我們的工作也和權(quán)重規(guī)范化關(guān)系緊密[Salimans and Kingma, 2016]. 在權(quán)重規(guī)范化中,并沒有使用方差,而是采用了輸入權(quán)重的 L2 范數(shù)來對求和輸入進行規(guī)范化進入神經(jīng)元. 使用期望統(tǒng)計量應(yīng)用權(quán)重規(guī)范化或者批規(guī)范化都等價于對原始前驅(qū)神經(jīng)網(wǎng)絡(luò)進行了一個不同的參數(shù)化. 在 ReLU 網(wǎng)絡(luò)中的重參數(shù)化技術(shù)在路徑規(guī)范化 SGD [Neyshabur et al., 2015] 有了探討. 我們的層規(guī)范化技術(shù)不是一個重參數(shù)化方法. 所以它和其他方法相比有著獨特的不變性,這個在后面再詳解.
5 分析
這里是對不同規(guī)范化方法的不變形的比對.
5.1 權(quán)重和數(shù)據(jù)變換的不變性
層規(guī)范化和批規(guī)范化技術(shù)及權(quán)重規(guī)范化技術(shù)相關(guān). 盡管他們的規(guī)范化使用的標量計算方式不同,但是這些方法可以歸類成規(guī)范化求和輸入 ai 通過兩個標量 μ 和 σ. 同樣還要在規(guī)范化之后對每個神經(jīng)元學習適應(yīng)偏差 b 和增益 g
注意,對層規(guī)范化和批規(guī)范化,μ 和 σ 通過方程 (2) 和 (3) 計算得出. 在權(quán)重規(guī)范化中, μ 為 0 和 σ = ||w||2.
從上表 1 中我們可以看到不同的規(guī)范化方法的不變性情況.
5.2 學習中的參數(shù)空間幾何特性
前面講完了模型預測在重中心定位和重比例下的不變性. 然而,學習在不同的參數(shù)化下表現(xiàn)差別很大,甚至是那些有著相同基本函數(shù)的模型. 本節(jié)通過參數(shù)空間的幾何和流形來分析學習行為. 我們說明規(guī)范化標量 σ 可以隱式地降低學習率,讓學習更加穩(wěn)定.
5.2.1 黎曼度量
在統(tǒng)計模型中可學習的參數(shù)會形成一個平滑的流形,包含了模型所有可能的輸入-輸出關(guān)系. 對于輸出是一個概率分布的模型來說,一種自然度量兩個點在流形上分隔(seperation) 的方法就是他們模型輸出分布的 Kullback-Leibler 散度. 在 KL 散度度量下,參數(shù)空間就是一個黎曼流形.
黎曼流形的曲率由黎曼度量完全刻畫,其二次形式表示為 ds2. 這是在參數(shù)空間的點處切線空間的無窮小距離. 直覺上說,它衡量了在參數(shù)空間中模型輸出沿著一個切線方向的變動. KL 下黎曼度量此前有過研究[Amari,1998],并證明可以在二階泰勒展開下使用 Fisher 信息矩陣很好地近似:
實驗部分沒有加上,主要是各種 RNN 上超過之前的方法.
可能有用的參考:
https://www.wikiwand.com/en/Fisher_information
實現(xiàn)參考:
https://github.com/LeavesBreathe/tensorflow_with_latest_papers/blob/master/normalization_ops_modern.py