TensorFlow深度学习实战(23)——自编码器详解与实现
0. 前言
自编码器 (Autoencoder
, AE
) 是一种无监督学习的神经网络模型,用于数据的特征提取和降维,它由一个编码器 (Encoder
) 和一个解码器 (Decoder
) 组成,通过将输入数据压缩到低维表示,然后再重构出原始数据。在本节中,我们将学习如何使用自编码器,以在低维空间表示图像,学习以较少的维度表示图像有助于修改图像,可以利用低维表示来生成新图像。
1. 自编码器
1.1 自编码器原理
自编码器 (Autoencoder
) 是一类试图通过反向传播重建输入的神经网络。自编码器由两部分组成:编码器和解码器。编码器读取输入并将其压缩为紧凑的表示,而解码器则读取这种紧凑的表示,并从中重建输入。换句话说,自编码器通过最小化重建误差来尝试学习恒等函数。自编码器具有学习数据紧凑表示的能力,能够应用于图像重建、聚类、机器翻译等多个领域。
自编码器中的隐藏单元数量通常少于输入(和输出)单元的数量,迫使编码器学习输入的压缩表示,而解码器负责重建。如果输入数据中存在特征之间的相关性结构,则自编码器的目标是发现这些相关性,并学习到类似于主成分分析 (Principal Component Analysis, PCA) 的低维表示。
PCA