16、【李巨集毅機器學習(2017)】Unsupervised Learning: Deep Auto-encoder(無監督學習:深度自動編碼器)
阿新 • • 發佈:2019-02-18
本篇部落格將介紹無監督學習演算法中的 Deep Auto-encoder。
目錄
Deep Auto-encoder
輸入28*28維度的影象畫素,由NN encoder輸出code,code的維度往往小於784,但我們並不知道code的資訊,因此再新增一個NN encoder,以code為輸入,經過NN decoder輸出儘可能與最早的輸入相似的結果。
巧妙的是,NN encoder和NN decoder獨自存在的時候都無法學習,但是二者結合在一起就產生了所謂的Deep Auto-encoder。(如圖,NN encoder和NN decoder中的矩陣未必是要轉置關係)。
Deep Auto-encoder的降維作用
訓練出整個Deep Auto-encoder後可以輸出code(相當於降維的輸出)。
Auto-encoder – Text Retrieval
Auto-encoder有個常用的用處就是文章檢索,比如google輸入關鍵字會輸出檢索的文章,大致的思路(Vector Space Model)是將文章表示成向量,然後根據檢索的詞向量與文章向量的相似度輸出結果。將文章表示成向量常用的方法就是Bag-of-word,以全部的詞彙為維度,文章中有出現的詞彙計為1。
但是簡單的Bag-of-word方法並沒有考慮到詞彙同義詞等難以捕捉的資訊,因此現在使用Auto-encoder進行文章轉換向量。
Auto- encoder for CNN
Auto-encode的思路不止可以使用full-connected神經網路實現,還可以通過CNN來實現。
deconvolution的過程本質上也是一種convolution。
Auto-encoder – Pre-training DNN
Auto-encode可以和監督學習的方法結合,用來Pre-train DNN。現在的target是將28*28維度的資料降維到10維的資料,
Decoder
如上所述,encoder可以用來降維,decoder則可以用來生成影象。