首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Day058 Visualizing and Understanding

卷积神经网络就像一个黑盒子,如何才能解释这些filters是如何工作的呢?

可视化第一层的各个filters,可以看出他们都在搜寻一些点、线、角这样的特征,和人的视觉系统前几层的工作原理很像。

但是我们将中间几层的weights可视化之后,就没有什么可解释性了。

因此我们来关注一下最后一层,包含了4096维的特征。

用这个网络跑许多张图片,然后收集他们最后一层的特征,找最邻近特征的图片排列在一起。

上图可以看出,左边的是直接拿原始像素进行邻近匹配,因此都是背景、姿势、朝向等比较相近的图片。而右边是根据4096维特征进行邻近匹配的,因此就算大象有的朝左边,有的朝右边,都会被匹配为最邻近的,证明这4096维特征在分类问题上是非常有意义的。

为了更直观的查看这4096维特征的邻近匹配,可使用一些降维方法,将他们映射到二维平面,可使用PCA或者T-SNE。可以清楚地看到不同类别的分类情况。

还有一个思路是可视化激活函数层。查看每一个单元都在寻找什么特征。比如绿框标出来的那个单元在寻找人脸。这里使用的是ReLU,白色表示激活的部分,黑色表示没有被激活,不是想要寻找的特征。

为了得出每个单元在寻找什么样的特征,可以输入剪裁过后的特征明显的图片,比如眼睛、鼻子等等,来看哪一种特征可以使这个激活函数最大化。

还有一个方法是,用一个方框挡住图片的某一部分,通过网络得出它在对应类别下的概率值,然后在整张图的范围移动这个方框,得出各个地方的概率值,画出图像。

右边那列可见,红色代表概率值低,黄色代表概率值高。

概率值低代表这个被遮住的部位对于该类判别起到很大的影响,因此可以得出该网络都是根据哪些部位的特征来决定进行分类的。

还有一种方式是saliency maps,摆动每一个像素,看看这个像素多大程度上影响了最后的预测概率值。就可以知道图片的哪个部分最能影响结果的判定。

这个的出来的saliency map甚至还可以做segmentation。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180407G0255G00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券