PyTorch深度学习实战(28)——卷积自编码器
0. 前言
我们已经学习了自编码器 (AutoEncoder
) 的原理,并使用 PyTorch
搭建了全连接自编码器,但我们使用的数据集较为简单,每张图像只有一个通道(每张图像都为黑白图像)且图像相对较小 (28 x 28
)。但在现实场景中,图像数据通常为彩色图像( 3
个通道)且图像尺寸通常较大。在本节中,我们将实现能够处理多维输入图像的卷积自编码器,为了与普通自编码器进行对比,同样使用 MNIST
数据集。
1. 卷积自编码器
与传统的全连接自编码器不同,卷积自编码器 (Convolutional Autoencoder
) 利用卷积层和池化层替代了全连接层,以处理具有高维空间结构的图像数据。这样的设计使得卷积自编码器能够在较少的参数量下对输入数据进行降维和压缩,同时保留重要的空间特征。卷积自编码器架构如下所示:
从上图中可以看出,输入图像被表示为瓶颈层中的潜空间变量,用于重建图像。图像经过多次卷积(编码器)得到低维潜空间表示,然后在解码器中,将潜空间变