隨機失活是為解決深度神經網路的過擬合(overfitting)和梯度消失(gradient vanishing)問題而被提出的最佳化方法,其一般構想是在神經網路的學習過程中,隨機將部分隱含層節點的權重歸零,由於每次疊代受歸零影響的節點不同,因此各節點的“重要性”會被平衡 。引入隨機失活後,神經網路的每個節點都會貢獻內容,不會出現少數高權重節點完全控制輸出結果的情況,因此降低了網路的結構風險 。
按神經網路自身的不同結構,隨機失活的實現方法有差異。對多層感知器(Multi-Layer Perceptron, MLP),隨機失活通常將選中節點的輸出歸零 ;對卷積神經網路(Convolutional Neural Network, CNN),隨機失活可以隨機將卷積核的部分元素歸零,即隨機連線失活(drop connect) ,或在多通道情形下隨機歸零整個特徵圖的通道,即空間隨機失活(spatial dropout) ;對循環神經網路(Recurrent Neural Network, RNN),隨機失活按網路的拓撲結構可以作用於每個時間步的輸入和狀態矩陣 。
隨機失活通常降低了神經網路的計算開銷,因為歸零操作可以得到稀疏矩陣。但在疊代次數較多的學習任務,例如RNN的學習中,反覆生成隨機數會帶來額外的計算開銷 。