GAN研究筆記(1)_自編碼器(Auto-Encoder)跟變分自編碼器(VAE)
自編碼器(Auto-Encoder)
- 是一種神經網路又可稱其為重建(構)模型,本身並不算生成模型。
- 使用自身的高階特徵編碼自己,壓縮成一個高階向量。是透過壓縮與還原圖像,來重建與輸入圖像相似圖像的模型。
- 其網路架構分為三部分:輸入層、隱藏層、輸出層。輸入層與輸出層通常具有相同維度,而隱藏層的維度會被設為比輸入層更小,從而達成資訊壓縮。
- 輸入層到隱藏層這部分稱為 編碼器(Encoder),負責將圖像壓縮為低維表示。
- 隨後從隱藏層到輸出層的部分稱為 解碼器(Decoder),其目的是還原圖像,使其盡量接近輸入圖像。
- 目標是使用稀疏的高階特徵重新組合來重構自己。
- 其輸入、輸出是一致的。是一種數據壓縮算法,其中數據的壓縮和解壓縮函數是和數據本身相關、有損的,從樣本中自動學習。
- 屬於無監督式學習。因為會和訓練數據息息相關,只能重構那些與壓縮訓練數據類似的數據。但本身要求輸入、輸出愈相近愈好這個目標,算監督式學習特性。
主要流程:Original Input -> Encoder -> Compressed -> Decoder -> Reconstructed input
Encoder(編碼器):把圖像給編碼成向量
Decoder(解碼器/生成器):透過接收一個向量來產生一張圖像。
損失函數(Loss Function):透過比較輸入圖像與重建圖像的像素差異(逐像素)來計算損失,
此損失稱為「重建誤差(Reconstruction Loss)」,可用以下公式表示:
輸出值的決定公式:
自編碼器設計方式
Step1.搭建Encoder
Step2.搭建Decoder
Step3.定義損失函數->重構圖片越接近原本圖片越好
十分不靈活,會受限於已知的數據樣本,無法給定隨機圖片的隨機向量。
自編碼器應用
1.數據去噪音
2.降維度
3.生成圖片
自動編碼器透過圖像壓縮的過程,能夠抽取圖像的特徵資訊。假若輸入圖像中有雜訊或缺損,也可能無法完全復原原始圖像。
但正因這樣的特性,自動編碼器也常被應用於圖像異常偵測中。
VAE(變分自編碼器) Variational Autoencoder
- 變分編碼器可以隨機產生隱含變數提高網路的泛化能力
- 比普通的自動編碼器好,屬於生成模型。
- 缺點就是生成的圖片會有點模糊
- 目標是找出讓模型機率分布 p(x) 具有最大似然的參數。
- VAE 是透過對觀測資料進行潛在變數 z 的建模與推論來實現的。
留言
張貼留言