0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

OpenAI发布神经网络可视化神器!

电子工程师 来源:杨湘祁 作者:电子发烧友 2019-03-11 09:34 次阅读

神经网络到底是如何运作的?

虽然机器视觉系统在越来越多的领域得到应用,从医疗保健到自动驾驶汽车,但是要真的理解机器的眼睛到底是如何“看到”事物,为什么它将甲归类为行人,但将乙归类为路标,仍然是一个迷。

今日,谷歌与OpenAI发布新研究,希望通过绘制这些系统用于理解世界的视觉数据,来进一步打开人工智能视觉领域的黑匣子。

此项研究被称为“激活地图集”(Activation Atlases),是一种神经元交互方式的最新可视化技术。

该研究一经发布,就在全网引发热议。它能够像“显微镜”一样,帮助研究人员分析各种算法工作原理

不仅能够揭示它们识别的抽象形状、颜色与图案,还能够揭示它们如何将这些元素结合起来以识别特定的物体、动物与场景。

如果将之前的研究比作在算法的视觉字母表中显示单个字母,那么激活地图集则提供了整个字典,它能够显示字母是如何组合在一起制作实际词汇的。

视觉分类网络的激活图集,揭示了许多完全被识别出的特征,如电子设备、建筑、食物、动物耳朵、植物和水样背景等等

激活地图集建立在特征可视化的基础上,是一种研究神经网络隐藏层究竟可以表示什么的技术。特征可视化的早期工作主要集中在单个神经元上。通过收集数以万计的神经元相互作用和可视化的样例,激活地图集将关注点从单个神经元转移到可视化这些神经元所共同代表的空间。

OpenAI的博客介绍称:激活地图集比预期的效果更好,似乎有力地表明神经网络的激活层对人类而言是有意义的。这能让我们更加乐观地认为,视觉模型能取得非常好的可解释性。

从不同的训练样例中收集一百万个激活向量,将它们安排在二维空间中,使相似的激活向量紧密地结合在一起。然后,在每个单元的平均值上施加一个网格并使用特征可视化。

谷歌的Shan Carter是这项工作的首席研究员。Carter说:“拿'鲨鱼'这一图像类别为例,其中会有很多激活因素,比如'牙齿'和'水'。

这项工作并不一定是一项巨大科学突破,但它确实是更广泛的特征可视化这一研究领域中向前迈出的重要一步。佐治亚理工学院的博士生Ramprasaath Selvaraju(未参与这项工作)认为这项研究“非常令人着迷”,它结合了许多现有的想法来创造一项”非常有用“的新工具。

因为通常情况下,如果要部署一个关键的软件,程序员可以通过检查代码的所有执行路径,甚至进行形式化验证来确保安全。但是目前而言如果用到了神经网络,我们进行这种检查的能力将会受到很大的限制。

有了激活地图集,人类就可以发现那些存在于神经网络中而未曾被预料到的问题。例如,神经网络可能会依赖虚假相关性对图像进行分类,或者因为重复利用了不同类别间共有的某个特征而导致奇怪的错误。人类甚至可以利用这种理解来“攻击”模型,修改图像来欺骗它。

部分依赖面条的存在来区分炒锅和煎锅。加入面条会有45%的可能欺骗模型。

在未来,这样的研究将有很多用途,比如帮助我们建立更高效和先进的算法,还能够通过让研究人员进入模型的内部来提高其安全性并消除偏误。“由于神经网络固有的复杂性,它们缺乏可解释性,”Selvaraju在采访中说。但是在未来,当这种网络经常被用于驾驶汽车以及引导机器人时,可解释性将非常重要。

OpenAI的Chris Olah也参与了这个项目,他说,“感觉有点像创造一个显微镜。至少,这就是我们所追求的目标。“

激活地图集允许研究人员将视觉数据算法用于理解世界

激活地图集的工作原理

要了解激活地图集和其他功能可视化工具的工作原理,首先需要了解一下AI系统如何识别对象。

实现这一目标的基本方法是使用神经网络:一种与人类大脑大致相似的计算结构(虽然它在复杂性方面落后了无数倍)。在每个神经网络内部有像网状物一样连接的人造神经元层。像大脑中的细胞一样,这些细胞会响应刺激——这一过程被称为激活。重要的是,它们不仅仅能够被开启或关闭;它们有一定的取值范围,能够为每次激活赋予特定值或“权重”。

要将一个神经网络变为真正有用的东西,你必须提供大量的训练数据。在视觉算法的情况下,这将意味着数十万甚至数百万被标记为特定类别的图像。在谷歌和OpenAI的研究人员为这项工作测试的神经网络的情况下,这些类别非常广泛:从羊毛到温莎领带,从安全带到加热器。

神经网络使用互相连接的人工神经元层来处理数据。不同的神经元反映图像的不同部分。

当我们使用这些数据训练网络时,神经网络中的不同神经元会响应对应的图像。此规律会连接到图像的标签,这种联系允许网络“学习”事物的样子。一旦经过训练,你就可以向网络显示它以前从未见过的图片。神经元将会被新图片激活,将该图片与特定类别相匹配。恭喜!您刚刚训练了机器学习视觉算法。

如果这些解释听起来都简单到令人不安,那是因为,从很多方面而言,它就是这么简单。像许多机器学习程序一样,视觉算法本质上只是模式匹配。这给予了它们一定的优势(例如,只要你拥有必要的数据和计算能力,就可以直接进行训练算法)。但这也给了它们某些弱点,比如说它们很容易被之前从未见过的图像输入弄糊涂这一事实。

自研究人员在2010年初发现了神经网络在视觉任务方面潜力以来,他们一直在钻研机制,试图弄清楚这些算法到底是如何完成任务的。

有一项名为DeepDream的早期实验,这是2015年发布的计算机视觉计划,意图将任何图片变成了自身的幻觉版本。DeepDream的视觉效果肯定是有趣的(在某些方面,它们定义了所谓人工智能美学),但该程序也是一个像算法一样的早期尝试。Olah说:“在某些方面,这一切都始于DeepDream。”

像这样的DeepDream图像都被机器学习算法设计得尽可能有趣

DeepDream也即将图像调整为尽可能有趣的算法。看起来它似乎是在图像中发现“隐藏”的图案,但它更像是有人在着色书中涂鸦:用眼睛、茎杆、螺纹和鼻子填充每一寸空白——尽可能地激发算法。

后来的研究采用了同一基本方法并对其进行了微调:首先看是什么激发了网络中的单个神经元、神经元群以及网络中不同层的神经元组合。如果说早期的实验就像Isaac Newton用钝针扎自己的眼睛来理解视觉一样太专注,其结果很偶然,那么最近的研究工作就像Newton用棱镜分解光线一样更有目的性。通过反复绘制神经网络每个部分被激活的视觉元素,最终得到神经网络核心的视觉索引图集。

缩小或放大激活地图集

激活地图集展示算法的内部运作

激活地图集实际上向我们展示了关于算法的内部运作的什么内容呢?我们可以先看看谷歌和OpenAI的例子,这是为了了解名为GoogLeNet或InceptionV1的著名神经网络的内部结构是如何创建的。

例子:

https://distill.pub/2019/activation-atlas/

你可以看到网络的不同部分怎么对不同的概念做出反应,以及这些概念被怎样地聚集在一起(例如,狗和鸟被完全分开)。你还可以看到网络的不同层如何代表不同类型的信息。较低层更为抽象,响应基本的几何形状,而较高层将这些解析为可识别的概念。

当你深入研究分类时,你会发现这才是相当有趣的地方。谷歌和OpenAI给出的一个例子是通气管和戴水肺的潜水员这两类之间的区别。

在下图中,你可以看到神经网络用于识别标签的各种激活。左边是与通气管高度相关的激活,右边是与戴水肺的潜水员密切相关的激活。中间是两类共享的激活,而边缘部分的激活则差异更加明显。

与通气管(左)和戴水肺的潜水员(右)紧密相关的激活

你一眼就能看出一些明显的颜色和图案。顶部看起来像颜色鲜艳的鱼身上的斑点和条纹,底部则像面具。右边突出显示的是一个奇怪的识别,很像火车头。当研究人员发现这一点时,他们很困惑。是不是关于火车头的视觉信息对戴水肺潜水员的识别很重要?

Carter说:所以我们测试了下,我们想如果我们加入一张蒸汽火车的车头的图片,它会有助于识别吗?意想不到的是,它真的有用。”

三张图片展示了如何再分类同一张图片。左边被识别为通气管;中间加入火车头之后识别为潜水员;当火车头的照片足够大时被识别为火车头。

该团队最终找到了原因:这是由于火车头的光滑金属曲线在视觉上接近于潜水员的空气罐。所以对于神经网络来说,这是潜水员和通气管之间的一个明显区别。为了节省区分这两类的时间,它就从其他地方借用了所需的视觉识别数据。

这个例子神奇地揭示了神经网络的工作方式。对于怀疑论者而言,它展示了神经网络的局限性。他们会说,视觉算法可能是有效的,但他们学到的信息实际上和人类理解世界的方式天差地别。这会让他们怀疑一些做法。例如,你只是在图片中故意加入几个像素,神经网络就可能认不出这张图片。

但对于Carter和Olah这类人来说,激活地图集和类似的工具所揭示的信息展示了这些算法所达到的惊人的深度和灵活性。例如,Carter指出,算法为了区分潜水员和通气管,它还将不同类型的动物与这两类做分析。

关注算法内部结构可以让他们更为准确有效

“深水中的动物,比如海龟,会被识别为水肺,水面上的,比如鸟,会被识别为通气管,”他说。他指出,这是从未让系统学习的信息,但它自己学习了这些。 “这有点接近对世界更深层次的理解。这让我很兴奋。“

Olah同意,“我发现在高分辨率下看这些图集令人震撼,我看到了这些网络的巨大潜力。”

他们二人希望通过开发这样的工具,能有助于推动人工智能整个领域的发展。通过了解机器视觉系统如何观看这个世界,理论上我们可以更加有效地构建它们并更细致地检查它们的准确性。

目前工具有限,Olah说我们可以给系统抛出测试数据来试着欺骗他们,但这种方法总是受到已知错误的限制。 他说:“但如果我们想投入精力的话,这给了我们一个揭露未知问题的新工具,这感觉就像每一代工具都能让我们更加理解这些网络的内部核心。”

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4538

    浏览量

    98424
  • AI
    AI
    +关注

    关注

    87

    文章

    26129

    浏览量

    263709

原文标题:OpenAI发布神经网络可视化神器!

文章出处:【微信号:MachineEpoch,微信公众号:MachineEpoch】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    可视化大屏设计模板 | 主题皮肤(报表UI设计)

    下载使用可视化大屏设计模板,减少重复性操作,提高报表制作效率的同时也确保了报表风格一致,凸显关键数据信息。 软件:奥威BI系统,又称奥威BI数据可视化工具 所属功能板块:主题皮肤上传下载(数据可视化
    发表于 09-12 10:10

    《 AI加速器架构设计与实现》+第一章卷积神经网络观后感

    分成多个组别进行处理。在本章节中,对常见网络算子进行了说明(如图6),卷积神经网络的核心运算方式是卷积操作,池操作和全连接操作。 图1 思维导图 图2 GCN模块分布图 图3 GCN模块之间的关系
    发表于 09-11 20:34

    人工神经网络和bp神经网络的区别

    人工神经网络和bp神经网络的区别  人工神经网络(Artificial Neural Network, ANN)是一种模仿人脑神经元网络结构和功能的计算模型,也被称为
    的头像 发表于 08-22 16:45 3058次阅读

    卷积神经网络和深度神经网络的优缺点 卷积神经网络和深度神经网络的区别

    深度神经网络是一种基于神经网络的机器学习算法,其主要特点是由多层神经元构成,可以根据数据自动调整神经元之间的权重,从而实现对大规模数据进行预测和分类。卷积
    发表于 08-21 17:07 1951次阅读

    卷积神经网络的介绍 什么是卷积神经网络算法

    卷积神经网络的介绍 什么是卷积神经网络算法 卷积神经网络涉及的关键技术 卷积神经网络(Convolutional Neural Network,CNN)是一种用于图像分类、物体识别、语
    的头像 发表于 08-21 16:49 1277次阅读

    卷积神经网络的基本原理 卷积神经网络发展 卷积神经网络三大特点

    卷积神经网络的基本原理 卷积神经网络发展历程 卷积神经网络三大特点  卷积神经网络的基本原理 卷积神经网络(Convolutional Ne
    的头像 发表于 08-21 16:49 1267次阅读

    卷积神经网络概述 卷积神经网络的特点 cnn卷积神经网络的优点

    卷积神经网络概述 卷积神经网络的特点 cnn卷积神经网络的优点  卷积神经网络(Convolutional neural network,CNN)是一种基于深度学习技术的
    的头像 发表于 08-21 16:41 1704次阅读

    卷积神经网络的应用 卷积神经网络通常用来处理什么

    卷积神经网络的应用 卷积神经网络通常用来处理什么 卷积神经网络(Convolutional Neural Network,简称CNN)是一种在神经网络领域内广泛应用的
    的头像 发表于 08-21 16:41 3561次阅读

    keras可视化介绍

    keras可视化可以帮助我们直观的查看所搭建的模型拓扑结构,以及模型的训练的过程,方便我们优化模型。 模型可视化又分为模型拓扑结构可视化以及训练过程可视化。 以上一讲的mnist为例,
    发表于 08-18 07:53

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法

    卷积神经网络原理:卷积神经网络模型和卷积神经网络算法 卷积神经网络(Convolutional Neural Network,CNN)是一种基于深度学习的人工
    的头像 发表于 08-17 16:30 836次阅读

    什么是神经网络?为什么说神经网络很重要?神经网络如何工作?

    神经网络是一个具有相连节点层的计算模型,其分层结构与大脑中的神经元网络结构相似。神经网络可通过数据进行学习,因此,可训练其识别模式、对数据分类和预测未来事件。
    的头像 发表于 07-26 18:28 1666次阅读
    什么是<b class='flag-5'>神经网络</b>?为什么说<b class='flag-5'>神经网络</b>很重要?<b class='flag-5'>神经网络</b>如何工作?

    .2 波士顿房价数据集可视化(1)#神经网络

    神经网络深度学习
    未来加油dz
    发布于 :2023年05月16日 15:27:42

    .2 三维数据可视化(2)#神经网络

    神经网络深度学习
    未来加油dz
    发布于 :2023年05月16日 15:17:26

    .1 二元线性回归模型可视化(2)#神经网络

    神经网络深度学习
    未来加油dz
    发布于 :2023年05月16日 15:05:44

    三个最流行神经网络

    在本文中,我们将了解深度神经网络的基础知识和三个最流行神经网络:多层神经网络(MLP),卷积神经网络(CNN)和递归神经网络(RNN)。
    发表于 05-15 14:19 1105次阅读
    三个最流行<b class='flag-5'>神经网络</b>