棧式自編碼

2021-09-11 19:15:29 字數 984 閱讀 9318

棧式自編碼神經網路(stacked autoencoder,sa),是對自編碼網路的一種使用方法,是乙個由多層訓練好的自編碼器組成的神經網路。由於網路中的每一層都是單獨訓練而來,相當於都初始化了乙個合理的數值。所以,這樣的網路會更容易訓練,並且有更快的收斂性及更好的準確度。

棧式自編碼常常被用於預訓練(初始化)神經網路之前的權重預訓練步驟。例如,在乙個分類問題上,可以按照從前向後的順序執行每一層通過自編碼器來訓練,最終將網路中最深層的輸出作為softmax分類器的輸入特徵,通過softmax層將其分開。

下面以訓練乙個包含兩個隱含層的展示自編碼網路為例子。

(1)訓練乙個自編碼器,得到原始輸入的一階特徵表示h(1)

(2)將上一步輸出的特徵h(1)作為輸入,對其進行再一次的自編碼,並同時獲取特徵h(2)

(3)把上一步的特徵h(2)連線上softmax分類器,得到乙個數字標籤分類的模型

sa的優點如下:

1.每一層都可以單獨訓練,保證降維特徵的可控性

2.對於高維度的分類問題,一下子拿出一套完整可用的模型相對來說並不是容易的事情,因為節點太多,引數熱愛多,一味地增加深度只會使結果越來越不可控,成為徹底的黑盒,而使用棧式自編碼逐層降維,可以將複雜問題簡單化,更容易完成任務。

3.任意深層,理論上是越深層的神經網路對現實的擬合度越高,但是傳統的多層神經網路,由於使用的是誤差反向傳播方式,導致層越深,傳播的誤差越小。棧式自編碼巧妙地繞過這個問題,直接使用降維後的特徵值進行二次訓練,可以任意層數的加深。

《深度學習之tensorflow 入門、原理與高階實戰》 李金洪

UFLDL之棧式自編碼

參考資料 ufldl教程及tornadomeet的部落格 個人 github位址 在自我學習的章節中,結合自編碼特徵提取與有監督的模型訓練來 資料的標籤。假設使用的有監督模型是logistic classifier,則全部的結構圖如下 將輸入 x 對映到特徵層啟用量 a 的權值網路為 w 是由全部資...

棧式自編碼器學習

棧式自編碼器就是多個自編碼器級聯。棧式自編碼器的訓練過程是,n個ae按順序訓練,第1個ae訓練完成後,將其編碼器的輸出作為第2個ae的輸入,以此類推。最後得到的特徵作為分類器的輸入,完成最終的分類訓練。如下四幅圖所示 結果 在逐層訓練結束後,還需要乙個微調過程 fine tuning 大意如下 逐層...

自編碼與變分自編碼

神經網路的本質是資訊壓縮特徵提取,神經網路公式h w x 做內積,所以神經網路是個相關性判斷 研究ai頂級公司研究損失。無監督學習是在沒有資料標籤的情況下,尋找資料特徵。但是無監督學習的標籤是自身,自監督學習,是無監督學習的一種特殊情況,他是將資料切分n塊,然後用各個塊來 其他塊。弱監督學習,是將無...