社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

DeepMind提出神经元删除法:通过理解每个神经元来理解深度学习

数盟 • 6 年前 • 463 次点击  

近日,DeepMind 发表博客介绍其对神经网络可解释性的最新研究成果。受神经科学启发,他们通过删除神经元来探索其对网络性能的影响。研究发现,和过去的经验直觉相反,选择性神经元(如「猫神经元」)对于网络的泛化能力并不重要。而某些行为难以理解的非选择性神经元却是不可或缺的。此外,作者还对比了泛化好和记忆好的网络对删除操作的响应行为。

深度神经网络由很多独立的神经元组成,这些神经元以一种复杂而反直觉的方式结合,从而完成一系列的挑战性任务。这一复杂性保证了神经网络的效力,但也使其成为了一个令人困惑且不透明的黑箱。

理解深度神经网络的工作原理对于解释其决策、构建更强大的系统来说至关重要。比如,想象一下,如果不了解每个齿轮之间的协作原理,那么制造一个钟表该有多么困难。探索独立神经元的作用,尤其是那些可以轻松解释的神经元,可以帮助我们理解神经科学和深度学习中的神经网络。

我们的论文 On the importance of single directions for generalization 将很快出现在 ICLR 2018 上,它使用一种受到数十年神经科学实验成果启发的方法来决定深度神经网络中小批神经元的重要性,以及更易解释的神经元对网络计算是否更重要,从而探索破坏带来的影响。

我们通过删除单个神经元和神经元集群来测量破坏网络造成的性能影响。实验得出了两个出人意料的结果:

尽管许多早先的研究集中探讨容易解释的单个神经元 (如「猫神经元」或深度网络中只对猫的图像有反应的神经元),但我们发现这些可解释的神经元并不比激活行为难以解释的困惑神经元更重要。

与只能对以前看过的图像进行分类的网络相比,能对未看过的图像进行正确分类的网络在神经元删除时表现出了更强的适应性。换句话说,泛化良好的网络比记忆良好的网络对单方向的依赖要小得多。

「猫神经元」也许更易解释,但并不重要

在神经科学和深度学习中,人们已经广泛分析了只对单一输入类别的图像(比如狗)作出积极回应的易于解释的神经元(「选择性」神经元)。在深度学习中,这导致了对猫神经元、情感神经元和括号神经元的重要性强调;在神经科学中则是 Jennifer Aniston 神经元,等等。然而,相比于具有低选择性、高度困惑性和难以解释的行为的绝大多数神经元,这些少量的高选择性神经元的相对重要性依然不得而知。

相对于那些对图像集做出似乎随机性的积极和消极回应的令人困惑的神经元,带有清晰回应模式(比如只对狗积极回应,对其他一切消极回应)的神经元更易解释。

为了评估神经元的重要性,我们测量了当删除神经元时神经网络在图像分类任务上的表现是如何改变的。如果一个神经元非常重要,删除它的后果应该很严重,并导致网络性能锐减;而当删除一个不重要的神经元时则影响较小。神经科学家也惯常地执行类似的实验,尽管他们无法达到实验所需的细粒度精确度,但应用于人工神经网络则毫无难度。

删除操作对简单神经网络的影响的概念图。颜色越深,表明神经元越活跃。尝试单击隐藏层神经元对它们进行删除,并查看输出神经元活跃度的变化(原网页)。请注意,仅删除一个或两个神经元对输出的影响很小,而删除大多数神经元则影响很大,并且某些神经元的重要度高于其他神经元!

出人意料的是,我们发现选择性和重要性之间没有什么关系。换句话说,「猫神经元」并不比困惑神经元更重要。这一发现与神经科学最近的研究成果相呼应,后者已经证明,困惑神经元实际上可以提供相当多的信息,除了那些最容易解释的神经元之外,我们还应研究其他神经元,只有这样才能理解深度神经网络。

虽然「猫神经元」可能更具可解释性,但它们相对于没有明显偏好的困惑神经元并没有更强的重要性。可以尝试点击上图(原网页)来查看重要性和可解释性的几种可能关系(正相关、负相关或不相关)。

尽管可解释的神经元在直觉上更易理解(「它喜欢狗」),但它们并不比没有明显偏好的令人困惑的神经元重要。

泛化能力更好的网络更不容易崩坏

只有当系统能泛化到新的场景中时,该系统才能称得上是智能的。例如,一个图像分类网络仅能分类它见过的特定的狗的图像,而对于同一只狗的不同图像则无能为力,该网络就是无用的。近期一篇由 Google Brain、Berkeley 和 DeepMind 合作的论文《Understanding deep learning requires rethinking generalization》表明深度网络可以简单地记住训练过的每张图像,而不是像人类一样学习(例如,理解「狗」的抽象概念)。(参见:解读 | ICLR-17 最佳论文:理解深度学习需要重新思考泛化问题

然而,关于神经网络学习到的解的泛化能力是由什么因素造成的,至今仍未得到清晰的解答。通过持续删除越来越大的神经元集群,我们发现泛化能力更好的网络对于删除操作更具鲁棒性(相对于仅在训练过程中记忆图像的网络而言)。换句话说,泛化能力更好的网络的性能更不容易崩坏(虽然仍可能遭遇崩坏)。

随着被删除的神经元集群越来越大,泛化能力好的网络的性能下降显著慢于在训练中记忆的网络。

通过这种方式来测量网络的鲁棒性,我们可以评估网络是否使用记忆能力在「作弊」。理解网络记忆过程中的变化,可以帮助我们建立泛化能力更好、更不依赖于记忆的网络。

神经科学启发的分析方法

综上,这些发现表明使用实验神经科学启发的技术可以帮助我们理解人工神经网络。通过这些方法,我们发现高度选择性的独立神经元并不比非选择性的神经元更加重要,而泛化能力更好的网络相对于简单地记忆的网络,对独立神经元的依赖性更小。这些结果暗示我们,独立神经元的重要性可能小得多。

通过解释所有神经元在任务中的角色,而不仅仅是那些更好解释的神经元,我们希望能更好地理解神经网络的内部工作原理,并通过这种理解构建更智能和更通用的系统。

论文:ON THE IMPORTANCE OF SINGLE DIRECTIONS FOR GENERALIZATION

论文链接:https://arxiv.org/abs/1803.06959Despite

尽管有能力记忆大规模的数据集,深度神经网络通常也能获得良好的泛化性能。然而,关于神经网络学习到的解的泛化能力是由什么因素造成的,至今仍未得到清晰的解答。此外,人们曾强调过探索单个方向的微调属性(被定义为一个单元或多个单元的线性组合的激活值对一些输入的反应)的方法,但其重要性也未被评估过。在本文中,我们将这些探究方向连接起来,并证明网络对单个方向的依赖性可以很好地预测其泛化性能(通过让网络在不同比例的损坏标签的数据集上训练,让网络在未修改标签的数据集上训练并集成,进行不同的超参数试验以及多项训练试验)。dropout 仅能在一定程度上将这个量正则化,批量归一化却隐含地会减弱单一方向的依赖性,这部分是因为减少了独立单元的类别选择性。最后,我们发现类别选择性并不能很好地预测任务重要性。这不仅意味着网络可通过减少选择性来最小化对独立单元的依赖性,从而提高泛化能力;还表明独立地选择的单元对于强大的网络性能可能不是必须的。

原文链接:https://deepmind.com/blog/understanding-deep-learning-through-neuron-deletion/

媒体合作请联系:

邮箱:contact@dataunion.org



今天看啥 - 高品质阅读平台
本文地址:http://www.jintiankansha.me/t/Qi7S675iqM
Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/9294
 
463 次点击