选自 Facebook AI 博客
作者:Matthew Leavitt、Ari Morcos
易于解释的神经元对于提升神经网络的性能来说是必要的吗?Facebook 的研究者给出了出人意料的答案。
AI 模型能「理解」什么?为什么能理解这些东西?回答这些问题对于复现和改进 AI 系统至关重要。但遗憾的是,计算机科学家在解释深度神经网络(DNN)方面的能力远远落后于我们利用这些网络获取有用成果的能力。
理解 DNN 的一类常见方法是聚焦于单个神经元的属性,如找到一个能够被猫的图像而非其他类型的图像激活的神经元。我们把
这种对于特定图像类型的偏好称之为「类选择性(class selectivity)」
。
选择性的应用非常广泛,部分原因在于它直观、易懂,而且这些类型的神经元其实会自然地出现于多种不同任务上训练的网络中。例如,为不同类型图像分类任务训练的 DNN 包含针对拉布拉多寻回犬激活最强烈(有选择性)的单个神经元。为了预测产品评论中单个字母而训练的神经元包含对积极 / 消极情绪具有选择性的神经元。
但是,要想让 DNN 发挥作用,这些易于解释的神经元真的是必要的吗?这就好比通过汽车的排气管来研究其推进系统。尽管排气管与车速有一定关系,但推动汽车前进的并不是它。那么,类选择性到底是「引擎」还是「排气管」的一部分?
颇为意外的是,Facebook 的研究者发现,
有强烈的证据表明即使 DNN 的大部分神经元没有类选择性,它也能运转良好
。他们还表示,其实,易于解释的神经元可能会损害 DNN 的功能并使其更容易受到任意扭曲的输入的影响。
为了研究这一问题,研究者开发了
一种新的技术来直接控制 DNN 神经元的类选择性
。他们的研究结果表明,在理解 DNN 时过度依赖基于直觉的方法可能具有误导性,如果这些方法没有经过严格的测试和验证。要完全理解 AI 系统,我们必须寻找那些不仅依靠直觉,还经历过实验检验的方法。
尽管很多研究者已经将类选择性当做 DNN 可解释性的一个工具进行了广泛的研究,但令人意外的是,很少有人去研究易于解释的神经元对于 DNN 发挥最佳作用是否必要。最近,部分研究者已经开始了这一问题的探索,但不同的研究给出了不同的结论。
在此背景下,Facebook AI 的研究者通过一种新的
类选择性操纵方法
来探索上述问题。在训练一个图像分类网络时,他们不仅指导网络提高其分类图像的能力,还添加了一个降低(或提高)神经元中类选择性程度的激励。
上图显示了操纵类选择性神经元如何影响 DNN 正确分类图像的能力(在 Tiny ImageNet 上训练的 ResNet18)。每个点代表一个 DNN。点的颜色代表类选择性在 DNN 神经元中被激励的程度。x 轴表示 DNN 神经元间的平均类选择性,y 轴表示 DNN 图像分类的准确性。灰色的点表示中立——既不鼓励也不抑制类选择性——表示这种类型 DNN 在自然状态下的类选择性发生水平,研究者将其作为一个比较分类准确率的基线。通过抑制类选择性(蓝色点),我们可以将测试准确率提高 2% 以上。相比之下,激励类选择性(红色的点)会对 DNN 的图像分类能力产生明显的负面影响。
在具体操作上,研究者通过
在用于训练网络的损失函数中添加一个类选择性项来实现这一点
。他们使用一个参数来控制类选择性对于网络的重要性。通过这个参数可以激励或抑制易于解释的神经元,以及激励 / 抑制的程度。这样的话,研究者就相当于掌握了一个旋钮,通过这个旋钮可以操纵网络中所有神经元的类选择性。他们借助这个旋钮进行了实验,以下是实验的结果:
1. 减少 DNN 的类选择性对于性能的影响非常小,在某些情况下甚至会带来性能的提升。这些结果表明,尽管类选择性在多种任务和模型中普遍存在,但它并不是 DNN 发挥作用所必需的,有时甚至会发挥负面作用;
2. 在增加类选择性时,可以发现 DNN 性能显著下降。这一结果表明,类选择性的存在并不能保证 DNN 的良好运行;
3. 与学术环境相比,部署到现实世界的 DNN 通常要处理更加嘈杂、有挑战性的数据。研究者发现,减少类选择性之后,DNN 在处理有噪声、扭曲的数据时更加稳健。有趣的是,减少类选择性也使得 DNN 更容易受到针对性的攻击(故意操纵图像来欺骗 DNN)。
Facebook 的研究者认为,我们之所以对这些结果感到惊讶,可以归结为两方面的原因。首先,由于类选择性天然地存在于多数 DNN 中,它已经被广泛地用于理解 DNN 的性能。本文中的研究也表明,在没有类选择性操纵的情况下,DNN 自然而然地学习尽可能多的类选择性,而不会对性能产生负面影响。这就引出了 Facebook 研究者希望在未来工作中回答的一个更深层次的问题:
如果类选择性对良好的表现来说不是必需的,为什么网络要学习它呢?
研究者希望,他们提出的这个类选择性旋钮能够鼓励其他研究者利用该技术进一步研究类选择性在 DNN 中扮演的角色。重要的是,他们开发的理解复杂神经网络系统的方法是基于有意义的特征。研究者表示,如果能够训练一个没有猫神经元也能很好地识别猫的 DNN,我们就不应该试图通过关注猫的神经元来理解 DNN。相比之下,AI 研究者应该更多地关注、分析大群神经元是如何一起工作的。
从更广泛的意义上来说,研究者认为,他们的研究为将单个神经元特性作为理解 DNN 性能关键的方法提了个醒。在得出这些结论之后,他们还考察了一些广泛使用的可解释性方法如何产生有误导性的结果。
为了解决这些问题,他们发表了一篇立场论文来评估两个个案研究。
《SELECTIVITY CONSIDERED HARMFUL: EVALUATING THE CAUSAL IMPACT OF CLASS SELECTIVITY IN DNNS》
链接:https://arxiv.org/pdf/2003.01262.pdf?fbclid=IwAR3PlRzcoiGXyfjqfySM5ZEQxeQsYkIknQI5PQfKhPe2XdxDtFUp2ohgAO8
《On the relationship between class selectivity, dimensionality, and robustness》
链接:https://arxiv.org/pdf/2007.04440.pdf?fbclid=IwAR0yRDRql1uii1O_kqqa7EP2gFhKKFHkbq1OE0C9YAf8e6kcge6lu7Q9C1s
《Towards falsifiable interpretability research 》
链接:https://arxiv.org/pdf/2010.12016.pdf?fbclid=IwAR0lN7qgvPbV3ZUF5WzHs14g5xSr_QVKP9GuG6tkIhY611jWb79oFG9_sBY
原文链接:https://ai.facebook.com/blog/easy-to-interpret-neurons-may-hinder-learning-in-deep-neural-networks/
Java工程师入门深度学习(三):轻松上手Deep Java Library
DJL是亚马逊推出的开源的深度学习开发包,它是在现有深度学习框架基础上使用原生Java概念构建的开发库。DJL目前提供了MXNet,、PyTorch和TensorFlow的实现。Java开发者可以立即开始将深度学习的SOTA成果集成到Java应用当中。
11月5日20:00
,魏莱(AWS算法工程师)将带来线上分享,介绍DJL主要模块并结合具体场景讲解各模块的使用方法、主要API的使用方法和注意事项、神经网络从训练到部署的基本流程并结合动手深度学习Java版讲解具体代码和实操展示。
© THE END
转载请联系本公众号获得授权
投稿或寻求报道:content@jiqizhixin.com