作为这两篇文章的作者,我尽力回答。关于interpretability of neural networks的研究近几年才刚刚起步,我和UCLA的团队成员近年来在该方向总结了七个工作(参见Visual Interpretability for Deep Learning: a Survey)。我们的目的依然是尽可能的定义清楚network interpretability所涉及的概念以及研究范围。
在此之前,network interpretability的研究主要集中在两个方向上:1)network visualization and diagnosis,2)evaluation of network interpretability。在第一个方向上,人们提出了很多神经网络可视化的算法,去显示网络中某个filter所建模的视觉特征。另一些算法定位出与某个neural activation或某个网络输出密切相关的图像区域。一些学者通过挖掘神经网络的对抗性样本(adversarial samples)去分析网络的表达缺陷。第二个研究方向是提出一个对pre-trained network的可解释性的第三方的评测标准。如何定义一个网络内部表达的可解释性和如何评测可解释性依然是个相对开放的问题。在这个方向上,@周博磊CVPR17的文章[1]比较有代表性。
相比之下,我们团队希望探索更深层次的网络可解释性,即建立一个从神经网络内部表达到语义图模型的映射关系,以及进一步探讨基于可解释性在具体应用中的实际意义(比如与网络中层语义的交互)。
比如,一个重要的思路就是,我们希望用一个explanatory model去归纳总结一个pre-trained CNN各个层上的主要特征表达。我们用这个explanatory model去解释CNN内部特征的潜在语义,使得CNN内部表达不再是个黑箱,而不是用这个explanatory model去做具体的分类分割等任务。在[2,3]中,我们希望把一个pre-trained CNN的conv-layers上的主要特征表达,拆分成一个可解释的图模型,即explanatory graph。这个explanatory graph作为这个CNN的特征翻译器,去解释CNN中每个filter的每个神经触发背后潜在的语义。一个CNN中的每个conv-layer的每个filter往往潜在地建模了多种不同的object parts,即这个filter可能被不同的parts所触发。我们的工作就是无监督地把这些filters的混乱的feature maps拆分成不同的part组份,从而增加网络的可解释性。具体的介绍请参考https://zhuanlan.zhihu.com/p/31365150。进一步在[4]中,我们用一个decision tree,作为一个解释性模型,去总结一个CNN在fully-connected layers上的不同decision modes。当一个CNN为某个图像做出一个prediction的时候,decision tree可以给出具体某个filter对这个prediction定量的贡献值,进一步给出某个object part对prediction的定量的贡献。
我们的第二个思路是端对端的学习一个神经网络,使得其内部表达本身就是充分disentangled,充分可理解的。比如在[5]的interpretable CNN的研究中,我们在不标注object parts或texture的情况下,让算法自动的为CNN的每个高层filter去表示某个特定的object part语义,从而增加网络的可解释性。具体的介绍请参 https://zhuanlan.zhihu.com/p/30074544。
归根结底,以上的研究通过不同的方法建立了从神经网络内部表达到语义图模型的映射关系。有了这样的映射关系以后,我们希望对神经网络的训练不仅仅是end-to-end的,而且可以middle-to-end和end-to-middle的学习。即,我们可以与网络的中层语义表达进行交互。当训练一个新的模型,我们可以根据网络的中层语义像搭积木一样去搭建一个新模型,而不是端对端的从底层学习特征表达。这种通过网络可解释性的迁移学习的思路,可以大大降低训练网络的标注成本,做到few-shot learning。比如在[6]和[7]中,我们利用对CNN内部特征的图模型表达,提出了通过人机问答交互方式去高效的学习新的模型。
[1] David Bau, Bolei Zhou, Aditya Khosla, Aude Oliva, and Antonio Torralba. Network dissection: Quantifying interpretability of deep visual representations. In CVPR, 2017.
[2] Q. Zhang, R. Cao, F. Shi, Y. N. Wu, and S.-C. Zhu. Interpreting cnn knowledge via an explanatory graph. In AAAI, 2018.
[3] Q. Zhang, R. Cao, Y. N. Wu, and S.-C. Zhu. Growing interpretable part graphs on convnets via multi-shot learning. In AAAI, 2016.
[4] Quanshi Zhang, Yu Yang, Ying Nian Wu, and Song-Chun Zhu. Interpreting cnns via decision trees. arXiv:1802.00121, 2018.
[5] Quanshi Zhang, Ying Nian Wu, and Song-Chun Zhu. Interpretable convolutional neural network. In arXiv:1710.00935, 2017.
[6] Quanshi Zhang, Ruiming Cao, Ying Nian Wu, and Song-Chun Zhu. Mining object parts from cnns via active question-answering. In CVPR, 2017.
[7] Quanshi Zhang, Ruiming Cao, Shengming Zhang, Mark Edmonds, Ying Nian Wu, and Song-Chun Zhu. Interactively transferring cnn patterns for part localization. In arXiv:1708.01783, 2017.
来源:知乎 www.zhihu.com
作者:Qs.Zhang张拳石
【知乎日报】千万用户的选择,做朋友圈里的新鲜事分享大牛。 点击下载
没有评论:
发表评论