Deep Dream模型与实现
【推荐阅读】微服务还能火多久?>>> Deep Dream是谷歌公司在2015年公布的一项有趣的技术。在训练好的卷积神经网络中,只需要设定几个参数,就可以通过这项技术生成一张图像。 本文章的代码和图片都放在我的 github 上,想实现本文代码的同学建议大家可以先把代码Download下来,再参考本文的解释,理解起来会更加方便。 疑问: 卷积层究竟学习到了什么内容? 卷积层的参数代表的意义是什么? 浅层的卷积和深层的卷积学习到的内容有哪些区别? 设输入网络的图形为x,网络输出的各个类别的概率为$t$(1000维的向量,代表了1000种类别的概率),我们以t[100]的某一类别为优化目标,不断地让神经网络去调整输入图像x的像素值,让输出t[100]尽可能的大,最后得到下图图像。 极大化某一类概率得到的图片 卷积的一个通道就可以代表一种学习到的“信息” 。 以某一个通道的平均值作为优化目标 ,就可以弄清楚这个通道究竟学习到了什么,这也是Deep Dream 的基本原理。在下面的的小节中, 会以程序的形式,更详细地介绍如何生成并优化Deep Dream 图像。 TensorFlow中的Deep Dream模型 导入Inception模型 原始的Deep Dream模型只需要优化ImageNet模型卷积层某个通道的激活值就可以了,为此