为什么神经网络会把乌龟识别成步枪?现在的 AI 值得信任吗?

来源:36Kr

概要:人工智能的快速发展的确值得欣喜,但快速发展的背后还有各种不完善的地方。


人工智能的快速发展的确值得欣喜,但快速发展的背后还有各种不完善的地方。比如,前不久麻省理工学院的一些学生,利用3D打印出来的乌龟,成功地让谷歌的InceptionV3图像分类器认为其是一个步枪。乌龟=步枪?这个差距还是非常巨大的。如果正在行驶的无人汽车,把一个停车标志看成了限速标志呢?这将会带来多大的危险?


一辆自动列车在轨道上飞速行驶,它的摄像头不断地扫描着各种信号,以预测它的行驶速度应该有多快。它注意到了一个似乎需要提高速度的信号,然后照做了。几秒钟之后,火车险些出轨。后来,当一名人类调查员检查出问题的标志时,他们得到的是一种截然相反的信号——是放慢速度,而不是加快速度。


这是一种极端的比喻,但它表明了当今机器学习面临的最大挑战之一。神经网络能做的只能和它们所接受的信息一样好。这导致了一些引人注目的例子,说明基于错误数据训练的人工智能是有偏见的。但这些技术也容易受到另一种被称为“对抗性的例子”的弱点的影响。当一个神经网络将图像识别为一件事物时,就会出现一个对抗性的例子——人类看到的是另外一种东西。


这一现象是在2013年发现的,当时一群来自谷歌和OpenAI的研究人员意识到,他们可以稍微改变图像中的像素,使其看起来和人看到的一样,但机器学习算法会将其归类为完全不同的东西。例如,一个图像可能看起来像一只猫,但是当一个计算机视觉程序看到它时,它是一只狗。


为什么这种巧合如此重要——而且有潜在的风险?想象一下,如果一辆自动驾驶汽车正沿着街道行驶,它可能把停车标志看成限速标志。如果有人能设计出一种财务文件,当一个人看到它时,它是一种样子,但当它被扫描进电脑时,却显示出完全不同的数字,这意味着什么呢?或者,如果某个充满恶意的人发明了一种武器,当美国运输安全管理局的摄像头扫描、使用深度学习来处理图像的时候,这种武器似乎是无害的——比如说,一只乌龟?


当它们刚被发现的时候,对抗性的例子并不是令人担忧的。许多研究人员认为这是一个极端案例,一个随机的理论巧合。毕竟,在需要完全访问算法内部的时候创建一个敌对的例子,它会欺骗用户。研究人员只能用数字图像来构建这些例子——如果你试图打印出数字形式的图像,那么你对图像的超精确控制会立即被扭曲,因为打印机的分辨率无法在如此详细的水平上捕捉像素的变化。例如,尽管你可以成功地骗过一种算法,让你以为是狗的图片在它看来是只猫,但如果你把图像打印出来,并要求算法识别它时,它就不会被骗了。在现实世界中改变一个物体似乎更加困难。这似乎是一个不可能的挑战,要创造出一个物体,在形状方面有如此细微的变化,以至于人工智能会把它误认为是别的东西。另外,即使你做到了,一旦改变了角度也不会奏效。


或者说,学界的想法就是这样的。但本月早些时候,麻省理工学院的一组学生成功用3D打印做了一个看起来像一只可爱的小乌龟的物体——但被机器学习算法当作步枪来分类。麻省理工学院的博士生Anish Athalye说:“我们已经证明了它们不是利用奇怪的角落或奇怪部件。实际上,你可以在现实生活中伪造这些物体,从而骗过机器学习算法。”



学生们创建了自己的算法,无论模糊,旋转,缩放,还是角度的任何变化(无论是打印出的2D图像还是3D模型),都可以产生物理对抗性的例子。换句话说,他们的乌龟式步枪不只是一次性的。例如,他们用3D打印出的棒球,被电脑认为是浓缩咖啡。它可以可靠地骗过谷歌的InceptionV3图像分类器——可以识别1000个不同的物体的图像。这些算法已经存在于我们的手机和电脑上,使得照片库可以被搜索到,并使得在网上可以很容易对图片中对朋友进行标记。


在被问到如何应对敌对的例子时,谷歌指出,谷歌的研究人员已经在着手解决这个问题,该公司正在进行一项竞赛,目的是创建一种图像分类算法,不会被对抗性例子所愚弄。



这个3D打印的棒球,在电脑看起来就像是一杯浓缩咖啡。


麻省理工学院的学生们的工作给将原本只存在于理论上的担忧变成了现实。“风险很高,”Athalye说,他有计算机安全方面的背景。“我们还没有打破真正的系统,但我们已经比人们想象的更接近这一步了。”


并不是只有Athalye和他的同事们在这方面进行努力。来自华盛顿大学、密歇根大学、石溪大学和加州大学伯克利分校的一组学者能够打印出贴纸,并将其附着在停止标记上,从而使图像分类神经网络将它们识别为别的东西。对停车标志的微小改动可能看起来像是给司机(或乘客)的涂鸦,但自动驾驶汽车会看到一个让车标志或限速标志。除了扰乱交通,这可能是危险的:如果一辆车没有看到停车标志,并穿过十字路口,它就会撞上另一辆车,让人们的生命处于危险之中。


Athalye说:“在实际系统中,对抗性的例子应该是一个真正值得的问题。如果我们能做到这一点,坏人也能做到。”


部分问题在于,研究人员并不完全理解为什么会出现对抗性的例子——尽管很多人能自己创造出这方面的例子。如果没有对这一现象的深刻理解,就很难建立起防御机制,使图像分类器神经网络不容易受到机器学习中最令人费解的特性的影响。


但这并不意味着研究人员没有尝试。据加州大学伯克利分校的博士后研究员Bo Li说,目前已经有60多篇论文致力于在各种不同的语境中寻找对抗性的例子。他曾致力于制作贴纸,以改变算法对街头标识的看法。


一些人乐观地认为,最终研究人员将能够找到一个解决方案,并找到一种方法来预防这种对抗性。对于安全研究人员来说,将能够通过特定的软件解决方案来抵御特定的威胁,这一点仍然是积极的。这可能不是一个能保护所有攻击的万能工具,而是防范特定类型威胁的防御措施。


Nicolas Papernot是宾夕法尼亚州立大学计算机科学研究生,他指出,研究人员正开始寻找解决方案,无论成果多么有限。他在电子邮件中告诉我:“我非常乐观地认为,我们可以取得进步,最终实现强大的机器学习。”安全和机器学习社区也进行了卓有成效的交流。例如,今年3个不同的研究小组报告了对视觉模型进行基准测试的三个关键任务:手写数字识别、街景房屋号码识别,以及对象和动物的彩色图像分类。


其他人则不那么肯定。Nicholas Carlini是加州大学伯克利分校计算机安全专业的一名博士生,他想要攻破其他学者对对抗性例子的防御机制。“我有点像坏人,”他说。“我说对不起,不,这没用。”作为攻击者,我可以根据你的防御来调整波长以进行攻击。”


Carlini已经发表了几篇关于他的攻击的文章,在2017年5月的一篇文章中,他废除了10个不同的防御计划,并正在进行更多的工作。他认为,他的研究是一种扼杀研究思路的方法,他认为这些研究不会带来任何领域的进步,学者需要将研究的火力集中在更有前途的方法上。在有限的情况下,这样的一种方法会迫使攻击者歪曲对手的样例照片,以致于人眼能明显察觉到。尽管如此,为了抵御特定的、有限的攻击,少数有效的防御手段还是无法在数据集之间进行转换。


至少根据Carlini的说法,这是一个光明的一面。他说:“在一般安全社区,我们遇到了这样一个问题,在人们开始真正试图攻击他们之前,系统已经被使用了20年,我们意识到攻破它们已经太晚了,我们已经被问题困住了。令人兴奋的是,在这些东西真正被投入使用之前,人们正在努力解决这个问题,因为这意味着我们有希望解决问题,至少有一点,或者至少在我们付诸实践之前就能理解这个问题。”


即使是3D打印的海龟也只能工作,因为Athalye和他的同事们能够接触到他们能够愚弄的神经网络的内部机制——一个“白盒子”的情况。研究人员是否能够在不知情的情况下创造出物理对抗的例子还有待观察,即所谓的“黑匣子”情况。这就是真实世界的攻击者的处境,因为美国运输安全管理局肯定不会把代码发布到任何可以用来扫描行李的神经网络上。Athalye说,在不考虑图像分类器的代码的情况下,找出如何做出对抗性的例子是他的下一个目标。


尽管这看起来很可怕,但Athalye并不认为我们需要担心——至少现在还没有出现。“没有理由恐慌。”他说:“我认为我们的工作是及时的,而且有可能损害系统。但我们还没有发现能够撞到别人的特斯拉。”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/497992.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Struts2自定义标签——示例

自定义Button功能描述&#xff1a; <tangs:button items"apple,orange,banana"/> 解析后为&#xff1a; <input type"button" name"apple" value"apple" /> <input type"button" name"orange…

深度学习的核心:掌握训练数据的方法

来源&#xff1a;云栖社区 概要&#xff1a;今天我们将讨论深度学习中最核心的问题之一&#xff1a;训练数据。 Hello World&#xff01; 今天我们将讨论深度学习中最核心的问题之一&#xff1a;训练数据。深度学习已经在现实世界得到了广泛运用&#xff0c;例如&#xff1a;无…

python停止运行tensorflow_Tensorflow 开启训练后卡死

毕设做深度学习的课题&#xff0c;使用到了TensorFlow&#xff0c;但训练时出现了问题&#xff1a;跑脚本开启训练之后&#xff0c;跑完不到100次就会卡死&#xff0c;然后显示python已停止工作这是我的训练的代码# 导入数据集import load_record# 导入TensorFlow并创建Session…

Struts2自定义标签(template)——示例

来源&#xff1a;http://www.blogjava.net/natlive/archive/2009/05/21/271890.html Struts2 的UITag原理&#xff1a; Struts2 UITag分三部份组成&#xff0c;一部份用于定义Tag的内容与逻辑的UIBean&#xff0c;一部份用于定义JSP Tag&#xff0c;也就是平时我们定义的那种&…

详解5G的六大关键技术

来源&#xff1a;电子产品世界 概要&#xff1a;在5G研发刚起步的情况下&#xff0c;如何建立一套全面的5G关键技术评估指标体系和评估方法&#xff0c;实现客观有效的第三方评估&#xff0c;服务技术与资源管理的发展需要&#xff0c;同样是当前5G技术发展所面临的重要问题。 …

为什么说特斯拉研发自动驾驶AI芯片应该引起注意?

来源&#xff1a;36Kr 概要&#xff1a;对于特斯拉而言&#xff0c;研发这款芯片配套算法本质上还是对率先将自动驾驶汽车商业化节点的争夺。 特斯拉Model 3的量产问题仍未彻底解决&#xff0c;CEO Elon Musk又抛出了自研自动驾驶芯片的重磅新闻。 Elon Musk和特斯拉Autopilo…

stm32usb做虚拟串口和键盘_关于stm32f103的USB虚拟串口程序移植

手边有个项目要用到USB传数据到主机&#xff0c;虽然有很多种方式&#xff0c;但最后还是选择了USB虚拟串口模式&#xff0c;将数据上传至pc端&#xff1b;然而这就涉及到了移植问题&#xff0c;在keil下官方已经给出了一个完整的USB TO VCOM的demo&#xff0c;但在我的主机上装…

4篇Nature同时揭示DNA自组装技术,离人造生命又近了一步

来源&#xff1a;刘盼科学网博客 概要&#xff1a; 科学家一直渴望利用自组装来构建人造物体&#xff0c;以达到细胞或细胞器的尺寸和复杂性&#xff0c;以便为研究&#xff0c;工程和医学应用构建合成的细胞机器。 iNature&#xff1a;自组装过程以各种形式存在于自然界中&…

均方距离计算公式_均值、方差、均方值、均方差计算

1、均值 均值表示信号中直流分量的大小,用E(x)表示。对于高斯白噪声信号而言,它的均值为0,所以它只有交流分量。 2、均值的平方 均值的平方,用{E(x)}^2表示,它表示的是信号中直流分量的功率。 3、均方值 均方值表示信号平方后的均值,用E(x^2)表示。均方值表示信号的平均功…

推动大数据和AI应用场景的落地,加速实现与产业融合。

来源&#xff1a;猎云网 概要&#xff1a;在新时代下&#xff0c;如何利用大数据与人工智能技术&#xff0c;大幅提升数据效率与业务决策&#xff0c;化数据新技术力为业务新能力&#xff0c;化业务新能力为商业新物种&#xff0c;成为各行各业在未来生存下去的关键。 今日&am…

web.config 指定的默认页失效

web.config 指定的默认页失效 解决方法&#xff1a; IIS 配置如下&#xff1a;

CCF大数据专家委:2018年大数据发展趋势预测

来源&#xff1a;大潘点点 概要&#xff1a;2018年大数据发展趋势预测 1、机器学习继续成为大数据智能分析的核心技术 2、人工智能和脑科学相结合&#xff0c;成为大数据分析领域的热点 3、数据科学带动多学科融合 4、数据学科虽然兴起&#xff0c;但是学科突破进展缓慢 5、推动…

connectionstring mysql_Entity Framework 6 自定义连接字符串ConnectionString连接MySQL

在开始介绍之前&#xff0c;首先来看看官方对Entity Framework的解释&#xff1a;Entity Framework (EF) is an object-relational mapper that enables .NET developers to work with relational data using domain-specific objects. It eliminates the need for most of the…

学界 | OpenAI 发布稀疏计算内核,更宽更深的网络,一样的计算开销

作者&#xff1a;杨晓凡 概要&#xff1a;OpenAI 的研究人员们近日发布了一个高度优化的 GPU 计算内核&#xff0c;它可以支持一种几乎没被人们探索过的神经网络架构&#xff1a;带有稀疏块权重的网络。 OpenAI 的研究人员们近日发布了一个高度优化的 GPU 计算内核&#xff0…

Java 实现sha_加密算法 MD5 和 SHA 的 JAVA 实现

首先先简单的介绍一下MD5 和 SHA 算法然后看一下在 java.security.MessageDigest (信息摘要包下) 如何分别实现 md5 加密 和 sha 加密最后在看一下 使用httpclient包 依赖下的 commons-codec-org. 包 下的apache.commons.codec.digest.DigestUtils 这个工具类 是如何快速…

java loadonstartup_java的web配置文件的“load-on-startup0/load-on-startup”一个问题

展开全部load-on-startup标记容器是否32313133353236313431303231363533e78988e69d8331333365643662在启动的时候实例化并调用其init()方法的优先级。它的值表示 servlet应该被载入的顺序。当值为0或者大于0时&#xff0c;表示容器在应用启动时就加载并初始化这个servlet。.如…

java隋唐演义游戏下载_JAVA多线程

第一节 多线程背景知识介绍多线程作用&#xff1a;可以帮助简化模型&#xff0c;还能编写强大的代码。进程与线程的基础概念&#xff1a;Eclipse QQ都属于进程。进程是程序(任务)的执行过程&#xff0c;它持有资源(共享内存、共享文件)和线程。它包含两点&#xff1a;1.动态性&…

packageinfo.java_package-info.java文件详解

package-info.java文件详解一、pacakge-info.java介绍pacakge-info.java是一个Java文件&#xff0c;可以添加到任何的Java源码包中。pacakge-info.java的目标是提供一个包级的文档说明或者是包级的注释。pacakge-info.java文件中&#xff0c;唯一要求包含的内容是包的声明语句&…

java classpath设置_Java CLASSPATH设置

Java CLASSPATH设置CLASSPATH: CLASSPATH是一个环境变量&#xff0c;Application ClassLoader使用它来定位和加载.class文件。 CLASSPATH定义路径&#xff0c;以查找不是扩展或Java平台一部分的第三方和用户定义的类。设置CLASSPATH时&#xff0c;请包括所有包含.class文件和JA…