Synthesizing the preferred inputs for neurons in neural networks via deep generator networks

2021/4/23 18:27:13

本文主要是介绍Synthesizing the preferred inputs for neurons in neural networks via deep generator networks,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

该算法(1)生成质量上最先进的合成图像,看起来几乎是真实的;(2)以可解释的方式揭示每个神经元学习的特征;(3)对新的数据集有很好的概括性,对不同的网络结构也有一定的概括性,而不需要重新学习先验;(4)可以被视为一种高质量的生成方法(在这种情况下,通过生成新颖、创造性、有趣、可识别的图像)。

1 Introduction and RelatedWork

受这类神经科学研究的启发,我们有兴趣通过为DNNs的每一个神经元寻找首选的输入来揭示DNNs的内部工作机制。正如神经科学家所做的那样,人们可以简单地向神经网络展示一大组图像,并记录一组高度激活神经元的图像[2]。然而,这种方法与synthesizing preferred stimuli相比有其缺点:1)它需要一个与训练网络所用的图像相似的分布,而这可能并不为人所知(例如,当探测一个训练过的网络时,不知道哪些数据被用来训练它);2) 即使在这样一个数据集中,许多激活神经元的信息图像也可能不存在,因为图像空间是巨大的[3];;3)对于真实的图像,神经元学习到的特征是不清楚的:例如,如果一个神经元被草地上的割草机的图片激活,它是否“关心”草地是不清楚的,但是如果一个合成的图像高度激活了割草机神经元包含草地(如图1所示),我们可以更确信神经元已经学会了关注这种环境。

合成首选刺激被称为激活最大化[4–8,3,9]。它从一个随机图像开始,通过反向传播迭代计算如何改变图像中每个像素的颜色以增加神经元的激活。以前的研究表明,这样做产生的图像会产生不切实际的、无法理解的图像[5,3],因为所有可能的图像集都是如此庞大,以至于有可能产生刺激神经元的“愚弄”图像,但与神经元学会检测的自然图像并不相似。相反,我们必须约束优化,只生成与自然图像相似的合成图像[6]。这一尝试是通过将自然图像先验知识纳入目标函数来实现的,这已被证明能显著提高所生成图像的可识别性[7,6,9]。许多手工设计的自然图像先验已经被实验证明可以改善图像质量,例如:高斯模糊[7]、a-范数[5,7,8]、总变差[6,9]、抖动[10,6,9]、数据驱动的面片先验[8]、中心偏移正则化[9]和从平均图像初始化[9]。在本文中,我们建议使用一种卓越的、学习过的自然图像先验[11],类似于图像的生成模型,而不是手工设计这种先验。这种先验使我们能够合成高度可被人类解释的首选刺激,从而对网络的内部功能有更多的了解。虽然没有办法严格衡量人类的可解释性,这个问题也使得定量评估生成模型几乎是不可能的[12],但我们不应该仅仅因为人类必须主观地评价它们而停止改善定性结果的科学工作。

学习自然图像的生成模型一直是机器学习的一个长期目标[13]。存在许多类型的神经网络模型,包括概率[13]、自动编码器[13]、随机[14]和递归网络[13]。然而,它们通常只限于相对低维的图像和狭义的数据集。

最近,Dosovitskiy和Brox[11]通过将自动编码方式与GAN的对抗性训练相结合,训练了能够从高度压缩的特征表示生成图像的网络。我们利用这些图像生成器网络作为先验产生合成的首选图像。这些生成器网络接近但不是真实的生成模型,因为它们在训练时没有像变分自动编码器[14]或GANs[17]那样对隐藏分布施加任何先验,也没有像去噪自动编码器[18]那样添加噪声。因此,在数据空间上既没有自然采样过程,也没有隐式密度函数。

我们用作先验的图像生成器DNN被训练成接收一个code(例如标量向量)并输出一个合成图像,该图像看起来尽可能接近ImageNet数据集[19]中的真实图像。为了在给定的DNN中产生我们想要可视化的神经元的首选输入,我们在图像生成器DNN的输入代码空间中进行优化,以便它输出激活感兴趣神经元的图像(图2)。我们的方法将搜索限制在只能由先验绘制的图像集上,这为现实的可视化提供了强大的偏向。由于我们的算法使用深度生成器网络来执行激活最大化,我们称之为DGN-AM。



这篇关于Synthesizing the preferred inputs for neurons in neural networks via deep generator networks的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程