Contractive Auto-Encoder


本博客已經遷往http://www.kemaswill.com/, 博客園這邊也會繼續更新, 歡迎關注~

Contractive Autoencoder(CAE)是Bengio等人在2011年提出的一種新的Autoencoder, 在傳統的Autoencoder的重構誤差上加上了新的懲罰項, 亦即編碼器激活函數對於輸入的雅克比矩陣(Jacobian matrix)的Frobenius Norm. CAE的核心思想是盡量捕獲訓練樣本中觀察到的variance, 而忽略其他的variance.

魯棒特征

作者在圍繞什么才是衡量特征好壞的標准上做了大量討論(如同在DAE中一樣).

  • sDAE(stacked DAE)和sparse coding的觀點是盡量捕獲每個訓練樣本的信息, 如果樣本服從某個潛在的生成式分布的話.
  • RBM的觀點是學到的特征可以很好地刻畫輸入的分布, 這可以通過直接優化一個生成式模型(比如RBM)的似然得到.

CAE的出發點是, 學到的特征應該對圍繞訓練樣本的輸入的細小變動有魯棒性.

為了提高學到的特征的魯棒性, CAE以編碼器的激活函數對於輸入的雅克比矩陣的Frobenius Norm為懲罰項:

$\|J_f(x)\|_F^2 = \sum_{ij}(\frac{\partial h_j(x)}{\partial x_i})^2$

懲罰$\|J_f\|_F^2$項使得到特征空間的映射在訓練樣本的鄰域是緊縮的(contractive).

Contractive Auto-encoder

CAE的思想就是以$\|J_f\|_F^2$項作為autoencoder的正則化項, 亦即CAE的損失函數為

$\mathcal{J}_{CAE}(\theta)=\sum_{x\in D_n}(L(x, g(f(x))) + \lambda\|J_f(x)\|_F^2)$

CAE與其他Autoencoder變種的關系:

  1. 與AE + weight decay的關系: 雅克比矩陣的Frobenius Norm的二次根等同於帶$L_2$正則化的線性編碼器
  2. 與sparse autoencoder的關系: sparse autoencoder的目的是使得每個樣本的大部分中間特征為0, 對於sigmoid函數來說, 這對應於其域的左半部分, 這意味着其導數很小, 亦即其雅克比矩陣的對應部分的值很小, 所以二者之間很相似.
  3. 與DAE之間的關系: CAE顯式的鼓勵中間特征的魯棒性, 而DAE鼓勵其重構$(g\circ f)(x)$的魯棒性. 因為對於分類來說, 我們只需要用到編碼器以便得到中間特征, 學到的中間特征的魯棒性要比重構的魯棒性重要, 所以CAE比DAE更容易學到魯棒的特征.

CAE的理論解釋

Hugo Larochelle做過一個關於CAE的非常精辟的理論解釋:

可以把CAE的損失函數的兩個組成部分看成是CAE的兩個優化目標:

Screen Shot 2014-06-25 at 下午09.49.01

 

第一部分(亦即重構誤差)使得CAE會盡力去捕獲輸入圖像的好多信息, 第二部分(亦即雅克比矩陣的Frobenius Norm)可以看做是CAE在丟棄所有的信息(因為最小化雅克比矩陣的Frobenius Norm的后果就是梯度會接近於0, 這樣的話, 如果改變輸入數據, 隱層單元的值不會改變, 亦即如果在訓練樣本上加一些噪音, 隱層節點的值不變). 所以CAE的目的就是只捕獲那些在訓練數據中出現的variance, 而對於其他的variance不敏感[2](論文原文為The proposed criterion[Frobenius Norm of Jacobian] is trying to make the features invariant in all directions around the training examples, but the reconstruction error (or likelihood) is making sure that that the representation is faithful, i.e., can be used to reconstruct the input example.)

CAE的特性還可以通過manifold learning來解釋:

Screen Shot 2014-06-25 at 下午10.00.31

 

我們把高維數據投影到二位平面上, 假設訓練樣本分布在如圖所示的manifold上, 那么我們希望CAE對於沿着manifold的variance比較敏感(否則的話對於不同的訓練樣本, 我們很難去重構), 而對於垂直於manifold的variance不敏感(論文原文為Hence the directions that resist to this contracting pressure (strong invariance to input changes) are the directions present in the training set. Indeed, if the variations along these directions present in the training set were not preserved, neighboring training examples could not be distinguished and properly reconstructed.).

原論文中還用了緊縮曲線做了解釋, 暫時不甚明了, 求高人解答. 緊縮曲線的定義如下

令輸出空間內兩個樣本之間的距離和特征空間內兩個樣本的距離的比值為緊縮率(contraction ratio), 對於驗證集中的每個樣本$x_0$, 我們從以$x_0$為球心, $r$為半徑的球內隨機選取一點$x_1$, 計算$x_0$和$x_1$的緊縮率, 取其平均值作為平均緊縮率. 最后以$r$為橫軸, 以該半徑下的平均緊縮率為縱軸, 就可以得到緊縮曲線(contractive curve):

Screen Shot 2014-06-25 at 下午10.11.49

 

可以看到, 只有CAE和DAE-g(Gaussian corruption DAE)的緊縮率會首先上升, 而其他算法的都是直接下降. 暫時的理解是, 對於那些和訓練樣本(實際上是驗證樣本, 但是假設樣本的划分完全隨機, 二者很接近)比較接近的隨機樣本($r$比較小時), CAE能夠比較好的學到其特征(亦即該樣本和隨機樣本在特征空間比較接近), 所以緊縮率會首先上升, 但是對於那些和訓練樣本距離比較遠的隨機樣本, 學到的特征比較差, 所以緊縮率會下降.

 

參考文獻:

[1]. Contractive Auto-Encoders: Explicit Invariance During Feature Extraction. S. Rifai, P. Vincent, X. Muller, X. Glorot, Y. Bengio. ICML, 2011.

[2]. Hugo Larochelle's Slides on CAE.

[3]. Extracting and Composing Robust Features with Denoising Autoencoders. Pascal Vincent, Hugo Larochelle, Yoshua Bengio, Poerre-Antoine Manzagol. ICML, 2008.


免責聲明!

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



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