日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

2020-5-22 吴恩达-改善深层NN-w1 深度学习的实用层面(1.7 理解 Dropout--压缩权重/分层设置keep-prob)

發布時間:2023/12/8 pytorch 60 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2020-5-22 吴恩达-改善深层NN-w1 深度学习的实用层面(1.7 理解 Dropout--压缩权重/分层设置keep-prob) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.視頻網站:mooc慕課https://mooc.study.163.com/university/deeplearning_ai#/c
2.詳細筆記網站(中文):http://www.ai-start.com/dl2017/
3.github課件+作業+答案:https://github.com/stormstone/deeplearning.ai

1.7 理解 Dropout Why does drop out work?

  • 1.單個神經元實施Dropout
  • 2.NN實施Dropout
  • 3.兩個使用Dropout的經驗

Dropout可以隨機刪除網絡中的神經單元,他為什么可以通過正則化發揮如此大的作用呢?

上一節課已經介紹過,Dropout可以隨機刪除網絡中的神經單元,每次迭代后,NN都比以前更小。采用一個較小的NN和使用正則化的效果是一樣的。

1.單個神經元實施Dropout

我們從單個神經元入手。

如上圖,這個單元的工作就是輸入并生成一些有意義的輸出。
現在通過dropout,該單元的輸入幾乎被消除,有時這兩個單元會被刪除,有時會刪除其它單元。

也就是說,上圖中中間的單元,它不能依靠任何特征,因為特征都有可能被隨機清除,或者說該單元的輸入都可能被隨機清除。

我不愿意把所有賭注都放在一個節點上,不愿意給任何一個輸入加上太多權重,因為它可能會被刪除。因此該單元將通過這種方式積極地傳播開,并為單元的四個輸入增加一點權重,通過傳播所有權重,dropout將產生收縮權重的平方范數的效果,和我們之前講過的正則化類似,實施dropout的結果是它會壓縮權重,并完成一些預防過擬合的外層正則化。

事實證明,dropout是一種正則化的替代形式。
而L2對不同權重的衰減是不同的,它取決于倍增的激活函數的大小。

總結
dropout的功能類似于L2正則化,與L2正則化不同的是,被應用的方式不同,dropout也會有所不同,甚至更適用于不同的輸入范圍。

2.NN實施Dropout

上圖是一個有3個輸入特征的網絡,每層分別由7,7,3,2,1個節點。有一個要選擇的參數是keep-prob,它代表每一層上保留單元的概率。
實施dropout的另一個細節是,不同層的keep-prob也可以變化。

  • 第一層權重矩陣W[1]維度3x7
  • 第二層權重矩陣W[2]維度7x7
  • 第三層權重矩陣W[3]維度7x3
  • 第四層權重矩陣W[4]維度3x2
  • 第五層權重矩陣W[5]維度2x1

W[2]是最大的權重矩陣,因為它擁有最大參數集,即7×7。

  • 為了預防矩陣過擬合,第二層的keep-prob值應該相對較低,假設是0.5。
  • 對于其它層,過擬合的程度可能沒那么嚴重,它們的keep-prob值可能高一些,可能是0.7。
  • 如果在某一層,我們不必擔心其過擬合的問題,那么keep-prob可以為1。這意味著保留所有單元,并且不在這一層使用dropout。

keep-prob設置如下圖

再次強調一下,對于有可能出現過擬合,且含有諸多參數的層,我們可以把keep-prob設置成比較小的值,以便應用更強大的dropout。有點像在處理L2正則化的正則化參數λ\lambdaλ,我們嘗試對某些層施行更多正則化。

對于輸入層,或者說第零層,從技術上講,我們也可以應用dropout,這樣有機會刪除一個或多個輸入特征,雖然現實中我們通常不這么做。

keep-prob=1,是非常常用的輸入值,當然也可以是0.9,但是消除一半的輸入特征是不太可能的。通常情況下,即使你對輸入層應用dropout,那keep-prob也會接近于1。

總結

如果你擔心某些層比其它層更容易發生過擬合

  • 一個方案是,把某些層的keep-prob值設置得比其它層更低,缺點是為了使用交叉驗證,你要搜索更多的超級參數
  • 另一種方案是,在一些層上應用dropout,而有些層不用dropout,應用dropout的層只含有一個超級參數,就是keep-prob

3.兩個使用Dropout的經驗

dropout有兩個實施過程中的經驗。

  • 經驗1

實施dropout,在計算機視覺領域有很多成功的第一次。
計算視覺中的輸入量非常大,輸入太多像素,以至于沒有足夠的數據,所以dropout在計算機視覺中應用得比較頻繁。有些計算機視覺研究人員非常喜歡用它,幾乎成了默認的選擇。

但要牢記一點,dropout是一種正則化方法,它有助于預防過擬合,因此除非算法過擬合,不然不要使用dropout。所以dropout在其它領域應用得比較少。

  • 經驗2

dropout一大缺點就是J代價函數不再被明確定義,每次迭代,都會隨機移除一些節點,所以很難double check梯度下降的性能。定義明確的代價函數每次迭代后都會下降,因為要優化的代價函數J實際上并沒有明確定義,或者說在某種程度上很難計算,所以我們失去了調試工具來繪制梯度下降曲線。

我通常會關閉dropout函數,將keep-prob的值設為1,運行代碼,確保J函數單調遞減,然后再打開dropout函數。雖然我們并沒有關于其他方法性能的數據統計,我覺得你也可以嘗試其它方法,把它們與dropout方法一起使用。

總結

以上是生活随笔為你收集整理的2020-5-22 吴恩达-改善深层NN-w1 深度学习的实用层面(1.7 理解 Dropout--压缩权重/分层设置keep-prob)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。