深度學習基礎知識(五)— 激活函數

  • 2020 年 2 月 14 日
  • 筆記

dropout 可以看作是一種實用的bagging的方法,即模型平均思想的一種運用。

因為模型平均要對訓練集有放回的取樣,得到多個不同的訓練集,再訓練多個不同的模型,

在測試階段由多個不同的模型 表決 或者 平均 來做出最終預測。

但是對於深度神經網路而言,訓練多個不同的模型 可能不切實際,會耗費大量時間和計算力

dropout 對神經元隨機失活

也就是說前傳的過程中可能這個神經元以及它後面的路徑並不會被使用,相當於前傳的路徑只是整個大神經網路的一個子網路

Dropout訓練與Bagging訓練不太一樣。

在Bagging的情況下,所有模型都是獨立;

在Dropout的情況下,所有模型共享參數,其中每個模型繼承父神經網路參數的不同子集。其中每個參數共享使得在有限可用的記憶體下表示指數級數量的模型變得可能。

在Bagging的情況下,每一個模型在其相應訓練集上訓練到收斂。

在Dropout的情況下,通常大部分模型都沒有顯式地被訓練,因為通常父神經網路會很大,以致於到宇宙毀滅都不可能取樣完所有的子網路。取而代之的是,在單個步驟中我們訓練一小部分的子網路,參數共享會使得剩餘的子網路也能有好的參數設定。

這些是僅有的區別。除了這些,Dropout與Bagging演算法一樣

超參數的取樣概率為1,隱藏層的取樣概率通常為0:5,輸入的取樣概率通常為0:8。網路中的每個單元乘以相應的掩碼,然後正常地繼續沿著網路的其餘部分前向傳播。