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

打入神经网络思维内部

作者| Ryan

编译 孙浩

编辑|Emily

神经网络学到了什么对决策效用最大?它在哪里决定一张图像是否满足任务需求?利用 grad-CAM,我们探索了我们的预测模型:运动类型、动作 / 非动作、药物、暴力、魅力度、种族、年龄等。

Github repo:

https://github.com/hiveml/tensorflow-grad-cam

嘿,我也在上面的图片中!很明显,在上图中,这种吸引力模型更侧重于身体而不是脸部。有趣的是,在训练中它还学会了在没有特定边框信息的情况下识别出人的局部情况。该模型在 200k 张图像上进行了训练,并通过 Hive 将其标记为三个类别:火辣,自然,两者都不是。然后,将每个类别的得分组合起来,形成一个 0-10 的分数评级。这个分类器可在这里 1 找到。

其主要思想是在全局池之前将 logit 层应用到最后一个卷积层。这就创建了一张显示网络决策中表示每个像素的重要性的地图。

运动,少儿不宜的图片,暴力

这位足球运动员的姿势告诉模型,他正在进行一场比赛。我们可以很清楚地在 NSFW 和暴力图像中找到裸体和枪支。

单板滑雪,电视节目

一个西装革履的人,很明显地表明这是一个电视节目而不是一个商业广告 (右边)。电视 / 商业模型是一个很好的例子,展示了 grad-CAM 如何发现我们的模型做出决策背后的意想不到的原因。它们也可以证实我们的预期,正如在单板滑雪的例子中所看到的那样 (左)。

辛普森一家,Rick 和 Morty

这个例子使用了我们的动画显示分类器。值得注意的是,上图中最重要的点是 Bart 和 Morty 的边缘,以及这两种情况下的大量背景。

CAM 和 GradCam

类激活映射 (CAM),最先是由 Zhou2 开发的,它展现了网络正在查看的内容。对于每一个类,CAM 都阐明了对这个类来说最重要的图像部分。

Ramprasaath3 将 CAM 扩展到了更广泛的体系结构中,而且不需要任何更改。具体来说,grad-CAM 可以处理完全连接的层甚至更复杂的场景,如问题应答。幸运的是,我们根本不需要修改网络来计算 grad-CAM。

最近,Chattopadhyay4 使用 grad-CAM++ 进一步推广了该方法,提高了输出热图的精度。Grad-CAM++ 更擅长处理多实例类,并突出显示整个类,而不仅仅是最突出的那部分。它利用正偏导数的加权组合来达到这个效果。

以下是它在 Tensorflow 中的实现方式:

这将返回一个 num_classes 元素数组,其中只有非零预期分类的 logit 层,它定义了损失值。

然后我们计算损失对最后的卷积层的导数,并使这些梯度标准化。

运行这个图形来计算得到我们输入和标准化梯度的最后一个卷积层的输出。

计算权重,作为每个 10x10 网格的梯度值的平均值 (假设输入大小为 299x299)。我们使用的网络有 2048 个权重,在 10x10 大小的最终卷积层上有 2048 个输出通道。

将 cam 10x10 的粗输出作为加权平均梯度值和最终的卷积层的加权和。

通过一个 RELU 传递 cam,并只对这个类采取正向的建议。然后,我们将 cam 粗略的输出调整为输入大小,并将其融合到显示中。

最后,主功能将获取 tensorflow 超薄模型定义和预处理功能。通过这些方法,它将计算得到 grad-CAM 输出,并将其与输入照片相融合。在下面的代码中,我们使用强大的 softmax 概率实现的类作为 grad_cam 的输入。这里我们可以选择任何物体的类。例如:

酒精,赌博

该模型预测结果 99% 的情况下首选是酒精,选择赌博的比例仅为 0.4%。通过将预测层从酒精转变到赌博,我们可以看到低层预测的可能性,它可以清楚地分辨出图像中的赌博。

References

Our attractiveness classifier: https://thehive.ai/demo/attractiveness

Bolei Zhou, Aditya Khosla, Àgata Lapedriza, Aude Oliva, and Antonio Torralba. Learning deep features for discriminative localization. CoRR, abs/1512.04150, 2015

Ramprasaath R. Selvaraju, Abhishek Das, Ramakrishna Vedantam, Michael Cogswell, Devi Parikh, and Dhruv Batra. Grad-cam: Why did you say that? visual explanations from deep networks via gradient-based localization. CoRR, abs/1610.02391, 2016

Aditya Chattopadhyay, Anirban Sarkar, Prantik Howlader, and Vineeth N. Balasubramanian. Grad-cam++: Generalized gradient-based visual explanations for deep convolutional networks. CoRR, abs/1710.11063, 2017

Tensorflow Slim: https://github.com/tensorflow/models/tree/master/research/slim

Our grad-cam github: https://github.com/hiveml/tensorflow-grad-cam

Original grad-cam repo https://github.com/Ankush96/grad-cam.tensorflow

https://thehive.ai/blog/inside-a-neural-networks-mind

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

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券