Deep learning:三十二(基礎知識_3)


 

  前言:

  本次主要是重新復習下Sparse autoencoder基礎知識,並且加入點自己的理解。關於sparse autoencoder在前面的博文Deep learning:八(Sparse Autoencoder)中已有所介紹。

 

  基礎知識:

  首先來看看為什么sparse autoencoder能夠學習到輸入數據的特征呢?當使用autoencoder時,隱含層節點的個數會比輸入層小(一般情況下),而autoencoder又要能夠重構輸入數據,說明隱含層節點壓縮了原始數據,既然這個壓縮是有效的,則它就代表了輸入數據(因為輸入數據每個分量值並不是相互獨立的)的一部分特征了。如果對隱含節點加入稀疏性限制(此時隱含層節點的個數一般比輸入層要多),即對輸入的數據而言,其大部分時間都處於抑制狀態,這時候學習到的特征就更有代表性,因為它只對它感興趣的輸入值響應,說明這些輸入值就是我們需要學習的特征。

  在前面講的稀疏性中,並不是說對於某一個輸入樣本,隱含層中大部分的節點都處於非抑制狀態(雖然事實上有可能確實是如此),而是說對於所有的輸入樣本,某一個節點對這些輸入的響應大部分都處於非抑制狀態。

  此時的稀疏性懲罰值公式如下所示:

   

  其中的變量一般取很小,比如0.05. 而 的計算公式則如下:

    

  把其中的KL散度展開后,其公式如下:

    

  不過在Ng的一節視頻教程http://www.stanford.edu/class/cs294a/handouts.html中,關於稀疏性的一些表達和計算方式稍有不同,它的並不是一次計算所有樣本在本節點i的期望,而是通過每一個樣本來迭代得到,如下面的講解截圖所示:

   

  

  比較難理解的是,它這里的偏置值b竟然不是由偏導公式來求得的,而是通過稀疏性來求得,有點不解,求解過程如下所示:

  

  

   

 

  參考資料:

     Deep learning:八(Sparse Autoencoder)

     http://www.stanford.edu/class/cs294a/handouts.html

 

 

 

 


免責聲明!

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



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