14 數(shù)值穩(wěn)定性 + 模型初始化和激活函數(shù)【動(dòng)手學(xué)深度學(xué)習(xí)v2】

數(shù)值穩(wěn)定性
神經(jīng)網(wǎng)絡(luò)的梯度

- t表示第t層
- h(t-1)表示第t-1層的輸出
- 所有的h都是向量,向量關(guān)于向量的導(dǎo)數(shù)是一個(gè)矩陣
- 太多的矩陣乘法會(huì)導(dǎo)致:

舉例:MLP

- 梯度爆炸:

- 梯度爆炸所帶來(lái)的問(wèn)題

- 16位浮點(diǎn)數(shù)最大的問(wèn)題是它的數(shù)值區(qū)間比較小
- 不是不能訓(xùn)練,只是對(duì)于學(xué)習(xí)率的調(diào)整比較難調(diào)
- 梯度消失:


- 梯度消失的問(wèn)題

- 對(duì)頂部的影響比較小,因?yàn)樽鼍仃嚦朔ǖ拇螖?shù)比較少
- 僅僅頂部層的訓(xùn)練的較好,無(wú)法讓神經(jīng)網(wǎng)絡(luò)更深,就等價(jià)于是淺層的神經(jīng)網(wǎng)絡(luò)
總結(jié)

- 盡量避免梯度過(guò)大或者過(guò)小
讓訓(xùn)練更加穩(wěn)定

合理的權(quán)重初始化和激活函數(shù)
讓每一層的方差是一個(gè)常數(shù)

- E:均值
- Var:方差
權(quán)重初始化

- 在訓(xùn)練開(kāi)始的時(shí)候更容易有數(shù)值不穩(wěn)定

- iid:independent identically distributed,獨(dú)立同分布
- 前一層的輸出(當(dāng)前層的輸入)和當(dāng)前層的權(quán)重是相互獨(dú)立的
- 當(dāng)X和Y相互獨(dú)立時(shí), E(XY)=E(X)E(Y)

- 輸入方差和輸出方差相同,則可以推出紫色圈出的內(nèi)容

Xavier初始化

- 第一個(gè)條件是使得每次前向輸出的方差是一致的
- 第二個(gè)條件是使得梯度是一樣的
- 除非輸入等于輸出,否則無(wú)法同時(shí)滿足這兩個(gè)條件
- γt:第t層的權(quán)重的方差
- 給定當(dāng)前層的輸入和輸出的大小,就能確定權(quán)重所要滿足的方差的大小
- Xavier是常用的權(quán)重初始化方法:權(quán)重初始化的時(shí)候的方差是根據(jù)輸入和輸出維度來(lái)定的
在有激活函數(shù)的情況下

- 激活函數(shù)的輸入和輸出的方差有a^2倍的關(guān)系,激活函數(shù)如果將值放大a倍的話,它的方差會(huì)被放大a^2倍
- 如果要使激活函數(shù)不改變輸入輸出的方差,則a=1:為了使得前向輸出的均值和方差都是均值為0,方差為固定的話,激活函數(shù)只能是β=0,a=1,即激活函數(shù)必須是等于本身


- 在0點(diǎn)附近的時(shí)候tanh和relu基本滿足f(x)=x的關(guān)系,sigmoid需要做出調(diào)整
- 圖中藍(lán)色曲線是經(jīng)過(guò)調(diào)整之后的sigmoid激活函數(shù),調(diào)整之后就能夠解決sigmoid激活函數(shù)本身所存在的一些問(wèn)題
總結(jié)

- 使得每一層的輸出和每一層的梯度都是均值為0,方差為固定數(shù)的隨機(jī)變量
- 權(quán)重初始化可以使用Xavier,激活函數(shù)可以使用tanh和relu,如果選擇sigmoid的話需要進(jìn)行調(diào)整
----to be continued----
標(biāo)簽: