夏乙 编译整理
量子位 出品 | 公众号 QbitAI

我们总是听说人工智能在图像识别上超越了人类,刷脸也逐渐成了生活中司空见惯的事儿。这些图像识别技术背后,通常是深度神经网络。

不过,神经网络究竟是怎样认识图像的?

 特征可视化能够告诉我们神经网络在图片中寻找的是什么

特征可视化这个强大的工具,就能帮我们理解神经网络内部的世界,知道它们的工作原理。

谷歌研究员Christopher Olah、Alexander Mordvintsev和Ludwig Schubert今天在distill博客上发文深度探索了特征可视化这个问题,并顺便介绍了一些新trick。

distill.pub是Olah等人今年3月推出的机器学习网站,会不定期发表文章,以可视化、可交互的方式来展示机器学习研究成果。

原文地址:https://distill.pub/2017/feature-visualization/。其中包含大量可交互的示例图片。

下面,量子位对这篇文章做个简要的介绍:

在2015年谷歌推出的DeepDream基础上,经过AI研究界后来的共同努力,现在,计算机视觉模型中每一层所检测的东西都可以可视化出来。经过在一层层神经网络中的传递,会逐渐对图片进行抽象:先探测边缘,然后用这些边缘来检测纹理,再用纹理检测模式,用模式检测物体的部分……

上面是ImageNet训练的GoogLeNet的特征可视化图,我们可以从中看出它的每一层是如何对图片进行抽象的。

在神经网络处理图像的过程中,单个的神经元是不能理解任何东西的,它们需要协作。所以,我们也需要理解它们彼此之间如何交互。

通过在神经元之间插值,我们可以更好地理解他们是如何彼此交互的。下图就展示了两个神经元是如何共同表示图像的。

Distill原文中的这个例子,能够动手探索不同神经元组合在一起会得到什么结果。

当然,这篇文章还介绍了一些特征可视化的trick。

在进行特征可视化时,得到的结果通常会布满噪点和无意义的高频图案。这些高频图案似乎和strided convolution或者池化关系密切。

 反向传播时,每次strided convolution或池化都会在梯度幅值上创建棋盘格图案

我们想更好地理解神经网络模型是如何工作的,就要避开这些高频图案。这时所用的方法是进行预先规则化,或者说约束。改变梯度也是一种方法,这种优化方法称为预处理(preconditioning)。

当然,了解神经网络内部的工作原理,也是增强人工智能可解释性的一种途径,而特征可视化正是其中一个很有潜力的研究方向,谷歌的几位研究员将其视为帮人类理解神经网络的一个基础模块,可以与其他工具结合使用。

推荐对此感兴趣的读者去阅读:

distill原文:
https://distill.pub/2017/feature-visualization/

GoogLeNet所有通道的可视化:
https://distill.pub/2017/feature-visualization/appendix/

加入社群

量子位AI社群11群开始招募啦,欢迎对AI感兴趣的同学,加小助手微信qbitbot4入群;

此外,量子位专业细分群(自动驾驶、CV、NLP、机器学习等)正在招募,面向正在从事相关领域的工程师及研究人员。

进群请加小助手微信号qbitbot4,并务必备注相应群的关键词~通过审核后我们将邀请进群。(专业群审核较严,敬请谅解)

诚挚招聘

量子位正在招募编辑/记者,工作地点在北京中关村。期待有才气、有热情的同学加入我们!相关细节,请在量子位公众号(QbitAI)对话界面,回复“招聘”两个字。

量子位 QbitAI · 头条号签约作者

վ'ᴗ' ի 追踪AI技术和产品新动态

神经网络是怎样理解图片的?谷歌大脑研究员详解特征可视化相关推荐

  1. 谷歌大脑科学家亲解 LSTM:一个关于“遗忘”与“记忆”的故事 本文作者:奕欣 2017-01-14 09:46 导语:AI科技评论保证这是相对通俗易懂的一篇入门介绍了,看不懂的话欢迎关注「AI 科技

    谷歌大脑科学家亲解 LSTM:一个关于"遗忘"与"记忆"的故事 本文作者:奕欣 2017-01-14 09:46 导语:AI科技评论保证这是相对通俗易懂的一篇入 ...

  2. 谷歌大脑科学家亲解 LSTM:一个关于“遗忘”与“记忆”的故事

    谷歌大脑科学家亲解 LSTM:一个关于"遗忘"与"记忆"的故事 本文作者:奕欣 2017-01-14 09:46 导语:AI科技评论保证这是相对通俗易懂的一篇入 ...

  3. 神经网络学习小记录47——ShuffleNetV2模型的复现详解

    神经网络学习小记录47--ShuffleNetV2模型的复现详解 学习前言 什么是ShuffleNetV2 ShuffleNetV2 1.所用模块 2.网络整体结构 网络实现代码 学习前言 据说Shu ...

  4. php编译工具 知乎,关于知乎回答问题编辑框用Ctrl+V 粘贴图片是如何实现的详解...

    貌似我没有像QQ邮箱之类的装知乎的插件 是用HTML5的新功能实现的吗? 看了@朱利安 的回答,发现我描述的不够清楚 我是用QQ截图之类的工具截的图,然后图片本身是保存在剪切板里的,剪切板中保存的*不 ...

  5. java 窗体添加背景图片_Java Swing实现窗体添加背景图片的2种方法详解

    本文实例讲述了java Swing实现窗体添加背景图片的2种方法.分享给大家供大家参考,具体如下: 在美化程序时,常常需要在窗体上添加背景图片.通过搜索和测试,发现了2种有效方式.下面分别介绍. 1. ...

  6. [转帖]前端-chromeF12 谷歌开发者工具详解 Sources篇

    前端-chromeF12 谷歌开发者工具详解 Sources篇 原贴地址:https://blog.csdn.net/qq_39892932/article/details/82498748 cons ...

  7. 如何在Python中获取图片分辨率?——Python实现获取图片分辨率的代码及详解。

    如何在Python中获取图片分辨率?--Python实现获取图片分辨率的代码及详解. 在进行图片处理或者图片分析的时候,获取图片的分辨率信息是必不可少的.Python提供了许多库可以方便地获取图片的分 ...

  8. 百度AI图片识别亲测成功详解

    百度AI图片识别亲测成功详解 1.浏览器输入网址http://ai.baidu.com/或者百度一下搜索'百度ai'点击第一个. 2.点击控制台,有百度账号的直接登录,没有的注册后登录. 3.点击左侧 ...

  9. PPT中实现长图片滚动条显示!(详解)

    PPT中实现长图片滚动条显示!(详解) 1.环境是ppt2010 2.点击开发工具. 3.如果没有开发工具 4.在属性里设置.

最新文章

  1. linux驱动:TI+DM8127+GPIO(五)之plarform
  2. 元气满满 开工大吉 2020「升职加薪,走好这三步...」
  3. php跨域cookie共享使用方法
  4. poj3279 反转 挑战程序设计竞赛
  5. 如何做到 jQuery-free?
  6. 亿元大奖后抑郁被网友质疑卖惨 信小呆:不想再被打扰
  7. android ndk配置环境,在Windows中的安装Android NDK开发环境
  8. 初探Bootstrap
  9. es 1.7 ik 配置
  10. 6. Python基础:输入输出语句介绍
  11. 测试手机烧屏的软件,烧屏坏点检测
  12. MATLAB/Simulink双馈风机调频模型,风电调频模型,基于三机九节点搭建含双馈风机的电力系统模型
  13. hdoj3709(数位dp)
  14. Linux中锐捷认证开启WiFi热点解决方案
  15. ubuntu16.04编译高翔的ORBSLAM2_with_pointcloud_map,并保存点云图
  16. WebRtc视频特效
  17. bp神经网络数据预测实例,bp神经网络实例分析
  18. 小鼠试毒问题(二进制)
  19. Java经典实验_猴子的经典实验(转载)
  20. Camera hal 之 CameraProvider

热门文章

  1. 网络编程之 信号捕捉器(函数指针与回调函数)
  2. 怎样取消苹果手机x的静音设置_安卓不仿苹果静音键?千万别小瞧“静音键”, 功能竟如此强悍!...
  3. java中不允许一个方法在自身定义的内部调用自己_Java面向对象三大特性(基础篇)...
  4. python print tab_Python 字符串 expandtabs() 方法
  5. linux命令 三大利器,awk、grep、sed是linux操作文本的三大利器,也是必须掌握的linux命令之一...
  6. 电子元器件从入门到精通pdf_电子元件入门基础,常用电子元器件详解大全作用-涨知识必读...
  7. java 不退出_(Java)如果我在其外面点击,JPopupMenu将不会关闭
  8. linux 什么数据类型 8字节,linuxea:go数值类型(8)
  9. 站怎么点都是一样_搞笑段子:都说女人是水做的,你怎么不太一样
  10. mysql 读取oracle数据_Python中Pandas通过read_sql方法从Mysql或Oracle数据库中读取数据帧(DataFrame)...