含義
在訓練過程中,對神經網絡單元按照一定比例暫時將其丟棄。
原理
由於網絡參數過多,訓練數據少,或者訓練次數過多,會產生過擬合的現象。
dropout產生的一個重大原因就是為了避免過擬合。 每一層的神經元按照不同的概率進行dropout,這樣每次訓練的網絡都不一樣,對每一個的batch就相當於訓練了一個網絡,dropout本質是一種模型融合的方式,當dropout設置為0.5時,模型總類最多為2^n, 另外在更新參數時,只對保留的神經元進行更新,也能加快訓練速度。
應用
在embedding之后可以使用,tensorflow中如下: tf.nn.dropout(E, keep_prob)
參考:
