五 自動編碼器

2021-08-31 13:24:00 字數 1584 閱讀 3908

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。如下圖所...