自動編碼器是無監(jiān)視的神經(jīng)網(wǎng)絡模型,可以學習輸入數(shù)據(jù)的隱含特征。 這稱為編碼(coding ),可以利用同時學習到的新特征重構(gòu)原始輸入數(shù)據(jù)。 這被稱為解碼(decoding )。 從直觀上看,自動編碼器可以用于特征降維,類似于主成分分析PCA,但性能比PCA高,是因為神經(jīng)網(wǎng)絡模型可以提取更有效的新特征。
編碼器:該部分可以將輸入壓縮為潛在的空間表示,可以用編碼函數(shù)h=f(x )表示。
解碼器:這個部分可以重構(gòu)來自潛在空間表示的輸入,可以用解碼器函數(shù)r=g(h )表示。
自編碼器結(jié)構(gòu)
因此,整個自編碼器可以用函數(shù)g(f ) x ) )=r進行記述。 其中,輸出r接近原始輸入x。
目前,自編碼器的應用主要有兩個方面,一是數(shù)據(jù)去噪,二是為可視化而降維。 通過設置適當?shù)木S和稀疏約束,自編碼器可以學習比PCA等技術(shù)更有趣的數(shù)據(jù)投影。
編碼器可以根據(jù)數(shù)據(jù)樣本進行無監(jiān)視的學習。 也就是說,可以將該算法應用于數(shù)據(jù)集,獲得良好的性能。 另外,不需要新的特征工程,只需要適當訓練數(shù)據(jù)。
但是,自編碼器在圖像壓縮方面做得不好。 由于在特定的數(shù)據(jù)集上訓練自編碼器,因此處理與訓練集相似的數(shù)據(jù)時會得到良好的壓縮結(jié)果,但壓縮其他差異較大的圖像時沒有效果。 這里,像JPEG這樣的壓縮技術(shù)在通用的圖像壓縮方面更優(yōu)越。
自動編碼器是神經(jīng)網(wǎng)絡的一種,經(jīng)過訓練后可以嘗試將輸入復制到輸出上。 換言之,就是使輸出的內(nèi)容和輸入的內(nèi)容相同。 自動編碼器的內(nèi)部有隱式層h,可以生成編碼來表示輸入。 可認為該網(wǎng)絡由一個編碼器h=f(x )和生成重構(gòu)的解碼器r=g ) h )兩部分組成。 最后使x等于約g(f ) x ) )。 網(wǎng)絡不能設計為x=g(f ) x ) )。 理論上可以,但通常不做。
自動編碼器應該被設計成不能學習完美的拷貝,通過施加一些限制,自動編碼器只能進行近似的拷貝。 由于它們可以學習數(shù)據(jù)的有用特性,因此自編碼器根據(jù)約束而具有不同的屬性。