CNN神经网络内部知识表达的“黑”与“白“

来源:知乎-Qs.Zhang张拳石

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

▌前言


  • 关于神经网络内部的知识表达,深究下去是个很复杂的问题,我很难给出一个面面俱到的答案。所以在这篇知乎里,我从自己两篇AAAI 2018的论文说起,只是希望提出问题,抛砖引玉。
  • 文题中的“黑”与“白”指的是神经网络的black-box的知识表达和我希望的white-box的可解释性模型。作为博后研究员,我在UCLA带领几个学生探索一种语义层面可解释的神经网络特征表达,或者把black-box网络特征表达转化成white-box图模型。
  • 文章第一部分主要介绍了神经网络特征表达中可能存在的bias,第二部分,我讨论了如何把一个训练好的神经网络的特征表达转化成一个可解释性的图模型。

▌Potential representation bias


近年来神经网络已经充分显示出强大的flexibility和classification accuracy。那么,在测试样本上的很高的精确度,能否证明模型表达的正确性呢?这难道这不是不言而喻的吗?"Examining CNN Representations with respect to Dataset Bias" in AAAI2018一文分析了Convolutional Network中可能的biased representations。

比如在上图中,我们用一个Convolutional Network去判断一个人是否涂了口红(口红这一属性的分类正确率应该在90%以上)。然而,当我们人为遮住嘴巴的部分或者ps上另一张嘴时,我们发现神经网络的分类值并没有出现预想中的大幅度的变化。进一步,当我们把某个conv-layer上的对口红属性敏感的feature map区域显示出来,我们发现Network其实很大程度上在用眼睛和鼻子区域的特征对口红属性进行判断。因为在训练样本中,口红往往与精致打扮的眼睛、眉毛、鼻子同时出现,而神经网络使用了co-appearing, but unreliable contexts去建模对应的属性。当然了,很多contextual information是有意义的,甚至是必不可少的,而另一部分contexts是有问题的。

因为测试样本往往具有与训练数据相似的data collection bias,所以在测试样本上的高正确率无法反应这种representation bias。

怎样在少量人工标注的前提下,自动分辨correct和biased representations?“Examining CNN Representations with respect to Dataset Bias”一文提出了一种间接检测representation bias的方法。我们仅仅需要标注一些ground-truth属性关系,比如口红属性与头发颜色没有关系,而是否涂口红与“浓妆艳摸”属性有正相关性,与“男性”属性有负相关性(属性层面的标注数量一般远远少于训练样本数量)。然后,我们提取神经网络中每个属性与中层conv-layer的feature maps上触发单元的对应关系。进一步,基于这种对应关系,我们可以计算出各个属性在神经网络中层表达上的相关性(哪些属性相互正相关,负相关,或不相关)。这样我们可以通过计算KL divergence of 标注的ground-truth属性关系和算法挖掘出来的属性关系,来判断biased representations。这些biased representations,包括blind spots(网络没有学习到一些本应改建模的特征)和failure modes(在哪类样本上可能做出错误的判断)。

▌Disentangling CNN representations into graphical models


其实在black-box表达中,之前提到的representation bias是很难避免的。相比之下,传统的white-box图模型往往不存在这样的问题。因为传统图模型中,每个节点本身往往具有某种语义。即使模型学到了某种biased representations,图模型本身的语义结构也会帮助人们很快找到表达的错误。甚至很多情况下,图模型的结构就是人为手动设定的,这种设计保证了特征的正确性。但是让人尴尬的是,恰恰是神经网络black-box表达保证了特征提取的flexibility和信息表达的效率(见information bottleneck理论)。

那么,我们在white-box表达和模型的performance上如何取舍呢?没有答案。对于工业界来说,这个问题很简单,毋庸置疑算法的效果决定一切。

然而对于学术研究来说,梦想总是还要有的。如何能够找到一种white-box的表达方式,同时又具有神经网络表达的flexibility和信息效率,这是一个很难的问题。很多人说这是不可能的,给出不少理由,而且很多理由是很有道理的。但是做研究就是要发现新的问题、找到新的解法,如果遇到困难就一帮子打死,那还是不要做研究了。目前我们团队提出了几个想法,但是距问题的彻底解决还离得很远。

"Interpreting CNN Knowledge via an Explanatory Graph" in AAAI, 2018一文提出了用一个graphical model,namely explanatory graph去解释一个Pre-trained Convolutional Network的conv-layers上的中层表达结构 (semantic hierarchy hidden inside a pre-trained CNN)。

上图充分显示了一个神经网络某个高层conv-layer的混乱的知识表达。图中,我们列出了四个不同的filters,在不同图像上的feature map的触发分布状态。我们可以看到,同一个filter,在第一幅图上被尾巴和脚触发,在第二张图像上却表示了头部。这样,given the feature map of a specific filter of a certain conv-layer,我们很难从feature map上看出来每个触发单元所表示的object parts。我们要做的工作就是把高层conv-layer中这种混杂的表达拆分开来,表示成一个个子pattern。

  • 这个filter到底表示了多少种不同的patterns of object parts?
  • 哪些filters的哪些patterns是同时触发的?
  • 这些同时触发的patterns具有怎样的空间结构呢?
  • 进一步,Given a feature map,请告诉我每个神经触发的背后对应哪个object part?

如上图所示:

  • 一个explanatory graph有很多层,分别对应Convolutional Network的不同conv-layer。
  • 神经网络的某个conv-layer的某个filter,可能建模了不同object parts的特征。算法自动disentangle the mixture of patterns from each filter,然后用不同的node去表示这个filter上对应的不同的parts。
  • explanatory graph中每一个node,表示某个特定的object part。只要这个node被触发,那么代表这个这个node对应的filter检测到了这个object part。这个node需要在空间上去鲁棒物体的shape deformation或pose的变化,在不同物体上把对应的part检测出来。
  • explanatory graph中每一条edge,表示相邻两个conv-layer上的两个node/pattern的co-activation关系和空间关系。
  • 我们可以认为这个explanatory graph是对神经网络各个conv-layer层的feature map信息的高度压缩。一个神经网络有很多conv-layer,每个conv-layer有几百个filter,每个filter输出一个很大的feature map。我们把这千千万万个feature maps上的千千万万输出单元的信息,用几千个nodes表达出来。即,这些feature maps表达了那些part patterns (nodes)?这些part patterns分别对应了feature map的哪些区域?
  • 一个explanatory graph的每一层有几千个nodes,这些nodes可以看作一个字典。任意给定一张输入图像,神经网络可能仅仅触发了explanatory graph中的一小部分nodes。

上图显示了利用每个graph node在各个图像上做inference的结果。每个node只对应一个feature map上的某个activation peak,而在不同图像上这个peak往往对应相同的语义。比如第一个node,表示头部,第二个node表示脚部。

算法:简单的来说,我们假设每个filter包含了N个patterns(nodes),就像GMM一样,我们用mixture of patterns去拟合对应的feature maps。同时我们要建模不同conv-layer间patterns的空间关系。即,本conv-layer层的patterns的位置不但要充分的拟合出当前的feature map形状,而且要与上一层相关的patterns保持特定的空间关系。算法的核心就是去学习patterns之间的相关性,去学习每个pattern与上层patterns的空间关系。我们用这种空间关系去disentangle feature maps of conv-layers。

算法本身很简单。我们从标准GMM公式中衍生出三、四个新公式,去建模pattern的空间关系。这里我就不赘述算法细节了。

这个算法隐含了某个前提假设。即,如果一个pattern可以在上一个conv-layer找到数十个共同触发的patterns,并且这些patterns在各个图像中都保持稳定的空间关系。那么这一组patterns往往都表示某种特定的object part。

  • Evaluation metric

我们希望把Convolutional Network转化成一个interpretable graphical model,那么如何去评价一个特征表达的interpretability是一个很重要的问题。周博磊在CVPR17提出了一种评价方法。我们在AAAI18中提出了另一种评价标准,即location instability,用来评价某个object-part pattern的interpretability。

我们假设,如果一个pattern在各个图像中,都表示相同的object part,那么这个pattern在不同图像上的检测位置与物体上某些ground-truth landmarks的相对距离应该保持相对稳定。比如,这个pattern总是被身体和尾巴的连接处触发,那么在不同图像上,pattern的检测位置和尾尖landmark的相对距离应该保持相对稳定(我不考虑蛇等特殊物体类别)。这样,我们就可以用这些相对距离在不同图像上的标准差,去评价这个pattern的location instability。我们可以设定多个landmarks,计算得到关于各个landmark的location instability的平均值。实验中Nodes in the explanatory graph的location instability远远低于各个baselines。

  • Potential applications

Explanatory graph可以作为一个事先训练好的视觉字典。当我们成功训练了一个神经网络去做某个类别的分类时,我们相信这个神经网络的conv-layers已经建模了大量的object part特征。我们的explanatory graph就是把这些混杂在一起的特征表达,一一拆分出来。每个node表示了千百个同类物体的共有的part特征,所以这些node有很高的transferability。

这些nodes可以用在one/multi-shot part localization上。当我标注一个bounding box of an object part,我可以用这一个bounding box从explanatory graph中提取数百个相关的node去表示这个part,从而在新的图像中去定位这个object part。比起传统的方法,我们的方法降低了约1/3 localization errors。

作者介绍

加州大学洛杉矶分校 ( UCLA ) · 博士后

原文发布于微信公众号 - 专知(Quan_Zhuanzhi)

原文发表时间:2017-11-26

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏媒矿工厂

HDR关键技术:色调映射(一)

HDR技术近年来发展迅猛,在未来将会成为图像与视频领域的主流。如何让HDR图像与视频也能够同时兼容地在现有的LDR显示设备上显示,是非常重要的技术挑战。色调映射...

55740
来自专栏计算机视觉战队

什么促使了候选目标的有效检测?

首先,把之前推送的关于大数据问题与解决办法的内容上传给大家,供大家去学习去挖掘有用的知识。 网址:http://pan.baidu.com/s/1nvwoQ0p...

29990
来自专栏企鹅号快讯

用于大规模行人重识别的行人对齐网络

AI 科技评论按:本文首发于知乎行人重识别专栏,AI 科技评论获其作者郑哲东授权转载。 1.Motivation 近年来,对行人重识别(person re-ID...

44980
来自专栏机器之心

每个Kaggle冠军的获胜法门:揭秘Python中的模型集成

66390
来自专栏新智元

震撼!英伟达用深度学习做图像修复,毫无ps痕迹

33350
来自专栏AI科技评论

干货 | 浙大博士生刘汉唐带你回顾图像分割的经典算法

AI科技评论按:图像语义分割是 AI 领域中一个重要的分支,是机器视觉技术中关于图像理解的重要一环。近年的自动驾驶技术中,也需要用到这种技术。车载摄像头探查到图...

40550
来自专栏人工智能LeadAI

最全算法工程师面试题目整理(一)

1 基于每日用户搜索内容,假设只有少量已知商品的情况下,如何根据用户搜索内容获取平台内没有的新商品? ? ? 答案:这是一条类似于分词“新词获取问题”,答案是...

44560
来自专栏专知

【明星自动大变脸,嬉笑怒骂加变性】最新StarGAN对抗生成网络实现多领域图像变换(附代码)

【导读】图像之间的风格迁移和翻译是近年来最受关注的人工智能研究方向之一,这个任务在具有趣味性的同时也是很有挑战的。相关的研究成果也层出不穷,有的甚至引起了全世界...

48790
来自专栏量化投资与机器学习

量化投资之机器学习应用——基于 SVM 模型的商品期货择时交易策略(提出质疑和讨论)

2016年在东证期货的量化报告里,读到一篇文章,关于量化投资策略之机器学习应用——基于 SVM 模型的期货择时交易策略 。就顺手算了一下,发现了一些问题,因此和...

56690
来自专栏计算机视觉战队

AI都可以将文字轻松转成图像

夜晚是如此的安静,但是依然有很多挑灯夜战的你、他、她......无论在哪座城市,都会有忙碌的人在灯光下依然勤奋努力的工作,希望分享的这首小曲可以缓解夜间工作的疲...

14620

扫码关注云+社区

领取腾讯云代金券