目錄
卷積層的dropout
全鏈接層的dropout
Dropout的反向傳播
Dropout的反向傳播舉例
參考資料
在訓練過程當中,Dropout會讓輸出中的每一個值以機率keep_prob變爲原來的1/keep_prob倍,以機率1-keep_prob變爲0。也就是在每一輪的訓練中讓一些神經元隨機失活,從而讓每個神經元都有機會獲得更高效的學習,會讓網絡更加健壯,減少過擬合。網絡
在預測過程當中,再也不隨機失活,也不在擴大神經元的輸出。函數
卷積層的dropoutpost |
舉例:以一個2*4的二維張量爲例,參數keep_prob=0.5,其過程以下:學習
返回目錄spa
全鏈接層的dropout3d |
Dropout處理通常用在全鏈接神經網絡的全鏈接層或者卷積網絡後面的全鏈接層。blog
舉例:以全鏈接網絡的某一層爲例,參數keep_prob=0.5,每一輪訓練對隱藏層的輸出作dropout,其過程以下:深度學習
隱藏層的激活函數爲σ(x)=xtable
返回目錄class
Dropout的反向傳播 |
以一個迴歸案例爲例
其中z2神經元會失活,經過以下圖的鏈式法則發現,此輪更新過程當中,與失活神經元相連的邊上的權重都不會被訓練,由於他們的偏導數都=0.
Dropout的反向傳播舉例 |
舉例:dropout的機率p=0.5,激活函數爲σ(x)=x,網絡結構以下:
假設某樣本x的值是3,標籤是0.5,訓練一個迴歸模型,由於有dropout的存在,會出現不一樣的更新狀況,下面演示使用樣本x反覆訓練網絡,更新網絡的過程:
第一輪(假設dropout(z)=2z):
第二輪(假設dropout(z)=0):
第三輪(假設dropout(z)=2z):
參考資料 |
《圖解深度學習與神經網絡:從張量到TensorFlow實現》_張平