1. 程式人生 > >深度學習--採用ReLU解決消失的梯度問題(vanishing gradient problem)

深度學習--採用ReLU解決消失的梯度問題(vanishing gradient problem)

消失的梯度問題(vanishing gradient problem):

更深層的神經網路可以學到不同抽象程度的概念,但隨著深度的增加不同層的學習速率會顯著不同,接近輸出層的學習速率比較合適時前面的層學習太慢,有時被困住.

產生vanishing gradient problem的原因

假設每層只有一個神經元:

這裡寫圖片描述
啟用函式選sigmoid函式
神經元j輸入輸出分別為:

zj=wjaj1+bj

aj=σ(zj)

則,對b1的一個小變化引起C的變化為:

Cb1ΔCΔb1

b1的變化引起a1的變化為:

a1=σ(z1)=σ(w1a0+b1)

Δa1w1a0+

b1b1Δb1=σ(z1)Δb1

a1的變化引起z2的變化為:

z2=w2a1+b2

Δz2z2a1Δa1=w2Δa1

把以上a1的變化代入z2的變壞:

Δa1σ(z1)w2Δb1

依次類推至z3 z4的變化一直到輸出層,得到:

ΔCσ(z1)w2σ(z2)w3σ(z3)w4σ(z4)Ca4Δb1

等式兩邊同時除以b1的變化,得到:

Cb1σ(z1)w2σ(z2)w3σ(z3)w4σ