深度學習筆記(五) 棧式自編碼器


部分內容來自:http://ufldl.stanford.edu/wiki/index.php/%E6%A0%88%E5%BC%8F%E8%87%AA%E7%BC%96%E7%A0%81%E7%AE%97%E6%B3%95

棧式自編碼神經網絡是一個由多層稀疏自編碼器組成的神經網絡,其前一層自編碼器的輸出作為其后一層自編碼器的輸入。對於一個 \textstyle n 層棧式自編碼的編碼過程就是,按照從前向后的順序執行每一層自編碼器的編碼步驟。

自編碼器的隱含層t會作為t+1層的輸入層,第一個輸入層就是整個神經網絡的輸入層,利用貪心算法訓練每一層的步驟如下:

1)首先采用稀疏自編碼網絡,先訓練從輸入層到H1層的參數:

訓練完畢后,我們去除解碼層,只留下從輸入層到隱藏層的編碼階段。

2)接着我們訓練從H1到H2的參數

我們把無標簽數據的H1層神經元的激活值,作為H2層的輸入層,然后在進行自編碼訓練:

最后訓練完畢后,再去除H2層的解碼層。

3)對所有層重復1)和2),即移除前面自編碼器的輸出層,用另一個自編碼器代替,再用反向傳播進行訓練。

4)以上步驟稱為預訓練,但是通過這個訓練並沒有得到一個從輸入數據到輸出標記的映射,通常的辦法是在網絡的最后一層增加一個或多個連接層,整個網絡可以看做是一個多層感知機,並用反向傳播的方式進行訓練,這一步也被稱為微調。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM