介紹:
自編碼器(AutoEncoder)是深度學習中的一類無監督學習模型,有encoder和decoder兩個部分組成
- encoder 將原始表示編碼成隱層表示
- decoder 將隱層表示解碼成原始表示
- 訓練目標爲最小化重構誤差
- 隱層特徵維度一般低於原始特徵維度,降維的同時學習更稠密更有意義的表示
自編碼器主要是一種思想,encoder和decoder可以由全連接層、CNN或RNN等模型實現。以下使用Keras,用CNN實現自編碼器,通過學習從加噪圖片到原始圖片的映射,完成圖像去噪任務。
代碼:
使用keras+mnist搭建自編碼器,使用卷積層參與搭建。
import numpy as np
from keras.datasets import mnist
from keras.layers