一个神经元的价值和一个神经病的坚持

一个神经元的价值和一个神经病的坚持

憋了好久的一个工作,终于发表在九月份的PNAS杂志上。David大叔还专门做了一个课题网站,数据和代码也一并公布了。感谢MIT团队的合作,算是终于达到圆满状态。论文目的,是为了理解一个神经元的价值。

Understanding the Role of Individual Units in a Deep Network.

David Bau, Jun-Yan Zhu, Hendrik Strobelt, Agata Lapedriza, Bolei Zhou, and Antonio Torralba. Proceedings of the National Academy of Sciences (PNAS), 2020

论文本身并不是重点,我只是想写一个简单的总结,来讲讲这个持续了5年的关于探索一个神经元的价值以及一个神经病的坚持之旅。

我死磕在卷积网络中单个神经元语义的研究上有很长一段时间了。最早是2015年读博期间发表的那篇ICLR15论文object detectors emerge from deep scene CNNs,它至今是我最喜欢的几篇论文之一。这篇论文可视化了场景分类网络内部的神经元,我们发现有一部分神经元演化出了对特定语义检测的功能,比如下图所示的各种物体检测器。这里有意思的点是,在训练这个场景分类卷积网络的时候,我们给予的标签都是场景标签,并没有任何物体标定,所以说这些神经元是自然而然地演变成物体检测器,有些弱监督以及非监督的思想,但又不完全一样。几年前我为此专门写过一个回答:现在的深度学习的模型越来越大,有个结论是说,大脑的激活是非常稀疏的,对模型参数有什么好的办法压缩吗?

后来2016年的时候,为了建立神经网络分类结果与内部神经元的激活的联系,我开发了一个简单的方法,叫Class Activation Mapping (CAM)。CAM可以叠加神经元的激活相应,从而生成一张热力图来高亮图片里跟预测最有关联的区域。于是我就误打误撞有了我自己引用数量最高的一篇论文^,^。其实这篇工作的初衷只是在分析神经元与下游任务的关联,当时这篇论文因为方法太简单被ICCV'15拒过一次,差点就发表不出来了,方法本身也不被当时的导师Antonio看好,谁又知道这后来会成为如此高引的工作呢。。。这个方法后来被用到弱监督定位上面,给定图片标签的情况下做物体定位,被一堆方法吊打。不过今年CVPR'20上韩国的clovaai团队把几个常用的弱监督定位的方法做了个客观的比较(Benchmarking),有意思的一个结果是,5个基于CAM开发的发表在顶会的弱监督定位算法最后都没能跑过当年的这个CAM。同学们,多审视下自己的工作,出来混总是要还的。


再后面2017年,50几岁财务自由后回MIT读博士的David Bau大叔加入了实验室,我跟他一起合作了一个叫Network Dissection的方法。NetDissect可以通过标定好的数据库来给神经元打上语义标签以及置信度,从而我们可以通过比较具有语义的神经元的多少来量化不同网络的可解释性。为此也写过一篇知乎回答:CVPR 2017 有什么值得关注的亮点?


再后来2018年临近毕业,DeepMind出了篇打脸论文On the importance of single directions for generalization,大致意思是说研究single unit的语义并没有多少意义,反而在某些情况下会损害网络的泛化能力。他们的一个核心实验结果是,不管是去掉高语义或者去掉低语义的神经元,对网络的整体分类准确度的损害(overall accuracy drop)都是无差异的,所以神经元的语义没有意义。这怎么能忍,我当时在毕业前夕还一周狂做实验折腾出了一篇反打脸文章,Revisting the Importance of Single Units,指出DeepMind那篇论文只是分析了神经元对整体分类准确度的影响,而忽略了对不同类别的分类结果的影响 (class accuracy drop)。一个重要结果是,去掉高语义的神经元,会对某些特定类别的分类有毁灭性影响。比如说下图结果所示,是去掉某个检测水流的神经元后所有类别分类准确度下降程度(class accuracy drop)的排序,排在前面损害最大的类别是waterfall, fountain, hot_spring等等,其中对waterfall的准确度有接近-50%的损害。另一方面,如右下角所示,去掉这个神经元对整体的分类准确度影响却很微弱,原因是有些类别(最右边)会受益于去掉这个神经元,这也是比较有意思的一个现象,难道是antifragle?另外,该文章还分析了一些网络训练的regularizer对表征的影响,比如说dropout会降低神经元的语义特性等等。后来因为诸多原因这篇论文也没有再继续投稿,一直留在arXiv上了。

2018年我从MIT毕业之后,David接手了探索单个神经元价值的担子,把netdissect进一步扩展到生成网络,一年产出了一系列交互性很强的优秀工作,如GAN dissection, GAN Paint, 通过打开和关闭某个语义的神经元来给图片里增加和删除某些内容。


再后来2020年的现在,有了这篇PNAS杂志论文。这份论文把之前的一系列解析一个神经元价值的工作整合起来,通过打开和关闭神经元的简单操作,量化分析了场景分类网络和生成网络里面一个神经元的价值,并且在解释对抗样本和图片编辑上面做了应用。这篇论文的editor是David Donoho大神,感觉档次就很不一样, PNAS应该是仅次于CNS级别的杂志了吧:-)。审稿前后弄了快一年,好在队友David和俊彦的实验,作图,写作都是超一流。感谢队友的carry。

洋洋洒洒写了这么多,这篇论文的具体内容还是大家自己去看吧,或者麻烦《机器之心》来帮忙科普下。我这里只是想把这个断断续续持续了5年的“一个神经元的价值”之旅,以及让自己废寝忘食如神经病一样坚持的研究课题记录下来。

一个神经元的价值,都快熬成了神经病一般的坚持。在现在这个AI论文泛滥和内卷的大形势下,又还有多少课题可以再让人像神经病一样坚持5年之久呢,但愿人人都能找到自己的价值和坚持所在。

编辑于 09-17