今天所討論的就是Deep learning中,最基本的非監督式網路 - AutoEncoder。AutoEncoder核心概念有兩個部分 Encoder(編碼器)及 Decoder(解碼器)。
https://hackernoon.com/u/juliendespois
Autoencoder 最原始的概念很簡單,就是丟入一筆 input data 經過類神經網路後也要得到跟 input data一模模一樣樣的 data。首先整個 Autoencoder 可以拆解成 Encoder 和 Decoder 兩個神經網路。Encoder 先吃進 input data,經過神經網路後壓縮成一個維度較小的向量 Z,接著,在將 Z 輸入 decoder中,將 Z 還原成原始大小。
Encoder 可以將原始 data 可以壓縮成有意義的低維向量,也就表示 Autoencoder 有降維的功能,經過的 hidden layer 擁有非線性轉換的 activation fuction
Decoder 要做的事情就是將 latent space 盡量地還原回去 input data,是一將低維空間的特徵向量轉換到高維空間中
結論
Encoder 可被理解為將資料中最重要的抽象特徵萃取出來 。Decoder就是透過這些重要的抽象特徵回推出原始的資料樣態。
AutoEncoder的流程就是透過Enocder 將資料壓縮,或者可以看成投射到低維度的空間,最後利用 Decoder 將資料解碼到相同維度,並希望 input 資料與 output 資料要越相似越好。
https://blog.keras.io/building-autoencoders-in-keras.html
參考
https://medium.com/ai-academy-taiwan/what-are-autoencoders-175b474d74d1