周博磊|周博磊自述5年研究经历:一个神经元的价值和一个神经病的坚持
机器之心转载
作者:周博磊
一个神经元能够催生多少故事?香港中文大学信息工程系助理教授周博磊近日撰文介绍了他自 2015 年开始至今对神经元的研究经历 。 最近 , 他与 DavidBau、朱俊彦等人合作的神经元研究论文发表在了 PNAS 杂志上 。
以下是周博磊的原帖内容:
憋了好久的一个工作 , 终于发表在九月份的 PNAS 杂志上 。 David 大叔还专门做了一个课题网站 , 数据和代码也一并公布了 。 感谢 MIT 团队的合作 , 算是终于达到圆满状态 。 论文目的 , 是为了理解一个神经元的价值 。
论文:Understanding the Role of Individual Units in a Deep Network
本文图片
论文地址:https://www.pnas.org/content/pnas/early/2020/08/31/1907375117.full.pdf
网站地址:http://dissect.csail.mit.edu/
论文本身并不是重点 , 我只是想写一个简单的总结 , 来讲讲这个持续了 5 年的关于探索一个神经元的价值以及一个神经病的坚持之旅 。
我死磕在卷积网络中单个神经元语义的研究上有很长一段时间了 。 最早是 2015 年读博期间发表的那篇 ICLR'15 论文《Object Detectors Emerge in 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 可以通过标定好的数据库来给神经元打上语义标签以及置信度 , 从而我们可以通过比较具有语义的神经元的多少来量化不同网络的可解释性 。
本文图片
再后来 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 年之久呢 , 但愿人人都能找到自己的价值和坚持所在 。
如何根据任务需求搭配恰当类型的数据库?
【周博磊|周博磊自述5年研究经历:一个神经元的价值和一个神经病的坚持】在AWS推出的白皮书《进入专用数据库时代》中 , 介绍了8种数据库类型:关系、键值、文档、内存中、关系图、时间序列、分类账、领域宽列 , 并逐一分析了每种类型的优势、挑战与主要使用案例 。
推荐阅读
- 人造卫星|废弃45年的卫星,重新向地球发送信号,科学家却很担心
- 全球变暖|真来了,印尼约30万人的城市,或在15年内被淹没,人类需警惕
- 老虎|中国有一猛兽,能轻松咬死老虎,2005年后,国内仅拍到3次
- 曲向阳|曲向阳:非洲猪瘟弱毒株出现令防控难度加大,行业将进入3-5年持续盈利期
- 糖尿病酮症酸中毒|5年喝1吨饮料?28岁小伙突然昏迷不醒!这些症状要警惕
- 大骨节病|“消灭”大骨节病:5年30多次进藏,如今已看不到流行的趋势
- 舅舅收藏了25年的嫩炒牛肉做法,肉质嫩滑新鲜美味,非常实用
- 太空酒店|世界首家“太空酒店”2025年将开建
- 统计学|困扰数学家25年的“切苹果”难题,被一位华人统计学博士解决了
- 核装置|1965年美印放置“核装置”监测中国原子弹,半世纪后引洪水?
