作者 | 张拳石

来源 | 转载自知乎Qs.Zhang张拳石

本来想把题目取为“从炼丹到化学”,但是这样的题目太言过其实,远不是近期可以做到的,学术研究需要严谨。但是,寻找适当的数学工具去建模深度神经网络表达能力和训练能力,将基于经验主义的调参式深度学习,逐渐过渡为基于一些评测指标定量指导的深度学习, 是新一代人工智能需要面对的课题,也是在当前深度学习浑浑噩噩的大背景中的一些新的希望。

这篇短文旨在介绍团队近期的ICML工作——”Towards a Deep and Unified Understanding of Deep Neural Models in NLP”(这篇先介绍NLP领域,以后有时间再介绍类似思想解释CV网络的论文)。这是我与微软亚洲研究院合作的一篇论文。其中,微软研究院的王希廷研究员在NLP方向有丰富经验,王老师和关超宇同学在这个课题上做出了非常巨大的贡献,这里再三感谢。

大家说神经网络是“黑箱”,其含义至少有以下两个方面:一、神经网络特征或决策逻辑在语义层面难以理解;二、缺少数学工具去诊断与评测网络的特征表达能力(比如,去解释深度模型所建模的知识量、其泛化能力和收敛速度),进而解释目前不同神经网络模型的信息处理特点。

过去我的研究一直关注第一个方面,而这篇ICML论文同时关注以上两个方面——针对不同自然语言应用的神经网络,寻找恰当的数学工具去建模其中层特征所建模的信息量,并可视化其中层特征的信息分布,进而解释不同模型的性能差异。

其实,我一直希望去建模神经网络的特征表达能力,但是又一直迟迟不愿意下手去做。究其原因,无非是找不到一套优美的数学建模方法。深度学习研究及其应用很多已经被人诟病为“经验主义”与“拍脑袋”,我不能让其解释性算法也沦为经验主义式的拍脑袋——不然解释性工作还有什么意义。

研究的难点在于对神经网络表达能力的评测指标需要具备“普适性”和“一贯性”。首先,这里“普适性”是指解释性指标需要定义在某种通用的数学概念之上,保证与既有数学体系有尽可能多的连接,而与此同时,解释性指标需要建立在尽可能少的条件假设之上,指标的计算算法尽可能独立于神经网络结构和目标任务的选择。

其次,这里的“一贯性”指评测指标需要客观的反应特征表达能力,并实现广泛的比较,比如

  1. 诊断与比较同一神经网络中不同层之间语义信息的继承与遗忘;

  2. 诊断与比较针对同一任务的不同神经网络的任意层之间的语义信息分

  3. 比较针对不同任务的不同神经网络的信息处理特点。

具体来说,在某个NLP应用中,当输入某句话x=[x1,x2,…,xn]到目标神经网络时,我们可以把神经网络的信息处理过程,看成对输入单词信息的逐层遗忘的过程。即,网络特征每经过一层传递,就会损失一些信息,而神经网络的作用就是尽可能多的遗忘与目标任务无关的信息,而保留与目标任务相关的信息。于是,相对于目标任务的信噪比会逐层上升,保证了目标任务的分类性能。

我们提出一套算法,测量每一中层特征f中所包含的输入句子的信息量,即H(X|F=f)。当假设各单词信息相互独立时,我们可以把句子层面的信息量分解为各个单词的信息量H(X|F=f) = H(X1=x1|F=f) + H(X2=x2|F=f) + … + H(Xn=xn|F=f). 这评测指标在形式上是不是与信息瓶颈理论相关?但其实两者还是有明显的区别的。信息瓶颈理论关注全部样本上的输入特征与中层特征的互信息,而我们仅针对某一特定输入,细粒度地研究每个单词的信息遗忘程度。

其实,我们可以从两个不同的角度,计算出两组不同的熵H(X|F=f)。(1)如果我们只关注真实自然语言的低维流形,那么p(X=x|F=f)的计算比较容易,可以将p建模为一个decoder,即用中层特征f去重建输入句子x。(2)在这篇文章中,我们其实选取了第二个角度:我们不关注真实语言的分布,而考虑整个特征空间的分布,即x可以取值为噪声。在计算p(X=x,F=f) = p(X=x) p(F=f|X=x)时,我们需要考虑“哪些噪声输入也可以生成同样的特征f”。举个toy example,当输入句子是"How are you?"时,明显“are”是废话,可以从“How XXX you?”中猜得。这时,如果仅从真实句子分布出发,考虑句子重建,那些话佐料(“are” “is” “an”)将被很好的重建。而真实研究选取了第二个角度,即我们关注的是哪些单词被神经网络遗忘了,发现原来“How XYZ you?”也可以生成与“How are you?”一样的特征。

这时,H(X|F=f)所体现的是,在中层特征f的计算过程中,哪些单词的信息在层间传递的过程中逐渐被神经网络所忽略——将这些单词的信息替换为噪声,也不会影响其中层特征。这种情况下,信息量H(X|F=f)不是直接就可以求出来的,如何计算信息量也是这个课题的难点。具体求解的公式推导可以看论文,知乎上只放文字,不谈公式。

首先,从“普适性”的角度来看,中层特征中输入句子的信息量(输入句子的信息的遗忘程度)是信息论中基本定义,它只关注中层特征背后的“知识量”,而不受网络模型参数大小、中层特征值的大小、中层卷积核顺序影响。其次,从“一贯性”的角度来看,“信息量”可以客观反映层间信息快递能力,实现稳定的跨层比较。如下图所示,基于梯度的评测标准,无法为不同中间层给出一贯的稳定的评测。



下图比较了不同可视化方法在分析“reverse sequence”神经网络中层特征关注点的区别。我们基于输入单词信息量的方法,可以更加平滑自然的显示神经网络内部信息处理逻辑。


下图分析比较了不同可视化方法在诊断“情感语义分类”应用的神经网络中层特征关注点的区别。我们基于输入单词信息量的方法,可以更加平滑自然的显示神经网络内部信息处理逻辑。



基于神经网络中层信息量指标,分析不同神经网络模型的处理能力。我们分析比较了四种在NLP中常用的深度学习模型,即BERT, Transformer, LSTM, 和CNN。在各NLP任务中, BERT模型往往表现最好,Transformer模型次之。

如下图所示,我们发现相比于LSTM和CNN,基于预训练参数的BERT模型和Transformer模型往往可以更加精确地找到与任务相关的目标单词,而CNN和LSTM往往使用大范围的邻接单词去做预测。


进一步,如下图所示,BERT模型在预测过程中往往使用具有实际意义的单词作为分类依据,而其他模型把更多的注意力放在了and the is 等缺少实际意义的单词上。



如下图所示,BERT模型在L3-L4层就已经遗忘了EOS单词,往往在第5到12层逐渐遗忘其他与情感语义分析无关的单词。相比于其他模型,BERT模型在单词选择上更有针对性。



我们的方法可以进一步细粒度地分析,各个单词的信息遗忘。BERT模型对各种细粒度信息保留的效果最好。


十多年前刚刚接触AI时总感觉最难的是独立找课题,后来发现追着热点还是很容易拍脑袋想出一堆新题目,再后来发现真正想做的课题越来越少,虽然AI领域中学者们的投稿量一直指数增长。

回国以后,身份从博后变成了老师,带的学生增加了不少,工作量也翻倍了,所以一直没有时间写文章与大家分享一些新的工作,如果有时间还会与大家分享更多的研究,包括这篇文章后续的众多算法。信息量在CV方向应用的论文,以及基于这些技术衍生出的课题,我稍后有空再写。

作者介绍:

张拳石,上海交通大学副教授。2009年获北京大学机器智能学士学位,并于2011年和2014年获得日本东京大学空间信息科学中心理科硕士和博士学位。2014年至2018年,他是加州大学洛杉矶分校的博士后研究员,师从朱松纯教授。他的研究兴趣涵盖计算机视觉和机器学习。目前,他正在领导一个可解释AI小组,相关主题包括可解释神经网络、预训练神经网络解释,以及无监督/弱监督学习。

原文链接:https://zhuanlan.zhihu.com/p/67831834

(*本文为 AI科技大本营转载文章,转载请联系原作者)

精彩推荐

参与投稿加入作者群,成为全宇宙最优秀的技术人~

大会开幕倒计时5天!

2019以太坊技术及应用大会特邀以太坊创始人V神与众多海内外知名技术专家齐聚北京,聚焦区块链技术,把握时代机遇,深耕行业应用,共话以太坊2.0新生态。即刻扫码,享优惠票价。

推荐阅读

  • 6月技术福利限时免费领

  • 2019年技术盘点容器篇(一):听UCloud谈风生水起的K8S | 程序员硬核评测

  • 异类框架BigDL,TensorFlow的潜在杀器!

  • 吐血总结!100个Python面试问题集锦(上)

  • 5G 时代,微软又走对了一步棋!

  • LinkedIn最新报告: 区块链成职位需求增长最快领域, 这些地区对区块链人才渴求度最高……

  • 写代码不严谨,我就不配当程序员?

  • 碾压Bert?“屠榜”的XLnet对NLP任务意味着什么

  • 如何向妹子解释:为啥 5G 来了需要换 SIM卡!

你点的每个“在看”,我都认真当成了喜欢

上海交大张拳石:神经网络的可解释性,从经验主义到数学建模相关推荐

  1. 上海交大张拳石:漂在零丁洋里的体系,神经网络的博弈交互解释性

    作者:上海交大 张拳石等 首发于知乎:Qs.Zhang张拳石 可解释性研究一直有两副嘴脸,一副烈火烹油繁花似锦,一副如履薄冰零丁洋里叹零丁. 在2018年我开始发知乎是为了"活着" ...

  2. 上海交大张拳石:神经网络的变量交互可解释性研究

    文 | Qs.Zhang张拳石@知乎 可解释性研究一直有两副嘴脸,一副烈火烹油繁花似锦,一副如履薄冰零丁洋里叹零丁. 在2018年我开始发知乎是为了"活着"--被刷榜为王的风气屡屡 ...

  3. 神经网络算法是用来干什么的数学建模

    神经网络算法是用来干什么的 神经网络算法是由多个神经元组成的算法网络. 逻辑性的思维是指根据逻辑规则进行推理的过程:它先将信息化成概念,并用符号表示,然后,根据符号运算按串行模式进行逻辑推理:这一过程 ...

  4. 数学建模神经网络模型,数学建模神经网络算法

    神经网络能对数据进行预测吗 数学建模 . 神经网络本身就是数学的逼近模型,网络最早是由数学中的函数逼近技术而来,按照统计学规律,组合成线性叠加网络,从中分析出一些现实中高度非线性的模型,神经网络本身就 ...

  5. 神经网络数学建模怎么算,神经网络数学建模论文

    神经网络能对数据进行预测吗 数学建模 . 神经网络本身就是数学的逼近模型,网络最早是由数学中的函数逼近技术而来,按照统计学规律,组合成线性叠加网络,从中分析出一些现实中高度非线性的模型,神经网络本身就 ...

  6. 上交大张拳石:深度学习可解释性,从百家争鸣到合众归一

    导读:深度神经网络的可解释性近年来受到大家越来越多的关注,相关技术流派也呈百家争鸣的状态.但是目前大部分可解释性算法往往侧重于工程性的功能实现,侧重于迎合人类对被解释事物的主观认知,而缺少基于统一的理 ...

  7. 张拳石:深度学习可解释理论的统一体系与去芜存菁 | 青源 Talk 第 14 期

    活动议程 日期:3月17日(周四) 时间 主题 14:30-14:35 开场简介 许志钦 上海交通大学自然科学研究院/数学科学学院长聘教轨副教授,青源会会员 14:35-15:20 深度学习可解释理论 ...

  8. 神经网络的可解释性综述!

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:机器学习小谈,来源:图灵人工智能 地址|https://zhuan ...

  9. 神经网络的可解释性综述

    报道:人工智能前沿讲习   作者:知乎-机器学习小谈 地址:https://zhuanlan.zhihu.com/p/368755357 本文以 A Survey on Neural Network ...

最新文章

  1. 面试被问分布式事务(2PC、3PC、TCC),这样解释没毛病!
  2. python itchat库安装_操作微信-itchat库的安装
  3. 4种实例 advice aop_《Spring实战》阅读笔记
  4. vue怎么插入接口demo_前端学起来特别吃力,新人入前端怎么学?
  5. Anaconda中出现No module named cv2
  6. 关于ASP访问ACCESS数据的错误80004005的解决方法
  7. 2019,国产手机生死存亡的一年
  8. C语言中函数调用中静态变量的应用
  9. quilleditor 字体大小设置_quill-editor如何更改字体配置?
  10. 【实战】Pytorch BiLSTM + CRF做NER
  11. windows注册表操作——备份,还原注册表,清除注册表卸载残留信息
  12. vue 加headers_vue上传图片设置headers表头信息
  13. 做统计分析课程设计时回忆的一些知识
  14. Sublime Text3 配置LaTex编辑器
  15. 漫画分销系统服务器配置,漫画分销平台怎么选择?月流水30万的老手来说两句!...
  16. 操作系统-移动操作系统-百科: iOS(苹果公司的移动操作系统)
  17. 学到生无可恋之 Redis(上)
  18. vue.runtime.esm.js?2b0e:619 [Vue warn]: Duplicate keys detected: ‘tab-Test3‘. This may cause an upda
  19. Uniapp快速离线打包安卓Apk,免去每次云打包排队的时间
  20. TIOBE 9 月编程语言排行榜,新 TIOBE 指数算法

热门文章

  1. C#共享内存实例 附源码
  2. 【推荐】使用Ultrapico Expresso学习正则表达式
  3. netty里集成spring注入mysq连接池(一)
  4. php高级技术考试题,PHP高级技术考试题.doc
  5. Ubuntu双击运行Shell脚本
  6. django mysql 时区_django 中的时区设置
  7. 关于码云的一些基本知识_关于教师资格考试的知识点。
  8. 论文: 贝叶斯优化方法和应用综述(1)--------陈述设计类问题举例子,与 model-free优化计算的对比
  9. UNDO表空间损坏,爆满,ORA-600[4194]/[4193]错误解决
  10. BOM 浏览器对象模型和DOM 文档对象模型