AutoEncoder AE
AutoEncoder為深度學習中之非監督式學習演算法,其目的為將輸入資料壓縮,只提取出資料中較為重要的部分(Encoder)。之後將壓縮後的資料經由Decoder還原回原始資料,使其與原始資料越像越好。
監督式學習與非監督式學習之差別為Data是否有Ground Truth。監督式學習之資料擁有標準答案,因此在學習過程中,可以明確知道學習結果是否正確,並且比對錯誤逐漸修正,使預測更加精準。而非監督式學習則無標準答案,在學習過程中需要尋找出資料淺在規則,按照關聯性去分類。
AutoEncoder架構
AutoEncoder概念很簡單,就是將一筆Data X 經過Encoder後,將資料壓縮為 一個維度較小的Z ,之後經過Decoder還原,得到X',希望 X 及 X' 能夠一模一樣。
Encoder:
Encoder負責將原始的資料(Original Data)壓縮為向量Z,向量Z也可稱為Code或是Latent Vector,其所在空間可稱為Latent Space,可以視為將原始資料提取重要的部分,與PCA作用相同,但由於是使用神經網路架構,可以達到非線性轉換的效果。
Decoder:
Decoder則是將向量Z還原,使重新建構的Data越接近原始資料,將低維空間的特徵向量轉換到高維空間中。
Loss Function:
Loss Function就可以直接選擇MSE(mean square error),直接計算Original Data 及 Reconstructed Data間的誤差(Error)。
而AutoEncoder訓練方式與其他神經網路相同,皆是使用Backpropagation調整網路參數,更新權重。
這只是最基礎的AutoEncoder,其後來還有許多變形,如:VAE(Variational AutoEncoder)、DAE(Denoise AutoEncoder)、、、等,可應用於不同情況。