deep learning初學者,最近在看一些GAN方面的論文,在生成器中通常會用到skip conections,於是就上網查了一些skip connection的博客,雖然東西都是人家的,但是出於學習的目的,還是有必要自行總結下。
skip connections中文翻譯叫跳躍連接,通常用於殘差網絡中。
它的作用是:在比較深的網絡中,解決在訓練的過程中梯度爆炸和梯度消失問題。
那么什么是殘差塊呢?
這個就是殘差快,其實就是在神經網絡前向傳播的時候,考慮第l,l+1,l+2層,a[l]代表第l層的輸出,而在一般的神經網絡中,需要經過l+1層才能到達l+2層,而殘差塊中直接將a[l]傳出到l+2層,使得a[l+2] = g(z[l+2]+a[l]),其實就是在a[l+2]個激活單元除了與第l+2層的z相關,還與第l層的a相關,這就是跳躍連接。
殘差塊的原理是什么呢?
一個很深的網絡,加入殘差塊后公示為:
a[l+2]=g(z[l+2]+a[l])=g(w[l+2]*a[l+1]+b[l+2]+a[l])
假設梯度消失,則就是w[l+2]=0,此時a[l+2]=g(a[l]),相當於把第l層的輸出直接經過relu傳輸出去,則避免了梯度消失的問題。
參考鏈接: