-
深度神經網絡
鎖定
- 中文名
- 深度神經網絡
- 外文名
- Deep Neural Network
技術特點
多層的好處是可以用較少的參數表示複雜的函數。
在監督學習中,以前的多層神經網絡的問題是容易陷入局部極值點。如果訓練樣本足夠充分覆蓋未來的樣本,那麼學到的多層權重可以很好的用來預測新的測試樣本。但是很多任務難以得到足夠多的標記樣本,在這種情況下,簡單的模型,比如線性迴歸或者決策樹往往能得到比多層神經網絡更好的結果(更好的泛化性,更差的訓練誤差)。
非監督學習中,以往沒有有效的方法構造多層網絡。多層神經網絡的頂層是底層特徵的高級表示,比如底層是像素點,上一層的結點可能表示橫線,三角; 而頂層可能有一個結點表示人臉。一個成功的算法應該能讓生成的頂層特徵最大化的代表底層的樣例。如果對所有層同時訓練,時間複雜度會太高; 如果每次訓練一層,偏差就會逐層傳遞。這會面臨跟上面監督學習中相反的問題,會嚴重欠擬合。
2006年,hinton提出了在非監督數據上建立多層神經網絡的一個有效方法,簡單的説,分為兩步,一是每次訓練一層網絡,二是調優使原始表示x向上生成的高級表示r和該高級表示r向下生成的x'儘可能一致。方法是
1,首先逐層構建單層神經元,這樣每次都是訓練一個單層網絡。
2,當所有層訓練完後,hinton使用wake-sleep算法進行調優。將除最頂層的其它層間的權重變為雙向的,這樣最頂層仍然是一個單層神經網絡,而其它層則變為了圖模型。向上的權重用於”認知“,向下的權重用於”生成“。然後使用Wake-Sleep算法調整所有的權重。讓認知和生成達成一致,也就是保證生成的最頂層表示能夠儘可能正確的復原底層的結點。比如頂層的一個結點表示人臉,那麼所有人臉的圖像應該激活這個結點,並且這個結果向下生成的圖像應該能夠表現為一個大概的人臉圖像。Wake-Sleep算法分為醒(wake)和睡(sleep)兩個部分。
2.1,wake階段,認知過程,通過外界的特徵和向上的權重(認知權重)產生每一層的抽象表示(結點狀態),並且使用梯度下降修改層間的下行權重(生成權重)。也就是“如果現實跟我想像的不一樣,改變我的權重使得我想像的東西就是這樣的“。
2.2,sleep階段,生成過程,通過頂層表示(醒時學得的概念)和向下權重,生成底層的狀態,同時修改層間向上的權重。也就是“如果夢中的景象不是我腦中的相應概念,改變我的認知權重使得這種景象在我看來就是這個概念“。