GAN研究筆記(1)_自編碼器(Auto-Encoder)跟變分自編碼器(VAE)
自編碼器(Auto-Encoder) 是一種神經網路又可稱其為重建(構)模型,本身並不算生成模型。 使用自身的高階特徵編碼自己,壓縮成一個高階向量。是透過壓縮與還原圖像,來重建與輸入圖像相似圖像的模型。 其網路架構分為三部分:輸入層、隱藏層、輸出層。輸入層與輸出層通常具有相同維度,而隱藏層的維度會被設為比輸入層更小,從而達成資訊壓縮。 輸入層到隱藏層這部分稱為 編碼器(Encoder),負責將圖像壓縮為低維表示。 隨後從隱藏層到輸出層的部分稱為 解碼器(Decoder),其目的是還原圖像,使其盡量接近輸入圖像。 目標是使用稀疏的高階特徵重新組合來重構自己。 其輸入、輸出是一致的。是一種數據壓縮算法,其中數據的壓縮和解壓縮函數是和數據本身相關、有損的,從樣本中自動學習。 屬於無監督式學習。因為會和訓練數據息息相關,只能重構那些與壓縮訓練數據類似的數據。但本身要求輸入、輸出愈相近愈好這個目標,算監督式學習特性。 https://medium.com/ai-academy-taiwan/what-are-autoencoders-175b474d74d1 主要流程:Original Input -> Encoder -> Compressed -> Decoder -> Reconstructed input Encoder(編碼器):把圖像給編碼成向量 Decoder(解碼器/生成器):透過接收一個向量來產生一張圖像。 損失函數(Loss Function):透過比較輸入圖像與重建圖像的像素差異(逐像素)來計算損失, 此損失稱為「重建誤差(Reconstruction Loss)」,可用以下公式表示: 此公式中的 Xi為網路的輸入,Yi 為輸出。 該損失函數透過計算這兩者之間的交叉熵,來求出需最小化的參數。 輸出值的決定公式: 此處的參數如下: 𝑊1,𝑏1:編碼器的權重與偏差 𝑊2,𝑏2:解碼器的權重與偏差 簡略地可記作: 自編碼器設計方式 Step1.搭建Encoder Step2.搭建Decoder Step3.定義損失函數->重構圖片越接近原本圖片越好 十分不靈活,會受限於已知的數據樣本,無法給定隨機圖片的隨機向量。 自編碼器應用 1.數據去噪音 2.降維度 3.生成圖片 自動編碼器透過圖像壓縮的過程,...