1、自動編碼器的基本思想
直接用乙個單層或者多層神經網路對輸入資料進行對映,得到輸出向量,作為從輸入資料中提取出的特徵
核心問題:怎麼設定訓練目標
解決思路:編碼器+解碼器框架
2、網路結構
編碼器-將輸入資料對映為特徵向量
解碼器-將特徵向量對映回輸入向量,重構
3、損失函式
損失函式定義為重構誤差-類似pca的做法
輸入與輸出:
(x,x)
訓練演算法和普通的神經網路相同(bp演算法+梯度下降)
4、特徵提取
實際使用時,只需要編碼器網路,解碼器只用於訓練階段
輸入乙個資料向量,即可得到特徵向量
5、去噪自動編碼器(denoising autoencoder,dae)
在訓練樣本中加入隨機雜訊,重構的目標是不帶雜訊的樣本資料
用自動編碼器學習得到的模型重構出來的資料可以去除這種雜訊,獲得沒有被汙染過的資料
對於每個樣本向量x隨機選擇其中的一部分分量,將它們的值置為0,其他分量保持不變,得到的帶雜訊向量x
輸入與輸出:
6、稀疏自動編碼器
加入稀疏性懲罰項,讓編碼器的輸入結果稀疏
編碼器網路隱含層的第i個神經元的平均啟用度為對所有訓練樣本的啟用函式的均值,記為ρi
ρ為人工指定的活躍度,是乙個接近於0的數
使用相對熵構造懲罰項
加上懲罰項後的目標函式變為
7、收縮自動編碼器(contractive auto-encoders,cae)
訓練時在損失函式中加上正則化項,使得編碼器函式的導數盡可能小
正則化項是編碼器函式導數的二範數平方
8、多層自動編碼器
層疊自動編碼器由多個自動編碼器串聯組成,能夠逐層提取輸入資料的特徵,在此過程中逐層降低輸入資料的維度,將高維的輸入資料轉化為低維的特徵
訓練層也是逐層進行的。給定輸入向量,採用無監督方式訓練第一層自動編碼器。把第乙個自動編碼器的輸出作為第二個自動編碼器的輸入,採用同樣的方法訓練第二個自動編碼器
重複第二步直到所有自動編碼器訓練完成。把最後乙個自動編碼器的輸出作為最終的輸出
在每一層,都會得到輸入資料的不同抽象特徵,隨著層數的增加,這個特徵越來越抽象
自動編碼器
自動編碼器基本概念 自動編碼器 autoencoder 是神經網路的一種,一般來講自動編碼器包括兩部分 編碼器和解碼器,編碼器和解碼器相互串聯合作,實現資料的降維或特徵學習,現在也廣泛用於生成模型中.在深度學習中,autoencoder可用於在訓練階段開始前,確定權重矩陣的初始值.左側為encode...
自動編碼器(Autoencoder)
autoencoder是一種無監督的學習演算法,主要用於資料的降維或者特徵的抽取,在深度學習中,autoencoder可用於在訓練階段開始前,確定權重矩陣 w 的初始值。神經網路中的權重矩陣 w可看作是對輸入的資料進行特徵轉換,即先將資料編碼為另一種形式,然後在此基礎上進行一系列學習。然而,在對權重...
自動編碼器(Autoencoder)
autoencoder是一種無監督的學習演算法,主要用於資料的降維或者特徵的抽取,在深度學習中,autoencoder可用於在訓練階段開始前,確定權重矩陣w的初始值。或參考 自動編碼器 autoencoder 對於多層神經網路的引數初始化問題,我們可以依次對每一層進行autoencoder。如下圖所...