本次报道论文为发表于PNAS的Understanding the role of individual units in a deep neural network。众所周知,深度神经网络擅长查找可解决大型数据集上负责任务的分层表示。人类如何理解这些学习到的表示,这是值得探究的问题。该文章是美国麻省理工学院的David Bau博士等人在该领域的研究成果:首先提出网络剖析方法来识别、可视化和量化深度神经网络中各个神经元的作用,接着剖析了在图像分类和图像生成两种不同类型的任务上训练的网络神经元,最后通过两个应用程序证明了方法的有用性。

1

介绍

随着越来越复杂的神经网络框架的出现,许多人开始思考神经网络中每个神经元本身的作用究竟是什么?在最先进的深度网络中,研究者们已经观察到许多单个神经元与未教授给网络的人类可解释的概念相匹配:已发现神经元可以检测物体、区域、性别、语境、感情等。找到这样有实际意义的抽象概念是深度学习的主要目标之一,然而这类具有特定概念的神经元的出现以及在神经网络中的作用尚不明确。

针对上述情况,文中开篇提出两个疑问:(1)如何量化跨网络层中概念神经元的出现?(2)这些概念神经元匹配哪些类型的概念,它们有什么功能? 当神经网络包括一个关于树的激活神经元时,研究者们希望了解它们的关联是虚假的还是具有逻辑的,这可以揭示网络如何对更高级别的树概念进行建模。

为研究这些问题,作者引入了网络剖析模型,这是一种分析框架,可以系统地识别图像分类和图像生成网络中各个隐藏神经元的语义。首先,作者分析了一个经过场景分类训练的卷积神经网络(CNN),并发现与各种对象概念集相匹配的神经元。有证据表明网络已经学习了许多在场景分类中起着关键作用的对象类。其次,作者使用类似的分析方法来分析训练用于生成场景的生成对抗网络(GAN)模型。通过分析在激活或停用小组神经元时所做的改变,我们发现在适应环境的同时可以在输出场景中添加或删除对象。最后,作者将他们的分析框架应用于理解对抗性攻击和语义图像编辑。

2

研究成果

2.1 场景分类器中物体检测器的出现

首先,在景色分类任务训练时,研究人员对物体检测器对应的神经元进行了定义。具体来说,研究者对VGG-16结构的CNN网络进行了分析,而分类任务则使用了从MIT计算机科学和人工智能实验室风景识别数据库中提取的Places365数据集,将图像分为365个风景类别。作者分析了网络的13个卷积层内的所有神经元(图2-1 A)。

如图2-1所示,(A) VGG-16由13个卷积层组成,conv1_1到conv5_3,然后是3个全连接层fc6、fc7、fc8。(B)在输入图像上的单个过滤器的激活可以可视化为过滤器激活超过其前1%分位数水平的区域,该区域对应图像中所有人的头部。(C)通过将高激活区域与一组人类可理解的视觉概念相匹配,为单个神经元评分;如图显示了几个标记的概念检测器神经元以及五个神经元激活程度最高的图像。(D) 列出了conv5_3层中每个分割的概念匹配神经元,不包括IoU 比率 <4%的神经元,显示了每个概念匹配神经元的频率。(E)比较网络的所有层,发现大多数目标探测器出现在最后的卷积层。(F) 显示了该神经元在飞机和非飞机图像网络的样本上的激活分布。

在研究过程中,为了量化概念c和神经元u之间的关系,使用了IoU比率:

这个IoU比率是在支持验证集图像集上进行计算的。

2.2 场景分类器中神经元的角色

作者在文中提出疑问:在上述的图像分类神经网络中如何使用物体检测神经元? 网络压缩的研究表明,在确保整体神经网络分类准确度的同时,可以通过重新训练消除许多神经元。估计单个神经元重要性的一种方法是研究删除该神经元对整体平均网络精度的影响。

为更细致地了解网络中每个神经元的逻辑作用,作者评估在移除单个神经元时,神经网络对每个单独场景进行分类的能力的影响。移除神经元的方法是通过强制指定神经元输出为零并保持网络的其余部分完好无损。同时,网络并未被重新训练,作者采用在指定类与其它所有类之间做区分的分类任务,以此测试单类别的分类精度。

在上图2-2 A中,当每个神经元从网络中单独移除时,四个 conv5_3 神经元对滑雪胜地的平衡分类精度造成的损害最大;剖析显示,这些最重要的神经元可以探测出滑雪场中突出的视觉概念。2-2 B则表明当对场景类别中最重要的神经元全部删除时,所有类别的分类精度下降到接近机会的水平。当conv5_3中的492个最不重要的神经元一起被删除(只留下20个最重要的神经元)时,精确度仍然很高。

同时,作者发现神经元重要性和可解释性之间的关系,如图2-2 E;最可解释的神经元是那些对许多不同场景输出类别都很重要的神经元。仅对一类重要的神经元的可解释性较差,一般由IoU衡量。

2.3 对抗生成网络中物体检测器的出现

生成对抗网络 (GAN) 学习合成随机逼真图像,模拟训练集中真实图像的分布。在架构上,经过训练的 GAN 生成器与分类器相反,从随机输入的潜在向量生成逼真的图像。与分类不同,它是一种无监督的设置:没有向GAN提供人工注释,因此网络必须自己学习图像的结构。

作者测试了经过训练以模仿LSUN厨房图像的渐进式GAN架构。该网络结构由15个卷积层组成。给定一个从多变量高斯分布采样出512维的向量,网络在处理 15 层数据后生成256*256的逼真图像,如下图2-3所示:

在研究过程中,作者发现神经元并没有严格的对应于像素模式,如图2-3 E:当烤箱或椅子部件神经元被激活时,会生成烤箱和椅子的各种视觉外观。

图2-3 F显示将对应于窗户的神经元314作为分类器进行测试时,平均而言,该神经元在包含大窗口的生成图像上比不包含大窗口的图像更强烈地激活。然而,并不完全是这样,图2-3 G则是举了些反例,在不激活神经元314的情况下生成包含大窗口的图像。

2.4 对抗生成网络中神经元的角色

神经元和生成的对象类之间的相关性是暗示性的,但它们并不能证明与对象类相关的神经元实际上会导致生成器渲染对象类的实例。为了更好地理解神经元在GAN生成器中的逻辑作用,作者测试了当神经元组被直接移除或激活时生成器的输出结果。

首先,作者从在LSUN教堂场景上训练的渐进GAN中依次移除更大的树神经元集。我们根据IoUu,tree对第4层的神经元进行排序,以识别出最具树特异性的神经元。当这些树神经元的连续较大集从网络中移除时,GAN生成的图像树越来越少,越来越小(图2-4 A)。去掉20个最特定于树的神经元,测量超过10,000张随机生成的图像,发现生成的输出中树像素的数量减少了53.3%。

3

应用

3.1 分析分类器的对抗性攻击

图像分类器对对抗性攻击的敏感性是一个十分活跃的研究领域。为了可视化和理解攻击的工作原理,作者检查对重要对象检测器神经元的影响。

在下图3-1 A中,正确分类的“滑雪胜地”图像被Carlini-Wagner优化方法攻击成“卧室”。对抗性算法计算一个微小的扰动,当该扰动添加到原始图像时,结果图像在肉眼完全无法和原图区别开的同时,被错误分类为了卧室。为了理解攻击是如何工作的,作者检查了滑雪胜地场景最重要的四个神经元和对卧室场景最重要的四个神经元。在图3-1 B中可视化了这些神经元在原始图像和对抗性图像之间的激活变化。这表明攻击通过减少对雪、山、房子和树物体的检测,并通过在图像中实际不存在这些对象的位置增加床、人头和沙发的检测器的激活来愚弄网络。

3.2 使用GAN的语义绘制

为了解网络中神经元的作用,作者创建一个人机界面,通过直接操纵神经元来控制网络。作者将此方法应用于GAN以创建交互式绘画应用程序,该应用程序不是使用调色板进行绘画,而是使用高层视觉概念画板。每个概念与20个神经元相关联,这些神经元概念u而言拥有最大比率IoUu,c。

该应用通过操纵GAN神经元进行绘画。如上图3-2所示,(A)交互界面允许用户选择几个高级语义视觉概念并将它们绘制到图像上。每个概念对应于GAN中的20个神经元。(B)用户在指定位置添加圆顶后,结果是修改后的图像,其中已添加圆顶代替原始尖塔。在通过更改20个圆顶神经元来表达用户的高级意图后,生成器会自动处理如何将对象组合在一起以保持输出场景逼真的像素级细节。

3

总结展望

为了更好地理解网络是如何工作的,作者提出了一种分析单个神经元的方法。在分类其中,神经元揭示了网络如何将特定场景类别的识别分解为对每个场景类别都很重要的特定视觉概念。此外,在生成器中,神经元的行为揭示场景中物体类间强制执行的环境适应关系。

网络剖析依赖于在训练过程中出现的人类可理解的神经元,在最先进的有监督的和无监督的神经网络模型中都已经发现许多这种可解释的神经元。如何训练更好的解开模型是一个开放的问题,也是众多研究者持续努力的方向。

作者得出的结论是,对单个神经元的系统分析可以洞察深层网络的黑盒子内部。通过观察和操作深层网络的神经元,就有可能理解网络所学习的知识的结构,并建立有助于人类与这些强大模型交互的系统。

参考资料

Understanding the role of individual units in a deep neural network. David Bau, Jun-Yan Zhu, Hendrik Strobelt, Agata Lapedriza, Bolei Zhou, Antonio Torralba. Proceedings of the National Academy of Sciences Dec 2020, 117 (48) 30071-30078;

DOI: 10.1073/pnas.1907375117

PNAS | 理解单个神经元在深度神经网络中的作用相关推荐

  1. 单个神经元在深度网络中的作用

    目录 背景描述 任务一:场景分类任务的分析 数据集与模型 网络分析方法 实验结果 实验结果分析 实验结果验证 任务二:场景生成任务的分析 背景描述 大量的实验证明,深度神经网络擅于找到大型数据集上的分 ...

  2. 深度神经网络中处理数据和训练模型的一些技巧

    深度神经网络中处理数据和训练模型的一些技巧 1 数据预处理 1.1 中心化 1.2 标准化 1.3 PCA 1.4 白噪声 1.5 小结 2 权重初始化 2.1 全0初始化 2.2 随机初始化 2.3 ...

  3. 深度神经网络中的局部响应归一化LRN简介及实现

    Alex.Hinton等人在2012年的NIPS论文<ImageNet Classification with Deep Convolutional Neural Networks>中将L ...

  4. 【机器学习算法面试题】四.深度神经网络中激活函数有哪些?

    欢迎订阅本专栏:<机器学习算法面试题> 订阅地址:https://blog.csdn.net/m0_38068876/category_11810806.html [机器学习算法面试题]一 ...

  5. 深度神经网络中Inception-ResNet模块介绍

    之前在https://blog.csdn.net/fengbingchun/article/details/113482036 介绍了Inception,在https://blog.csdn.net/ ...

  6. 深度神经网络中的Inception模块介绍

    深度神经网络(Deep Neural Networks, DNN)或深度卷积网络中的Inception模块是由Google的Christian Szegedy等人提出,包括Inception-v1.I ...

  7. 慕尼黑工业大学最新综述:深度神经网络中的不确定性

    ©PaperWeekly 原创 · 作者 | 王馨月 学校 | 四川大学本科生 研究方向 | 自然语言处理 概要 在过去的十年中,神经网络几乎遍及所有科学领域,并成为各种现实世界应用的重要组成部分.由 ...

  8. 深度神经网络中的梯度丢失与梯度爆炸

    神经网络的反向传播 要理解梯度丢失(vanishing gradient)和梯度爆炸,首先需要理解神经网络的反向传播算法. 一般来说,训练一个神经网络需要很多个迭代.在每个迭代中,都包含两个步骤. 前 ...

  9. ML基础 - 深度神经网络中解决过拟合的方法

    过拟合的原因是算法的学习能力过强:一些假设条件(如样本独立同分布)可能是不成立的:训练样本过少不能对整个空间进行分布估计.以下介绍几种常见的处理方法. 1. Dropout 1.1 分布式特征表达 分 ...

最新文章

  1. mysql常用转换函数_MySQL中常用转换函数介绍
  2. 监控组策略应用---组策略建模
  3. c++吃豆人代码_山药豆的功效与作用营养功效
  4. 如何制作cab包(解决不能注册的问题)
  5. 非mapreduce生成Hfile,然后导入hbase当中
  6. 史上最全的Angular.js 的学习资源
  7. Xamarin.Forms 5.0 项目实战发布!
  8. docker 搭建 ftp服务器
  9. pyspark用法2
  10. 多功能pdf编辑器PDF Office Max for mac
  11. python做前端开发_Python开发【前端】:汇总
  12. 代码不止|想制胜海外市场?Google 来帮你!
  13. python的安装框架acode_Python安装与入门
  14. HotPower超级CRC计算器与第三方CRC计算器名词解释与对照及操作
  15. 我们距离构建一个逼真的虚拟世界还有多远
  16. 【微信小程序】微信小程序项目+仿哔哩哔哩b站
  17. 【UE4】物理材质(蓝图)
  18. 【笔记】python中常见的函数(一)
  19. Chrome浏览器如何设置中文翻译
  20. python绘制动漫人物图片女生可爱_绘画动漫人物图片女生唯美

热门文章

  1. 一次谷歌面试趣事(转)
  2. CISCO设备部分型号IOS下载
  3. React学习笔记3:React脚手架
  4. 阿里某程序员吐槽:年终奖被金融行业的老婆完爆!自己奖金15万,老婆奖金66万!...
  5. 40张图看懂分布式追踪系统原理及实践
  6. 阿里程序员35岁P7!4年了晋升无望!明年股票拿完,年包腰斩!世界那么大,要不要去看看?...
  7. Hive介绍与核心知识点--大数据技术栈12
  8. 关于微服务的7个疑问和解答!
  9. 优秀程序员都会关注的公众号
  10. 放弃在每日站会上按成员逐个发言