下一層所以我正在訓練的堆疊降噪自動編碼與自動編碼器每3層的查詢。我的目標是通過使用堆疊去噪自動編碼器進行圖像分類。關於堆疊式降噪自動編碼
,我使用創建的圖像片段的方法:
- 段整個圖像分成8×8塊
- 調整大小的塊爲1x64
- 隨機選擇塊(例如:MOD 7或東西)並插入到TrainingMatrix
步驟來訓練的自動編碼:
- TrainingMatrix維度:[10000x64](即尺寸64)
- 3層系統的10000個訓練樣本:[64 - > 32 - > 64]
- 舞弊與高斯噪聲
- 訓練神經網絡,具有輸入每個訓練樣本:[損壞輸入],輸出: [未損壞的數據] &然後BACKPROP
在接下來的DAE做我使用的權重從最後層(即層2-> 3)來訓練的下一個層?或者我需要通過網絡運行另一個樣本,然後用它來訓練下一層?如果我們使用來自圖層2-> 3的權重,我們是不是隻有一個樣本集來訓練下一個自動編碼器?如果是這種情況,那麼權重只是隨機生成的加權矩陣的初始值?堆疊DAE層之後
最終步驟:
- 運行通過監督層最終DAE層諸如SVM
很抱歉,如果這聽起來像一個微不足道的問題。
感謝您的回覆,我真的很感激。只是爲了澄清:在你的第一次訓練和反擊之後,你把你的體重和乘以你的訓練集,以使其達到較低的維度(即採取SIGMOID {[10000x64] * [64x32]})並用它來訓練下一層?這是不同的,它不僅僅是直接用64-> 32-> 16-> 32-> 64的大神經網絡進行訓練並輸入:corrupted_noise&output:uncorrupted_noise? – bge0
正確。堆疊去噪自動編碼器的整個想法是貪婪的分層訓練。通過一次訓練一層,你的結果比一次訓練整個網絡的結果要好得多。神經網絡非常容易受到局部最優化影響,因此在這個尺寸的網絡上隨機初始化權重開始將會使您得到較差的結果。 – aplassard
太棒了,謝謝! – bge0