paddlepaddle 28 搭建基于卷积的自动编码机

自动编码机可以用于图像压缩、图像去噪等任务,其由编码器与解码器构成,其本质就是对数据做一道编码与解码。编码器的输出用于解码器的输入,在自动编码机中通常认为解码器功能是编码器的逆变换。如果编码与解码过程是近乎无损的,那就是图像压缩;如果压缩与解码的过程是有损的【并非真正有损,而是不一样】(比如:解码后的图像与原图相比更清晰,就是图像去噪、去雾、去雨;分辨率提升了,就是图像超分辨率重构)。

解码无损的时候,也就是说做图像压缩,自动编码机的输入与输出都是一样的。

解码有损的时候,也就是说做图像优化,自动编码机的输入与输出都是存在不一样的,输入与输出的差异就是模型所学习的经验。

在paddle框架下,很难找到自动编码机的例子。因此,博主做了一个简易实现,并以minist数据进行简单测试。

1、自动编码机的核心结构

通常的自动编码机中,编码器与解码器的结构都是对称的,编码器负责提取特征(对于基于卷积的自动编码机提取特征主要通过conv与下采样实现),解码器负责还原特征(对于基于卷积的自动解码机提取特征主要通过conv与上采样实现)。

编码器由卷积池化组成,卷积提取特征,池化刷选特征;解码器由上采样与卷积组成,上采样有两种实现方式分别是插值与转置卷积。插值方式是指UpSample方式,该方式源自于传统图像缩放方法;转置卷积是Conv2DTranspose,是另一种卷积实现方式,通过对feature map填0后在做卷积实现上采样。Conv2DTranspose更多细节可以参考下列链接。需要注意的是UpSample是无参数,无需训练的;而Conv2DTranspose

猜你喜欢

转载自blog.csdn.net/a486259/article/details/125511646
今日推荐