基于Fashion MNIST数据集上自编码器图像重建

程序代码:

https://download.csdn.net/download/do_it_123/88935602

我们尝试着利用数据本身作为监督信号来指导网络的训练,即希望神经网络能够学习到映射:我们把网络切分为两个部分,前面的子网络尝试学习映射关系: 后面的子网络尝试学习映射关系: ,我们把成一个数据编码(Encode)的过程,把高维度的输入编码成低维度的隐变量(Latent Variable,或隐藏变量),称为 Encoder 网络(编码器);看成数据解码(Decode)的过程,把编码过后的输入z解码为高维度的x, 称为 Decoder 网络(解码器)。

自编码器能够将输入变换到隐藏向量,并通过解码器重建(Reconstruct,或恢复)出。我们希望解码器的输出能够完美地或者近似恢复出原来的输入,即,那么,自编码器的优化目标可以写成:

Fashion MNIST数据集

Fashion MNIST 是一个定位在比 MNIST 图片识别问题稍复杂的数据集,它的设定与MNIST 几乎完全一样,包含了 10 类不同类型的衣服、鞋子、包等灰度图片,图片大小为28 × 28,共 70000 张图片,其中 60000 张用于训练集, 10000 张用于测试集,每行是一种类别图片。可以看到, Fashion MNIST 除了图片内容与 MNIST 不一样,其它设定都相同,大部分情况可以直接替换掉原来基于 MNIST 训练的算法代码,而不需要额外修改。由于 Fashion MNIST 图片识别相对于 MNIST 图片更难,因此可以用于测试稍复杂的算法性能。

编码器

我们利用编码器将输入图片降维到较低维度的隐藏向量:,并基于隐藏向量h利用解码器重建图片,自编码器模型如图所示,编码器由3层全连接层网络组成,输出节点数分别为 256、 128、 20,解码器同样由 3 层全连接网络组成,输出节点数分别为 128、 256、 784。

解码器 

再来创建解码器子网络, 这里基于隐藏向量 h_dim 依次升维到 128、 256、 784 长度,除最后一层,激活函数使用 ReLU 函数。解码器的输出为 784 长度的向量,代表了打平后的28 × 28大小图片,通过 Reshape 操作即可恢复为图片矩阵。

网络训练 

自编码器的训练过程与分类器的基本一致,通过误差函数计算出重建向量与原始输入向量x之间的距离,再利用 TensorFlow 的自动求导机制同时求出 encoder decoder 的梯度,循环更新即可。 

图片重建

为了测试图片重建效果,我们把数据集切分为训练集与测试集,其中测试集不参与训练。我们从测试集中随机采样测试图片,经过自编码器计算得到重建后的图片,然后将真实图片与重建图片保存为图片阵列,并可视化,方便比对 

 

备注
简介此部分摘自互联网,仅供参考,若侵权,联系删除。

创作不易,相关程序,说明文档需求,如需,可加作者新联系方式,WX:Q3101759565,QQ:3101759565[多加几次!!!]

学业有成!工作顺利 年薪百万!

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

迪哥_AI_人工智能

您的鼓励是我创作的最大动力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值