【深度】可解释性与deep learning的发展


点击上方“专知”关注获取更多AI知识!


来源:知乎 -Qs.Zhang

https://zhuanlan.zhihu.com/p/30074544


【导读】大家好,我叫张拳石,UCLA博士后。目前在朱松纯老师的实验室,带领一个团队,做explainable AI方向。本文的题目有些大,这篇短文中,我只简单谈谈个人对deep learning发展状况的感受,和我最近的explanatory graph for CNNs和interpretable CNN两个研究课题。希望大家批评指正。

当deep learning刚刚在CV圈子里面兴起的时候,我并没有第一时间给予足够的关注,直到几个月后,变革的巨浪拍下,旧方向消亡的速度和新技术诞生的节奏都大大超过我的预期。相信很多人都有类似的感觉。一方面,deep learning超强的performance终结了一批旧的算法。另一方面,相比于传统graph-based methods,deep learning大大降低了算法多样性,简化了算法设计的复杂度。一时间,做CV研究的思路变得非常清晰:设计一个新的loss,提出一个新的网络结构,把传统的heuristic方法hard encoded到网络结构中去实现端对端学习。一两项技术能够把CV领域改造到这种地步,deep learning为AI带来巨大的改变。

然而当端对端学习神经网络犹如烈火烹油迅速发展的时候,我和周围的很多学者不时的会感觉到一丝的隐忧:端对端的训练一个black-box model会一直平稳的向下发展吗?随着网络结构和loss function的设计越来越复杂,神经网络真的会按照设计老老实实的去表达人们希望它表达的知识吗?抱着这样的焦虑,很多学者致力于visualization of CNN knowledge,让CNN中每个unit的知识清晰的展现在人们的面前。更进一步,@周博磊定义出一系列标准去评测CNN知识的interpretability。


但是归根结底,在端对端学习之外,我觉得还需要找到一套新的神经网络操作工具,即让神经网络具有清晰的符号化的内部知识表达,去匹配人类自身的知识框架,从而人们可以在语义层面对神经网络进行诊断和修改。从logic-based专家系统,到graphical model,再到深度神经网络,模型的flexibility和performance逐渐提高。但是,从相反的方向,把一个神经网络的内部逻辑转化成graphical representations,或者logic-based rules,从而提高知识表达的interpretability。有了清晰的内部表达,那么对神经网络的训练是不是不但可以end-to-end,而且可以end-to-middle,middle-to-middle?当网络内部一些单元具有了某种语义,那么transfer learning是不是直接在语义层面指派就好了,不需要大数据去训练了?当网络训练可以深入到网络的内部语义,或许deep learning未来的发展会有更多的可能性。


我希望一个CNN不仅仅告诉我它在某张图像上检测到一只小鸟,我还要CNN明确的告诉我,它用第一个filter去监测鸟头,第二个filter去检测鸟尾巴。因为这两个filter被这张图像触发,所以判断出图像中有一只小鸟。进一步,当我知道鸟的分类得分是0.7,我还希望CNN给出鸟头部分贡献了0.3的分数,鸟尾贡献了0.2。当CNN内部逻辑足够条理清晰,我们是否还需要通过大数据进行端对端的训练?我们能否在语义层面直接debug CNN呢?

沿着这条思路,在“Interpreting CNN knowledge via an Explanatory Graph”一文中,我主要介绍了如何把一个CNN(pre-trained for object classification)的conv-layer内部知识转化成一个graphical model。算法自动学习出一个explanatory graph with tens of thousands of nodes去解释CNN内部的hierarchical知识结构。Explanatory graph中每一个node,严格表示在CNN中某个conv-layer的某个object part pattern。这样我就可以把混乱的CNN的知识拆分成几十万个object parts的子patterns。每个子pattern有很强的可迁移性(transferability),比如在multi-shot part localization的上可以降低1/3—2/3的误差。


进一步,基于explanatory graph语义化的表达,我们能否把传统的graph-based technologies自然的融入CNN的学习之中呢?我不知道。

在另一篇文章"Interpretable Convolutional Neural Networks"中,我介绍了如何端对端的学习一个CNN,使得其内部高层conv-layer的每个filter自动的表示某个object part。算法并不需要人为的标注object parts或texture作为额外的supervision,而是为这些filters添加一个prior constraint,使得在训练过程中自动回归的某种object part。


我还会写两篇短文分别专门介绍这两篇文章的技术细节。


在时代的巨浪下,deep learning未来将向哪里发展?我不知道。我只能带着一颗敬畏的心,摸着石头过河,边走边瞧吧。



欢迎转发分享到微信群和朋友圈!

获取更多关于机器学习以及人工智能知识资料,请访问www.zhuanzhi.ai, 或者点击阅读原文,即可得到!


-END-

欢迎使用专知

专知,一个新的认知方式!目前聚焦在人工智能领域为AI从业者提供专业可信的知识分发服务, 包括主题定制、主题链路、搜索发现等服务,帮你又好又快找到所需知识。


使用方法>>访问www.zhuanzhi.ai, 或点击文章下方“阅读原文”即可访问专知


中国科学院自动化研究所专知团队

@2017 专知

专 · 知


关注我们的公众号,获取最新关于专知以及人工智能的资讯、技术、算法、深度干货等内容。扫一扫下方关注我们的微信公众号。


点击“阅读原文”,使用专知

展开全文
Top
微信扫码咨询专知VIP会员