4

我目前正在研究神经网络,或者更具体地说是图像分类。当我阅读时,我想知道以下是否已经完成/是否可行。如果有人可以向我指出一些来源或想法,我将不胜感激!

在传统的神经网络中,您有一个图像训练数据集和网络中神经元的权重。目标是优化权重,以便图像的分类对于训练数据是准确的,并且新图像尽可能好。

我想知道你是否可以扭转这一点:给定一个神经网络及其神经元的权重,生成一组与网络分离的类相对应的图像,即这个特定网络能够处理的图像类型的原型分类好。

在我看来,它的工作原理如下(我确信这不太可能实现,但只是为了让这个想法得到理解):想象一个神经网络,它能够对包含标签 cat、dog 的图像进行分类,但都不包含这些标签。我想要的是“逆”,即猫的图像,狗的图像和与其他两个类别“最远”的图像。我认为这可以通过生成图像并最小化一个特定类的损失函数来完成,同时最大化所有其他类的损失函数。

谷歌 Deep Dream 是如何将它“梦想”的东西形象化的吗?

我希望我的意思很清楚,如果不是,我会回答任何问题。

4

2 回答 2

0

谷歌 Deep Dream 是如何将它“梦想”的东西形象化的吗?

几乎,似乎,至少它背后的人是这样解释的:

可视化[在神经网络层中]发生的事情的一种方法是将网络颠倒过来,并要求它以引发特定解释的方式增强输入图像。假设您想知道什么样的图像会导致“香蕉”。从充满随机噪声的图像开始,然后逐渐将图像调整为神经网络认为的香蕉(参见相关工作 [...])。就其本身而言,这并不能很好地工作,但如果我们强加一个先验约束,即图像应该具有与自然图像相似的统计数据,例如需要关联的相邻像素,它就可以了。

来源- 整篇博文值得一读。

于 2015-12-29T21:49:20.363 回答
0

我想你可以从 Karpathy 的博客中了解主流的做法:http: //karpathy.github.io/2015/03/30/break-convnets/

正常的 ConvNet 训练:“当我摆动这个参数时,正确班级的分数会发生什么变化?”

创建愚弄图像:“当我摆动这个像素时,(无论你想要什么课程)的分数会发生什么变化?”

用图像欺骗分类器非常接近您的要求。为了您的目标,您需要在损失函数中添加一些正则化以避免完全误导的结果 - 绝对最小损失可能是非常扭曲的图片。

于 2016-01-04T12:15:00.423 回答