可视化自编码器训练结果
可視化自編碼器訓練結果
From Ufldl
Jump to: navigation, search訓練完(稀疏)自編碼器,我們還想把這自編碼器學到的函數可視化出來,好弄明白它到底學到了什么。我們以在10×10圖像(即n=100)上訓練自編碼器為例。在該自編碼器中,每個隱藏單元i對如下關于輸入的函數進行計算:
我們將要可視化的函數,就是上面這個以2D圖像為輸入、并由隱藏單元i計算出來的函數。它是依賴于參數的(暫時忽略偏置項bi)。需要注意的是,可看作輸入的非線性特征。不過還有個問題:什么樣的輸入圖像可讓得到最大程度的激勵?(通俗一點說,隱藏單元要找個什么樣的特征?)。這里我們必須給加約束,否則會得到平凡解。若假設輸入有范數約束,則可證(請讀者自行推導)令隱藏單元得到最大激勵的輸入應由下面公式計算的像素給出(共需計算100個像素,j=1,…,100):
當我們用上式算出各像素的值、把它們組成一幅圖像、并將圖像呈現在我們面前之時,隱藏單元所追尋特征的真正含義也漸漸明朗起來。
假如我們訓練的自編碼器有100個隱藏單元,可視化結果就會包含100幅這樣的圖像——每個隱藏單元都對應一幅圖像。審視這100幅圖像,我們可以試著體會這些隱藏單元學出來的整體效果是什么樣的。
當我們對稀疏自編碼器(100個隱藏單元,在10X10像素的輸入上訓練 )進行上述可視化處理之后,結果如下所示:
上圖的每個小方塊都給出了一個(帶有有界范數 的)輸入圖像,它可使這100個隱藏單元中的某一個獲得最大激勵。我們可以看到,不同的隱藏單元學會了在圖像的不同位置和方向進行邊緣檢測。
顯而易見,這些特征對物體識別等計算機視覺任務是十分有用的。若將其用于其他輸入域(如音頻),該算法也可學到對這些輸入域有用的表示或特征。
總結
以上是生活随笔為你收集整理的可视化自编码器训练结果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 自编码算法与稀疏性
- 下一篇: 稀疏自编码器符号一览表