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

作者 | 周博磊

来源 | 机器之心


一个神经元能够催生多少故事?香港中文大学信息工程系助理教授周博磊近日撰文介绍了他自 2015 年开始至今对神经元的研究经历。最近,他与 David Bau、朱俊彦等人合作的神经元研究论文发表在了 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 Disp 的方法。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 disp、GAN Paint,通过打开和关闭某个语义的神经元来给图片里增加和删除某些内容。

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

洋洋洒洒写了这么多,这篇论文的具体内容还是大家自己去看吧。我这里只是想把这个断断续续持续了 5 年的「一个神经元的价值」之旅,以及让自己废寝忘食如神经病一样坚持的研究课题记录下来。

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


 文末福利 

后台回复关键词入群
加入卖萌屋NLP/IR/Rec与求职讨论群
有顶会审稿人、大厂研究员、知乎大V和妹纸
等你来撩哦~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/479953.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

直通BAT必考题系列:深入剖析JVM之G1收集器、及回收流程、与推荐用例

金三银四马上到了,即将进入面试的高峰期。在BAT面试中,JVM基本都是必考的系列。你至少需要掌握JVM内存模型与JVM参数详细配置,JVM的4种垃圾回收算法、垃圾回收机制与总结,以及今天重点谈到的JVM垃圾回收算法的实现:JVM…

多任务学习方法

最近一直在做多任务,但是效果好象没什么提升,因为都是凭自己的想法和感觉在做。于是上网查找了一些这方面的资料,寻求一些理论上的支撑和前人经验上的帮助。 多任务学习: 故名思意,就是多个任务一起学习。为什么要进行…

曹羽 | 从知识工程到知识图谱全面回顾

本文转载自公众号:集智俱乐部。文本挖掘和图形数据库 | ©ontotext导语知识工程是符号主义人工智能的典型代表,近年来越来越火的知识图谱,就是新一代的知识工程技术。知识工程将如何影响未来人工智能领域的发展,甚至让计算机拥…

4大JVM性能分析工具详解,及内存泄漏分析方案

谈到性能优化分析一般会涉及到: Java代码层面的,典型的循环嵌套等 还会涉及到Java JVM:内存泄漏溢出等 MySQL数据库优化:分库分表、慢查询、长事务的优化等 阿里P8架构师谈:MySQL慢查询优化、索引优化、以及表等优化…

从 0 搭建一个工业级推荐系统

推荐系统从来没像现在这样,影响着我们的生活。当你上网购物时,天猫、京东会为你推荐商品;想了解资讯,头条、知乎会为你准备感兴趣的新闻和知识;想消遣放松,抖音、快手会为你奉上让你欲罢不能的短视频。而驱…

论文浅尝 | 虚拟知识图谱:软件系统和应用案例综述

本文转载自公众号:DI数据智能。Virtual Knowledge Graphs: An Overview of Systems and Use Cases作者:Guohui Xiao, Linfang Ding, Benjamin Cogrel & Diego Calvanese供稿:Guohui Xiao编者按:Data Intelligence 发表意大利博…

LeetCode 169. 求众数(摩尔投票)

文章目录1. 题目信息2. 解题思路3. 代码3.1 排序3.2 map计数3.3 摩尔投票1. 题目信息 给定一个大小为 n 的数组,找到其中的众数。众数是指在数组中出现次数大于 ⌊ n/2 ⌋ 的元素。 你可以假设数组是非空的,并且给定的数组总是存在众数。 示例 1:输入…

阿里P8架构师谈:JVM的内存分配、运行原理、回收算法机制

不管是BAT面试,还是工作实践中的JVM调优以及参数设置,或者内存溢出检测等,都需要涉及到Java虚拟机的内存模型、内存分配,以及回收算法机制等,这些都是必考、必会技能。 JVM内存模型 JVM内存模型可以分为两个部分&…

我的BERT!改改字典,让BERT安全提速不掉分(已开源)

文 | 苏剑林编 | 小轶背景当前,大部分中文预训练模型都是以字为基本单位的,也就是说中文语句会被拆分为一个个字。中文也有一些多粒度的语言模型,比如创新工场的ZEN和字节跳动的AMBERT,但这类模型的基本单位还是字,只不…

2020年考证时间表汇总!这些证书值得拥有!

原文地址: https://zhuanlan.zhihu.com/p/100824416 2020年考证时间表汇总!这些证书值得拥有!已认证的官方帐号154 人赞同了该文章昨日之日不可留,2019年已然过去,2020年的我们不能再一成不变!快根据自身情…

征稿 | 2019年全国知识图谱与语义计算大会(CCKS2019)第二轮征稿启事

2019年全国知识图谱与语义计算大会China Conference on Knowledge Graph and Semantic Computing (CCKS 2019)2019年8月24日-27日,杭州征稿截止: 2019年5月18日全国知识图谱与语义计算大会(CCKS: China Conference on Knowledge Graph and Semantic Comp…

直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结

BAT必考JVM系列专题 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置 垃圾回收算法 1.标记清除 标记-清除算法将垃圾回收分为两个阶段:标记阶段和清除阶段。 在标记阶段首先通过根节点(GC Roots),标记所…

遗传算法及其应用实现

使用遗传算法求解函数具有最大值的点X """ Visualize Genetic Algorithm to find a maximum point in a function. """ import numpy as np import matplotlib.pyplot as pltDNA_SIZE 10 # DNA length POP_SIZE 100 # population size CROSS…

论文浅尝 | 一种嵌入效率极高的 node embedding 方式

论文笔记整理:叶群,浙江大学计算机学院,知识图谱、NLP方向。会议:WSDM 2019链接:https://dl.acm.org/citation.cfm?id3290961Motivation基于spring-electrical的模型在网络可视化中取得了非常成功的应用,一…

重要的,是那些训练中被多次遗忘的样本

文 | kid丶源 | 知乎编 | 兔子酱今天跟大家分享一篇很有意思的文章,是一篇探讨深度学习模型记忆&遗忘机制的文章,是一篇角度很新颖的题材,同时又有一定启发作用。这篇文章发表在深度学习顶会ICLR19,标题是《An empirical stud…

直通BAT必考题系列:7种JVM垃圾收集器特点,优劣势、及使用场景

直通BAT之JVM系列 直通BAT必考题系列:JVM的4种垃圾回收算法、垃圾回收机制与总结 直通BAT必考题系列:深入详解JVM内存模型与JVM参数详细配置 今天继续JVM的垃圾回收器详解,如果说垃圾收集算法是JVM内存回收的方法论,那么垃圾收集…

模拟嫁接技术

模拟嫁接技术:定义嫁接算子及策略剪接算子及策略GPOGA算法总结定义 收益和代价 对一棵生成树 T1,若将某结点的一条分枝移至另一结点作为其一条分枝后产生的生成树为 T2,考察分枝移动前后生成树的边长和的变化,则定义收益(gain)和…

HuggingFace又出炼丹神器!稀疏矩阵运算进入平民化时代!

文 | rumor酱编 | YY一提到模型加速,大家首先想到的就是蒸馏、(结构性)剪枝、量化(FP16),然而稀疏矩阵(sparse matrix)运算一直不被大家青睐。原因也很简单,一是手边没有…

章乐焱 | 用“科技”监管“科技”,知识图谱能做什么?

本文转载自公众号:恒生技术之眼。人工智能、大数据等前沿科技的爆发,推动金融科技进入了一个崭新的时代,也成为监管科技发展的重要推动力。在这个Fintech的黄金时代,前沿科技正在如何赋能监管?这方面,恒生公…

LeetCode 23. 合并K个排序链表(优先队列)

文章目录1. 题目信息2. 思路3. 代码1. 题目信息 合并 k 个排序链表,返回合并后的排序链表。请分析和描述算法的复杂度。 示例:输入: [1->4->5,1->3->4,2->6 ] 输出: 1->1->2->3->4->4->5->6来源:力扣(…