在著名的 Google Inceptionism 文章中,http://googleresearch.blogspot.jp/2015/06/inceptionism-going-deeper-into-neural.html http://googleresearch.blogspot.jp/2015/06/inceptionism-going-deeper-into-neural.html它们显示为每个类别获取的图像,例如香蕉或蚂蚁。我想对其他数据集做同样的事情。
文章确实描述了它是如何获得的,但我觉得解释不够充分。
有相关代码https://github.com/google/deepdream/blob/master/dream.ipynb https://github.com/google/deepdream/blob/master/dream.ipynb
但它所做的是生成随机的梦幻图像,而不是指定一个类并学习它在网络中的样子,如上面的文章所示。
任何人都可以给出更具体的概述,或者关于如何为特定类生成图像的代码/教程吗? (最好假设caffe框架)
I think 这段代码 https://github.com/artvandelay/Deep_Inside_Convolutional_Networks/blob/master/visualize.py是重现 Google 团队发布的图像的一个很好的起点。程序看起来很清楚:
- 从纯噪声图像和一个类开始(比如“猫”)
- 执行前向传递并反向传播关于强加的类标签的错误
- 使用数据层计算的梯度更新初始图像
其中涉及到一些技巧,可以在原纸 http://arxiv.org/abs/1312.6034.
看来主要的区别在于谷歌人试图获得更“真实”的图像:
就其本身而言,这并不能很好地发挥作用,但如果我们施加一个先验约束,即图像应该具有与自然图像类似的统计数据,例如需要相关的相邻像素,那么它就可以发挥作用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)