複製鏈接
請複製以下鏈接發送給好友

深度神經網絡

鎖定
深度神經網絡是機器學習(ML, Machine Learning)領域中一種技術。
中文名
深度神經網絡
外文名
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階段,生成過程,通過頂層表示(醒時學得的概念)和向下權重,生成底層的狀態,同時修改層間向上的權重。也就是“如果夢中的景象不是我腦中的相應概念,改變我的認知權重使得這種景象在我看來就是這個概念“。
由於自動編碼器(auto-encoder,即上面説的神經網絡。廣義上的自動編碼器指所有的從低級表示得到高級表示,並能從高級表示生成低級表示的近似的結構,狹義上指的是其中的一種,谷歌的人臉識別用的)有聯想功能,也就是缺失部分輸入也能得到正確的編碼,所以上面説的算法也可以用於有監督學習,訓練時y做為頂層網絡輸入的補充,應用時頂層網絡生成y'。