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

    文章

    4827

    浏览量

    106767
  • AI
    AI
    +关注

    关注

    89

    文章

    38077

    浏览量

    296301

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    NMSIS神经网络库使用介绍

    :   神经网络卷积函数   神经网络激活函数   全连接层函数   神经网络函数   Softmax 函数   神经网络支持功能
    发表于 10-29 06:08

    在Ubuntu20.04系统中训练神经网络模型的一些经验

    , batch_size=512, epochs=20)总结 这个核心算法中的卷积神经网络结构和训练过程,是用来对MNIST手写数字图像进行分类的。模型将图像作为输入,通过卷积和池层提取图像的特征,然后通过全连接层进行分类预测。训练过程中,模型通过最小
    发表于 10-22 07:03

    液态神经网络(LNN):时间连续性与动态适应性的神经网络

    1.算法简介液态神经网络(LiquidNeuralNetworks,LNN)是一种新型的神经网络架构,其设计理念借鉴自生物神经系统,特别是秀丽隐杆线虫的神经结构,尽管这种微生物的
    的头像 发表于 09-28 10:03 651次阅读
    液态<b class='flag-5'>神经网络</b>(LNN):时间连续性与动态适应性的<b class='flag-5'>神经网络</b>

    结构可视化:利用数据编辑器剖析数据内在架构​

    动路径,为数据驱动的决策提供坚实基础。借助数据编辑器,企业还能更便捷地对可视化呈现的数据进行编辑、调整,以满足不同分析场景的需求,进一步优化数据管理流程。 以神经网络可视化展示为例,在深度学习领域,
    的头像 发表于 05-07 18:42 403次阅读

    可视化组态物联网平台是什么

    可视化组态物联网平台是物联网技术与组态技术相结合的产物,是通过提供丰富的图形组件和可视化元素,让用户能够以直观、便捷的方式对物联网数据进行监控、分析和管理的平台。以下是其具体介绍: 定义 组态
    的头像 发表于 04-21 10:40 693次阅读

    VirtualLab Fusion中的可视化设置

    摘要 VirtualLab Fusion中的全局选项对话框可以轻松定制软件的外观和感觉。还可以保存和加载全局选项文件,以便可以轻松地将偏好设置从一个设备转移到另一个设备。本文档说明了与可视化和结果
    发表于 02-25 08:51

    VirtualLab Fusion应用:光波导k域布局可视化(“神奇的圆环”)

    特定光波导布局的光导和耦合条件。 概念 方向转换器计算器 可以通过“开始”>“计算器”找到方向转换器计算器,这有助于演示指定角度的不同方式。 k域可视化 k域可视化:平面波的传播
    发表于 02-21 08:53

    BP神经网络与卷积神经网络的比较

    多层。 每一层都由若干个神经元构成,神经元之间通过权重连接。信号在神经网络中是前向传播的,而误差是反向传播的。 卷积神经网络(CNN) : CNN主要由卷积层、池
    的头像 发表于 02-12 15:53 1301次阅读

    BP神经网络的实现步骤详解

    BP神经网络的实现步骤主要包括以下几个阶段:网络初始、前向传播、误差计算、反向传播和权重更新。以下是对这些步骤的详细解释: 一、网络初始
    的头像 发表于 02-12 15:50 1116次阅读

    BP神经网络的优缺点分析

    自学习能力 : BP神经网络能够通过训练数据自动调整网络参数,实现对输入数据的分类、回归等任务,无需人工进行复杂的特征工程。 泛能力强 : BP神经网络通过训练数据学习到的特征表示
    的头像 发表于 02-12 15:36 1551次阅读

    什么是BP神经网络的反向传播算法

    BP神经网络的反向传播算法(Backpropagation Algorithm)是一种用于训练神经网络的有效方法。以下是关于BP神经网络的反向传播算法的介绍: 一、基本概念 反向传播算法是BP
    的头像 发表于 02-12 15:18 1269次阅读

    BP神经网络与深度学习的关系

    ),是一种多层前馈神经网络,它通过反向传播算法进行训练。BP神经网络由输入层、一个或多个隐藏层和输出层组成,通过逐层递减的方式调整网络权重,目的是最小
    的头像 发表于 02-12 15:15 1338次阅读

    深度学习入门:简单神经网络的构建与实现

    / (1 + np.exp(-x))   定义神经网络的结构和参数初始: 收起 python   # 输入层节点数input_size = 2# 隐藏层节点数hidden_size = 3# 输出层节点数output
    的头像 发表于 01-23 13:52 838次阅读

    人工神经网络的原理和多种神经网络架构方法

    在上一篇文章中,我们介绍了传统机器学习的基础知识和多种算法。在本文中,我们会介绍人工神经网络的原理和多种神经网络架构方法,供各位老师选择。 01 人工神经网络   人工神经网络模型之所
    的头像 发表于 01-09 10:24 2232次阅读
    人工<b class='flag-5'>神经网络</b>的原理和多种<b class='flag-5'>神经网络</b>架构方法

    什么是大屏数据可视化?特点有哪些?

    大屏数据可视化是指通过大屏幕展示大量数据和信息,以直观、可视化的方式帮助用户理解和分析数据。这种展示方式通常用于展示复杂的数据集、实时监控系统、企业管理仪表盘等。以下是关于 大屏数据可视化 的详细
    的头像 发表于 12-16 16:59 996次阅读