深度學習的優(yōu)化:理論和算法《Optimization for deep learning: theory and algorithms》論文閱讀筆記 -3 神經(jīng)網(wǎng)絡(luò)的特定問題

4.神經(jīng)網(wǎng)絡(luò)特定問題

沒有任何經(jīng)驗,訓(xùn)練神經(jīng)網(wǎng)絡(luò)來實現(xiàn)合理的準確度會變得非常有挑戰(zhàn)。人們通過幾十年的實驗和研究癣蟋,可以訓(xùn)練處非常大的神經(jīng)網(wǎng)絡(luò)剥险,并且有很多的tricks.

4.1 由于梯度消失或梯度爆炸導(dǎo)致收斂比較慢

已知的神經(jīng)網(wǎng)絡(luò)訓(xùn)練的困難時梯度消失或梯度爆炸聪蘸,通常的描述梯度消失或梯度爆炸是來源于信號處理的視角澡为。梯度下降可以視為反饋糾錯機制迅脐,最外層輸出將會傳遞回之前的層,并通過權(quán)重調(diào)整來降低誤差。

當網(wǎng)絡(luò)層數(shù)較多時剩失,權(quán)重的乘積會使得乘積的結(jié)果越來越大或越來越小。乘積到無窮大或0 時的情況就是梯度爆炸和梯度消失干厚。


企業(yè)微信截圖_40d31299-a4ee-4e6b-b372-2162509d9590.png

當w再0-0.8時會出現(xiàn)梯度消失礁蔗,大于1.2時會出現(xiàn)梯度爆炸。

通常來說梯度消失或爆炸會導(dǎo)致很大的condation number 會導(dǎo)致選擇合適的步長 變得困難设拟。

4.2 精細的初始化

接下來會討論在訓(xùn)練神經(jīng)網(wǎng)絡(luò)過程中三個主要的技巧慨仿。第一個是合理的初始化。
Naive initialization:

由于比較好的區(qū)域難以獲得纳胧,比較簡單的初始化方式包括以下幾種镰吆。

  1. 所有值都初始化為0,
  2. 選擇是只讓其中的一部分點設(shè)置為非0點
  3. 讓權(quán)重服從確定的隨機分布

上述的幾種初始化方式不一定總是有用跑慕,即使對某種特定的方式有用鼎姊,也不一定對所有的方式有用。

LeCun initialization

對使用sigmoid 激活函數(shù)相赁,使用初始化采用均值為0相寇,方差為1/d_{l-1} ,也就是方差為1/fan-in, fan-in 是傳入weight的節(jié)點數(shù)。

理論推導(dǎo)如下:考慮一個線性神經(jīng)元有m個input 分別是x1,x2...xm,y=\sum_jw_jx_i 假設(shè)input xi 均值為0 方差為1.那么y的均值為0 钮科,方差為\sqrt{\sum_{j=1}^mw_j^2} 唤衫。為了滿足y的方差也為1,選擇權(quán)重w的方差為1/m 期望為0绵脯。 上述的推導(dǎo)適用于現(xiàn)象的激活函數(shù)佳励,如果使用tanh的激活函數(shù)。tanh 在0附近和線性函數(shù)非常接近蛆挫。因此y=tanh(\sum_jw_jx_j) 的方差會近似等于1赃承。

Pre-training and Xavier initialization

Xavier initialization (or Glorot initialization )
E(W_{ij}^l)=0 ,var(W_{ij}^l)=\frac2{d_{l-1}+d_l}
或者有些時候被寫作
var(W_{ij}^l)=2/(fan-in+fan-out)
fan-in和fan-out是輸入和輸出的維度。

Xavier initialization 可以推導(dǎo)如下:

對于前向傳播悴侵,根據(jù)LeCun initialization 方差可以設(shè)置為1/fan-in瞧剖。對于線性網(wǎng)絡(luò)反向傳播。e^l=(W^{l+1})^Te^{l+1} 可免。方差可以設(shè)置為1/fan-out抓于。為了平衡正向傳播和反向傳播。最終的方差為2/(fan-in+fan-out)浇借。

Kaiming initialization

LeCun and Xacier initialization 是用于sigmoid activation functions捉撮。在接近0的地方梯度接近線性。 但是對于ReLu 這種激活函數(shù)妇垢,使用前面的兩種初始化方法就不說很合適巾遭。ReLu函數(shù)相當于把信號切了一半肉康,因次有人提出了新的初始化方法
E(W_{ij}^l)=0 ,var(W_{ij}^l)=\frac2{d_{in}}\ or \ var(W_{ij}^l)=\frac2{d_{out}}
Kaiming initialization 沒有像Xavier initialization 一樣平衡信號的輸入和輸出。但是最近有人提議集合平均的方法來初始化方差 var(w)=c\sqrt{(fan-in)*(fan-out)} ,其中c是常數(shù)灼舍。

Infinite width networks with general non-linear activations

Kaiming 初始化方法不能直接應(yīng)用到其他的非線性激活函數(shù)中迎罗。

Finite width networks.

Dynamical isometry.

Dynamical isometry for other networks.

Computing spectrum.

4.3 Normalization 方法

第二種方法是在算法的過程中進行normalization。這種方法可以視為初始化方法的擴展片仿,一種表達的方式是batch normalization纹安。這種方式現(xiàn)在已經(jīng)成為標準的技術(shù)。

數(shù)據(jù)準備:對于線性回歸砂豌,通常對數(shù)據(jù)進行標準化厢岂。使的特征的分布均值為0,方差為1阳距。來減少hessian matrix 的條件數(shù)塔粒。

Motivation of BatchNorm layerwise normalization

在比較深的神經(jīng)網(wǎng)絡(luò)中,希望每一層的網(wǎng)絡(luò)都服從標準正態(tài)分布筐摘。未來實現(xiàn)這個目標卒茬。比較naive的方法是在更新完梯度之后normalize matrix。

Essence of BatchNorm

Add BN layers to original neural network咖熟。原始的BatchNorm paper生成 BatchNorm 減少 internal covariate shift圃酵。但是新的觀點認為BatchNorm 減少了Lipschitz constants.有人認為BatchNorm 會允許更大的學習率。不使用BatchNorm的話馍管,會使得奇藝值更大郭赐。

Other normalization methods

對于Batch normalization.對每個mini-batch 規(guī)范化。但是如果mini-batches沒有相似的統(tǒng)計結(jié)果确沸。那么BN的效果不會很好捌锭。研究者提出了其他normalization方法。例如weight normalization, layer normalization, instance normalization, group normalization and spectral normalization 和switchable normalization.

這些normalization 方法可以分為兩大類罗捎。第一類 是對神經(jīng)網(wǎng)絡(luò)的輸出立即進行normalization.batchNorm normalize the rows. Layer normalization normalized the columns. Group normalization normalizes sub matrix that consists of a few columns and a few rows.

第二類是直接normalize weight metrics.

4.4 改變網(wǎng)絡(luò)結(jié)構(gòu)

第三種方式是改變網(wǎng)絡(luò)結(jié)果观谦。在2014年人們意識到網(wǎng)絡(luò)網(wǎng)絡(luò)層數(shù)越深。結(jié)果越好桨菜,因此增加網(wǎng)絡(luò)的深度變得非常普遍豁状。然而,即使使用非常好的初始化和BN雷激,訓(xùn)練超過20-30層的網(wǎng)絡(luò)也是非常困難替蔬。在VGG中,56層的網(wǎng)絡(luò)在訓(xùn)練集和測試集上的結(jié)果會比20 層的網(wǎng)絡(luò)更差屎暇。

ResNet: ResNet的關(guān)鍵是增加一個skip-connection在每層。
z^l=\phi(F(W^l,z^{l-1})+z^{l-1},\ l=1,2,...,L
F 代表原始的神經(jīng)網(wǎng)絡(luò)驻粟。

ResNet 實現(xiàn)了非常大的成功根悼。

其他結(jié)構(gòu):high-way netowrks, DenseNet and ResNext. 雖然這些結(jié)構(gòu)是人類設(shè)計的凶异,但最新的成功是直接使用神經(jīng)網(wǎng)絡(luò)的自動搜索。制動搜素包括神經(jīng)網(wǎng)絡(luò)的參數(shù)挤巡,State-of art architectures EfficientNet 可以實現(xiàn)更好的結(jié)果剩彬。

ResNet 的分析和初始化

skip connections 的好處有很多,包括更好的泛化能力矿卑,更好的信號傳播和更好的優(yōu)化landscape喉恋。在ResNet中,梯度消失和梯度爆炸的情況可以避免母廷,同時dynamic isometry可以在任何激活函數(shù)和初始化方法下實現(xiàn)轻黑。

4.5 訓(xùn)練ultra-deep 神經(jīng)網(wǎng)絡(luò)

有一些很少的方法來訓(xùn)練深度神經(jīng)網(wǎng)絡(luò):

  1. Proper initialization,proper architecture BatchNorm.
  2. 非常精細的調(diào)整初始化點。
  3. 修正初始化方法和ResNet

除了上述方法琴昆,還有一些其他的設(shè)計來實現(xiàn)更好的神經(jīng)網(wǎng)絡(luò)氓鄙,

  • 數(shù)據(jù)預(yù)處理方法比如數(shù)據(jù)增強,adversrial training

  • 優(yōu)化方法如(optimization algo,learning rate schedule , learning rate dacay)

  • 正則化方法(l2-norm,droo out)

  • 神經(jīng)網(wǎng)絡(luò)架構(gòu)业舍,更深抖拦,更廣,連接模式舷暮,

  • 激活函數(shù)(RELU,Leak ReLU, tanh,swish等态罪。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市下面,隨后出現(xiàn)的幾起案子向臀,更是在濱河造成了極大的恐慌,老刑警劉巖诸狭,帶你破解...
    沈念sama閱讀 222,000評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件券膀,死亡現(xiàn)場離奇詭異,居然都是意外死亡驯遇,警方通過查閱死者的電腦和手機芹彬,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,745評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來叉庐,“玉大人舒帮,你說我怎么就攤上這事《傅” “怎么了玩郊?”我有些...
    開封第一講書人閱讀 168,561評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長枉阵。 經(jīng)常有香客問我译红,道長,這世上最難降的妖魔是什么兴溜? 我笑而不...
    開封第一講書人閱讀 59,782評論 1 298
  • 正文 為了忘掉前任侦厚,我火速辦了婚禮耻陕,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘刨沦。我一直安慰自己诗宣,他們只是感情好,可當我...
    茶點故事閱讀 68,798評論 6 397
  • 文/花漫 我一把揭開白布想诅。 她就那樣靜靜地躺著召庞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪来破。 梳的紋絲不亂的頭發(fā)上篮灼,一...
    開封第一講書人閱讀 52,394評論 1 310
  • 那天,我揣著相機與錄音讳癌,去河邊找鬼穿稳。 笑死,一個胖子當著我的面吹牛晌坤,可吹牛的內(nèi)容都是我干的逢艘。 我是一名探鬼主播,決...
    沈念sama閱讀 40,952評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼骤菠,長吁一口氣:“原來是場噩夢啊……” “哼它改!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起商乎,我...
    開封第一講書人閱讀 39,852評論 0 276
  • 序言:老撾萬榮一對情侶失蹤央拖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后鹉戚,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體鲜戒,經(jīng)...
    沈念sama閱讀 46,409評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,483評論 3 341
  • 正文 我和宋清朗相戀三年抹凳,在試婚紗的時候發(fā)現(xiàn)自己被綠了遏餐。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,615評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡赢底,死狀恐怖失都,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情幸冻,我是刑警寧澤粹庞,帶...
    沈念sama閱讀 36,303評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站洽损,受9級特大地震影響庞溜,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜趁啸,卻給世界環(huán)境...
    茶點故事閱讀 41,979評論 3 334
  • 文/蒙蒙 一强缘、第九天 我趴在偏房一處隱蔽的房頂上張望督惰。 院中可真熱鬧不傅,春花似錦旅掂、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,470評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至崖疤,卻和暖如春秘车,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背劫哼。 一陣腳步聲響...
    開封第一講書人閱讀 33,571評論 1 272
  • 我被黑心中介騙來泰國打工叮趴, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人权烧。 一個月前我還...
    沈念sama閱讀 49,041評論 3 377
  • 正文 我出身青樓眯亦,卻偏偏與公主長得像,于是被迫代替她去往敵國和親般码。 傳聞我的和親對象是個殘疾皇子妻率,可洞房花燭夜當晚...
    茶點故事閱讀 45,630評論 2 359

推薦閱讀更多精彩內(nèi)容