反转神经网络的目标

问题描述 投票:0回答:2

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

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

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

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

这就是 Google Deep Dream 将其“梦想”可视化的方式吗?

image neural-network classification deep-learning inversion
2个回答
0
投票

这就是 Google Deep Dream 将其“梦想”可视化的方式吗?

看起来差不多,至少背后的人是这么解释的:

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

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


0
投票

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

正常的 ConvNet 训练:“当我调整这个参数时,正确类别的分数会发生什么变化?”

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

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

© www.soinside.com 2019 - 2024. All rights reserved.