task6

批量歸一化和殘差網(wǎng)絡(luò)

為什么要做標(biāo)準(zhǔn)化處理

深層神經(jīng)網(wǎng)絡(luò)中,中間某一層的輸入是其之前的神經(jīng)層的輸出。因此,其之前的神經(jīng)層的參數(shù)變化會(huì)導(dǎo)致其輸入的分布發(fā)生較大的差異。利用隨機(jī)梯度下降更新參數(shù)時(shí),每次參數(shù)更新都會(huì)導(dǎo)致網(wǎng)絡(luò)中間每一層的輸入的分布發(fā)生改變。越深的層,其輸入分布會(huì)改變的越明顯。

內(nèi)部協(xié)變量偏移(Internal Covariate Shift):每一層的參數(shù)在更新過(guò)程中,會(huì)改變下一層輸入的分布,神經(jīng)網(wǎng)絡(luò)層數(shù)越多,表現(xiàn)得越明顯,(就比如高層大廈底部發(fā)生了微小偏移,樓層越高,偏移越嚴(yán)重。)

為了解決內(nèi)部協(xié)變量偏移問(wèn)題,就要使得每一個(gè)神經(jīng)層的輸入的分布在訓(xùn)練過(guò)程要保持一致。

深度學(xué)習(xí)——逐層歸一化(BN,LN)

既然有了上面兩個(gè)問(wèn)題,那我們的解決思路就很簡(jiǎn)單,一方面,我們提出的normalization方法要能夠簡(jiǎn)化計(jì)算過(guò)程;另一方面又需要經(jīng)過(guò)規(guī)范化處理后讓數(shù)據(jù)盡可能保留原始的表達(dá)能力。于是就有了簡(jiǎn)化+改進(jìn)版的白化——Batch Normalization。

既然白化計(jì)算過(guò)程比較復(fù)雜,那我們就簡(jiǎn)化一點(diǎn),比如我們可以嘗試單獨(dú)對(duì)每個(gè)特征進(jìn)行normalizaiton就可以了,讓每個(gè)特征都有均值為0,方差為1的分布就OK。

另一個(gè)問(wèn)題,既然白化操作減弱了網(wǎng)絡(luò)中每一層輸入數(shù)據(jù)表達(dá)能力,那我就再加個(gè)線性變換操作,讓這些數(shù)據(jù)再能夠盡可能恢復(fù)本身的表達(dá)能力就好了。

因此,基于上面兩個(gè)解決問(wèn)題的思路,作者提出了Batch Normalization,下一部分來(lái)具體講解這個(gè)算法步驟。

Batch Normalization(BN,批量歸一化)

卷積層做批量歸一化

位置:卷積計(jì)算之后、應(yīng)?激活函數(shù)之前。

如果卷積計(jì)算輸出多個(gè)通道,我們需要對(duì)這些通道的輸出分別做批量歸一化,且每個(gè)通道都擁有獨(dú)立的拉伸和偏移參數(shù)。 計(jì)算:對(duì)單通道,batchsize=m,卷積計(jì)算輸出=pxq 對(duì)該通道中m×p×q個(gè)元素同時(shí)做批量歸一化,使用相同的均值和方差。

ResNet

詳解殘差網(wǎng)絡(luò)

殘差塊(Residual Block)

恒等映射:
左邊:f(x)=x;
右邊:f(x)-x=0 (易于捕捉恒等映射的細(xì)微波動(dòng))

image

評(píng)論區(qū)

1.做完batach nornamlization后為何又拉伸/偏移?
2.bn有理論證明效果為何好?
我簡(jiǎn)述下我的理解,順便梳理出BN提出的前因后果,算是對(duì)于兩個(gè)問(wèn)題的統(tǒng)一回答。
不一定對(duì),歡迎大家討論。
機(jī)器學(xué)習(xí)模型中對(duì)輸入進(jìn)行的z-scoer標(biāo)準(zhǔn)化
(處理后的任意一個(gè)特征在數(shù)據(jù)集中所有樣本上的均值為0、標(biāo)準(zhǔn)差為1。)
標(biāo)準(zhǔn)化處理輸入數(shù)據(jù)使各個(gè)特征的分布相近,盡可能消除量綱和數(shù)據(jù)波動(dòng)帶來(lái)的影響。
從而能讓模型cover住更多情況,獲得性能提升。
借鑒這個(gè)思想,各種深度學(xué)習(xí)CNN模型也開(kāi)始對(duì)輸入圖像進(jìn)行類(lèi)似的標(biāo)準(zhǔn)化。
然而對(duì)于深度模型來(lái)說(shuō),僅僅是對(duì)輸入進(jìn)行標(biāo)準(zhǔn)化是不夠的,因?yàn)槟P偷姆蔷€性擬合能力實(shí)在太強(qiáng)了。
輸入可能只發(fā)生比較微弱的變化,就會(huì)導(dǎo)致中間的輸出的取值不太穩(wěn)定,波動(dòng)比較劇烈。
因此
Google的大佬就提出了BN這個(gè)想法,《Batch Normalization Accelerating Deep Network Training by Reducing Internal Covariate Shift》,動(dòng)機(jī)是,中間的輸出層是否可以進(jìn)行標(biāo)準(zhǔn)化?
對(duì)中間層進(jìn)行標(biāo)準(zhǔn)化面臨的第一個(gè)問(wèn)題就是,你無(wú)法像對(duì)輸入進(jìn)行標(biāo)準(zhǔn)化一樣上來(lái)就把全局的均值和方差都計(jì)算出來(lái)。因?yàn)殡S著一個(gè)batch一個(gè)batch的訓(xùn)練,中間層的輸出在不斷發(fā)生變化,因此批量歸一化的具體做法是:
利用小批量上的均值和標(biāo)準(zhǔn)差,不斷調(diào)整神經(jīng)網(wǎng)絡(luò)中間輸出,從而使整個(gè)神經(jīng)網(wǎng)絡(luò)在各層的中間輸出的數(shù)值更穩(wěn)定。
回到我們關(guān)心的問(wèn)題,按照上面的操作,我們相當(dāng)于對(duì)中間層也進(jìn)行了z-score的標(biāo)準(zhǔn)化。
但是如此復(fù)雜的擬合函數(shù),我們顯然無(wú)法做出均值0標(biāo)準(zhǔn)差1的標(biāo)準(zhǔn)化結(jié)果就是最優(yōu)的這樣的假設(shè),因此不妨加入兩個(gè)可學(xué)習(xí)的參數(shù)再對(duì)標(biāo)準(zhǔn)化后的結(jié)果進(jìn)行拉伸/偏移。
BN為何效果好?我理解主要有兩點(diǎn)。
一個(gè)是前面提到的標(biāo)準(zhǔn)化帶來(lái)的泛化性能的提升。
還有一點(diǎn)就是它捎帶著一定程度緩解了梯度消失的問(wèn)題,因?yàn)樗堰M(jìn)到激活函數(shù)前的輸入X拉回了梯度變化比較顯著的區(qū)域。

凸優(yōu)化

優(yōu)化與深度學(xué)習(xí)的區(qū)別

盡管優(yōu)化方法可以最小化深度學(xué)習(xí)中的損失函數(shù)值,但本質(zhì)上優(yōu)化方法達(dá)到的目標(biāo)與深度學(xué)習(xí)的目標(biāo)并不相同。

  • 優(yōu)化方法目標(biāo):訓(xùn)練集損失函數(shù)值
  • 深度學(xué)習(xí)目標(biāo):測(cè)試集損失函數(shù)值(泛化性)

Hessian Matrix

有好幾種譯法,海森/黑森矩陣等等。海森矩陣與最優(yōu)化問(wèn)題的聯(lián)系如下:

黑塞矩陣(海森矩陣,Hessian Matrix)與牛頓法最優(yōu)化

鞍點(diǎn)是對(duì)所有自變量一階偏導(dǎo)數(shù)都為0,且Hessian矩陣特征值有正有負(fù)的點(diǎn)

Hessian矩陣判斷:

  1. 如果是正定(都為正)矩陣,則臨界點(diǎn)處是一個(gè)局部極小值
  2. 如果是負(fù)定(都為負(fù))矩陣,則臨界點(diǎn)處是一個(gè)局部極大值
  3. 如果是不定(有正有負(fù))矩陣,則臨界點(diǎn)處不是極值(鞍點(diǎn))

Jensen不等式

函數(shù)值的期望大于期望的函數(shù)值

\sum_{i} \alpha_{i} f\left(x_{i}\right) \geq f\left(\sum_{i} \alpha_{i} x_{i}\right) \text { and } E_{x}[f(x)] \geq f\left(E_{x}[x]\right)

有限制條件問(wèn)題的最優(yōu)化

  • 拉格朗日乘子法
  • 懲罰項(xiàng)
  • 投影

梯度下降

共軛梯度法

梯度下降法和共軛梯度法有何異同?

推薦回答一,回答二可以用來(lái)理解原理

動(dòng)態(tài)學(xué)習(xí)率

深度學(xué)習(xí): 學(xué)習(xí)率 (learning rate)

作業(yè)題

梯度下降:時(shí)間復(fù)雜度O(n)、樣本量N

隨機(jī)梯度下降:時(shí)間復(fù)雜度O(1)、樣本量1

小批量隨機(jī)梯度下降:1<樣本量<N

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容