神经网络决策过程可视化:AI眼中马云、马化腾、李彦宏谁最有吸引力?

简介: 神经网络在进行图像分类时如何做决策?The Hive的机器学习工程师利用开源的grad-cam项目,预测神经网络决策和图像分析时的焦点,发现神经网络关注的部分实际上与人十分类似。但是,也是有意外的地方。

神经网络所学会的“吸引力”是什么?

在判断一张图片是否安全时,神经网络看的是哪些部分?

使用grad-cam,我们探索了模型的预测过程,对于不同类型的图片,包括动作/静态、暴力、吸引力、年龄、种族等等。

30ee523cd9534609d9f8b90cab3b66c72c5adc7d

很显然,在上面展示的图片中,吸引力模型关注的是身体而非面部。有趣的是,模型在训练过程中没有接触任何明确定义的边界框,但即使如此,仍然学会了定位人体

487fe62813cd5bf2b12a67a04786cb0b0e382030

这个模型使用200k图像做训练,标记由Hive团队完成,一共分为3个类别:有吸引力(hot)、中立(neutral)、没有吸引力。

然后,所有得分会综合在一起,创建一个从0到10的评分等级。分类器地址:https://thehive.ai/demo/attractiveness

举个例子,如果让模型来判断BAT各家掌门人的吸引力得分,将会是这个样子:

cec9dd79c1a4966f12d0598a1d833d7759670e4c

关键的想法是,在全局池化前将logit层应用到最后一个卷积层。这会创建一个map,显示网络决策过程中每个像素的重要性。

fd36177a220b65e8f0e30f398cd47e5ea6d5cb1f

一个穿西装的人位于图片正中(上图右),表明这是电视节目,而不是商业广告。电视节目/商业广告模型,很好地展示了grad-CAM发现的模型决策背后的意外原因。另一方面,模型也能证实了我们的预期,比如左边那幅单板滑雪的例子(上图左)。

a60dce52c1169027ea2202679890afde2abaf20e

上面是动画节目分类器的结果。很有意思的是,在Bart & Morty中,最重要的部分是边缘(上图左)和背景(上图右),令人颇为意外。

e4a93881e99175dde94445f15edb903e5411a1b7

CAM & GradCam:分类时,神经网络正在看什么

类别激活地图(CAM)由Zhou[2]首先开发,能够显示网络正在看什么。对于每个类别,CAM能表明这个类别中最重要的部分。

后来,Ramprasaath对CAM做了扩展,让它在不需要做任何更改的情况下,能够适用于更广泛的架构。具体说,grad-CAM可以处理全连接层和更复杂的问题,如问题回答。幸运的是,我们完全不需要修改网络来计算grad-CAM。


最近,grad-CAM++ Chattopadhyay[4]进一步扩展了这种方法,提高输出热图的精度。Grad-CAM++能够更好地处理类别的多个实例,并突出显示整个类别,而不仅仅是最显著的部分。Grad-CAM++使用正偏导数的加权组合来实现这一点。

TensorFlow实现及代码

22eb4cc9cafbfb3eeef568e35ed433771d177401

这只返回一个num_classes元素的数组,其中只有预测类别的logit非零。这定义了损失。

62dc589857f397a9f8da78f2ccf15df3326b224a

然后,计算相对于网络的最后一个卷积层的损失的导数,并对这些梯度进行正则化。

c91626831c52fc6f4965a0afc5ba37c8cd967b5e

运行图,计算我们输入的最后一个卷积层。

16efbded827c006a34ad30914464407deead770e

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

8256cc10004b993191cd638767a4f7c48267dfd0

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

054f7b4a580c23e3500778d61a8a15665fcad21c

将cam输入一个RELU,只接收这个类别的正向建议。然后,将粗略cam输出调整为输入大小并混合显示。

最后,主要函数获取TensorFlow Slim模型的定义和预处理函数。用这些算法计算grad-CAM输出,并将其与输入照片混合。在下面的代码中,我们使用softmax概率最大的类别作为grad_cam的输入。例如:

48fe15dbe324633373aa200fab8cdea401b65a1a

该模型首选预测酒精为99%,赌博只有0.4%。不过,通过将预测类别从酒类转为赌博,我们可以看到,尽管类别概率很低,但模型仍然可以清楚地指出图像中的赌博元素(见右图)。


原文发布时间为:2018-01-12

本文作者:费欣欣

本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”微信公众号

原文链接:神经网络决策过程可视化:AI眼中马云、马化腾、李彦宏谁最有吸引力?

相关文章
|
1月前
|
机器学习/深度学习 数据可视化 计算机视觉
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
这篇文章详细介绍了如何通过可视化深度学习中每层特征层来理解网络的内部运作,并使用ResNet系列网络作为例子,展示了如何在训练过程中加入代码来绘制和保存特征图。
55 1
目标检测笔记(五):详细介绍并实现可视化深度学习中每层特征层的网络训练情况
|
1月前
|
机器学习/深度学习 数据可视化 Windows
深度学习笔记(七):如何用Mxnet来将神经网络可视化
这篇文章介绍了如何使用Mxnet框架来实现神经网络的可视化,包括环境依赖的安装、具体的代码实现以及运行结果的展示。
50 0
|
22天前
|
人工智能 资源调度 数据可视化
【AI应用落地实战】智能文档处理本地部署——可视化文档解析前端TextIn ParseX实践
2024长沙·中国1024程序员节以“智能应用新生态”为主题,吸引了众多技术大咖。合合信息展示了“智能文档处理百宝箱”的三大工具:可视化文档解析前端TextIn ParseX、向量化acge-embedding模型和文档解析测评工具markdown_tester,助力智能文档处理与知识管理。
|
1月前
|
机器学习/深度学习 数据可视化 Linux
Seaborn可视化学习笔记(一):可视化神经网络权重分布情况
这篇文章是关于如何使用Seaborn库来可视化神经网络权重分布的教程,包括函数信息、测试代码和实际应用示例。
40 0
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
神经网络深度剖析:Python带你潜入AI大脑,揭秘智能背后的秘密神经元
【9月更文挑战第12天】在当今科技飞速发展的时代,人工智能(AI)已深入我们的生活,从智能助手到自动驾驶,从医疗诊断到金融分析,其力量无处不在。这一切的核心是神经网络。本文将带领您搭乘Python的航船,深入AI的大脑,揭秘智能背后的秘密神经元。通过构建神经网络模型,我们可以模拟并学习复杂的数据模式。以下是一个使用Python和TensorFlow搭建的基本神经网络示例,用于解决简单的分类问题。
48 10
|
2月前
|
机器学习/深度学习 人工智能 自然语言处理
探索AI的奥秘:深度学习与神经网络
【9月更文挑战第11天】本文将深入探讨人工智能的核心领域——深度学习,以及其背后的神经网络技术。我们将从基础理论出发,逐步深入到实践应用,揭示这一领域的神秘面纱。无论你是AI领域的初学者,还是有一定基础的开发者,都能在这篇文章中获得新的启示和理解。让我们一起踏上这场探索之旅,揭开AI的神秘面纱,体验深度学习的魅力。
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
深入骨髓的解析:Python中神经网络如何学会‘思考’,解锁AI新纪元
【9月更文挑战第11天】随着科技的发展,人工智能(AI)成为推动社会进步的关键力量,而神经网络作为AI的核心,正以其强大的学习和模式识别能力开启AI新纪元。本文将探讨Python中神经网络的工作原理,并通过示例代码展示其“思考”过程。神经网络模仿生物神经系统,通过加权连接传递信息并优化输出。Python凭借其丰富的科学计算库如TensorFlow和PyTorch,成为神经网络研究的首选语言。
47 1
|
2月前
|
机器学习/深度学习 人工智能 算法
首个像人类一样思考的网络!Nature子刊:AI模拟人类感知决策
【9月更文挑战第8天】近日,《自然》子刊发表的一篇关于RTNet神经网络的论文引起广泛关注。RTNet能模拟人类感知决策思维,其表现与人类相近,在反应时间和准确率上表现出色。这项研究证明了神经网络可模拟人类思维方式,为人工智能发展带来新启示。尽管存在争议,如是否真正理解人类思维机制以及潜在的伦理问题,但RTNet为人工智能技术突破及理解人类思维机制提供了新途径。论文详细内容见《自然》官网。
54 3
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python爬虫入门指南探索AI的无限可能:深度学习与神经网络的魅力
【8月更文挑战第27天】本文将带你走进Python爬虫的世界,从基础的爬虫概念到实战操作,你将学会如何利用Python进行网页数据的抓取。我们将一起探索requests库和BeautifulSoup库的使用,以及反爬策略的应对方法。无论你是编程新手还是有一定经验的开发者,这篇文章都将为你打开一扇通往数据抓取世界的大门。
|
2月前
|
机器学习/深度学习 人工智能 TensorFlow
神经网络入门到精通:Python带你搭建AI思维,解锁机器学习的无限可能
【9月更文挑战第10天】神经网络是开启人工智能大门的钥匙,不仅是一种技术,更是模仿人脑思考的奇迹。本文从基础概念入手,通过Python和TensorFlow搭建手写数字识别的神经网络,逐步解析数据加载、模型定义、训练及评估的全过程。随着学习深入,我们将探索深度神经网络、卷积神经网络等高级话题,并掌握优化模型性能的方法。通过不断实践,你将能构建自己的AI系统,解锁机器学习的无限潜能。
43 0