设为书签 Ctrl+D将本页面保存为书签,全面了解最新资讯,方便快捷。 您也可下载桌面快捷方式。点击下载 | 新浪科技 | 新浪首页 | 新浪导航

专门对付人工智能的AI黑客目测就要出现了

2018-10-23 08:54:55    创事记 微博 作者: 浅黑科技   

  欢迎关注“创事记”的微信订阅号:sinachuangshiji

  文/谢幺谢幺

  来源:浅黑科技(qianheikeji)

  最近我发现个问题:

  无论是在电影还是现实中,人工智能AI都经常以碾压人类的姿态出现在公众面前。

  电影里,T800机器人光着屁股登场,第一件事就是暴揍一群人类,抢走他们的衣服、摩托和墨镜,全程一副“你瞅啥再瞅瞅试试”的样子。

  现实中,人工智能也经常以碾压人类的姿态出现在公众面前。

  1997年“深蓝”战胜象棋大师卡斯帕罗,2017年前后“阿法狗”击败围世界级棋手李世乭、柯洁…… 每次都把人类选手逼到不得不认输。

  (被AI支配的恐惧三连发)

  如此看来,“人工智能发展史”简直就是“人类一步步被自己发明的 AI 击败的历史”,真让人悲喜交加无以表达……

  然鹅!

  画风一转,幺哥今天给大家讲个人类调戏 AI 的趣事。

  Let's Rock!

  图像识别大家都见识过,它是 AI 应用最热门的领域之一,人脸识别、物品识别、自动驾驶……应用十分广泛。

  但其实早在2015年前后,就有人发表过一篇名为《深度神经网络真好骗》的论文。

  他们发现,有一种骚操作能欺骗图像识别系统,分分钟让 AI 变傻子。

  怎么做的呢?

  这是一张熊猫侧身照,人类看着是熊猫,图像识别AI也把它认作熊猫。

  研究人员对这张图里的的某些特定像素进行了一点点肉眼无法辨识的扰动。

  (看不懂里头的公式没关系)

  之后,虽然人看着还是熊猫,可AI却会把它识别成长臂猿,而且置信度高达99.3%。

  就这样,人类成功欺骗了AI。

  根据这一原理,有人做了另一组更骚的实验。

  他们对马路上的路标进行了艺术加工,在特定的位置贴了些小纸片,涂抹了些污渍。

  照理说,路标每天在外面日晒雨淋,被弄脏或者贴个小广告也不奇怪,路人通常不会在意。

  可就因为这些特殊处理,让国外某款自动驾驶汽车变成了傻子。

  测试结果显示:左边三个“停止”路标被AI识别为“时速60码”,最右边的“右转”被AI识别成了“停止”。

  一开始,人们以为这是某个特殊条件偶然触发了BUG,可后来研究人员发现,这个问题在图像识别领域普遍存在。

  甚至,除了图像识别,声音识别等其他领域的AI应用也出现了类似问题。这时人们才发现,原来这是所有机器学习的通病!

  讲真,一开始我看到这项研究成果时,简直是身心愉悦喜闻乐见 —— 人类终于逆袭了一次AI。

  可等我冷静下来,却发现此事细思极恐。

  人类可以欺骗AI图像识别,这不就意味着,坏人能用这种方法让自动驾驶汽车撞向护栏?

  这不就意味着,下一次逃犯去听张学友的演唱会时可以欺骗人脸识别,躲避追捕?

  为了搞明白这件事,我想起了一位AI安全牛人,兜哥。

  兜哥是百度安全的一位资深安全研究员,这几年一直研究AI安全。

  大家都知道,百度是国内最早捣鼓AI的公司,在很多领域都有相关应用,如果AI存在被欺骗的问题,它肯定首当其冲,而兜哥又恰好在百度研究AI安全,必然知道其中门道。

  于是在某天下午,我去后厂村找到兜哥,强行让他给我传授了一套AI安全秘籍。

  兜哥说,机器学习的基本原理其实不难。

  就以图像识别为例,让AI去识别猫和狗,本质上就是让AI去做“分类”(或者聚类),把长得差不多的归类到一起。

  比如,让机器学习模型区分一堆红球和绿球,模型的分类器会不断试探,最终在函数图上画出一条分界线,完美区隔红绿球。

  区分猫和狗,其实也就是摸索出这么一条线。

  当然,实际应用中可能有无数条这样的线,比这复杂得多,本文只用最简单的例子来说明。

  那么,如何像文章开头那样欺骗AI呢?

  只需要在分界线附近随便找一个点,略微修改它的参数,让它移动到函数图上分界线的另一侧。

  这种“像素级”轻微改动,放到一张图片里,肉眼通常看不出来,但机器的判定结果却会发生变化。

  于是,便实现了文章开头的欺骗效果。

  研究人员把这种小幅度修改后能够改变AI判断结果,但人类感官无法辨别的数据样本统称为“对抗样本”。

  如果还不太理解,我再打个不太严谨的比方。

  首先,任何两个物体之间都会有一个辨识分界线。

  这,是王力宏

  这,是乌蝇哥。

  他们两个之间就有一条辨识分界线。

  辨识分界线附近的样本容易被弄混,它们很容易被找到“对抗样本”,让机器傻傻分不清楚。

  兜哥说,要找到某个图片的对抗样本,本质上就是想办法让它以最小的改动,移到分界线另一侧。

  于是,这个AI安全问题就变成了一个初中生数学题:“求一个点到一条直线的最短距离。”

  兜哥:听懂了吗?

  谢幺:听懂了!

  兜哥:好的,那下面布置作业,你现在就去黑掉AlphaGo试试!

  谢幺:呃……这……

  兜哥告诉我,如果研究人员提前知道机器学习模型的内部构造,就可以利用特定算法来生成“对抗样本”,这叫“白盒攻击”。

  如果研究人员只能控制输入和输出数据,完全看不到AI模型内部发生了什么,这时构造“对抗样本”就会比较麻烦,需要用“黑盒攻击”。

  所谓“黑盒攻击”,本质上就是猜,不断地瞎猜。

  比如把图片里的每个像素点都逐个改几遍,试试看它对结果的影响,最终找到能改变AI判断结果的那个。

  所以“黑盒攻击”需要些运气。

  如果运气好,有时候只需要修改一个像素就可以改变AI判断结果,实现攻击效果;如果手气不好,扫几个月也找不到一个“对抗样本”。

  显然,白盒攻击的成功率要比黑盒攻击高很多,所以AI开发者们最好保护好自家的AI模型,避免让攻击者知道其内部构造。

  研究人员还发现了一个有意思的情况:

  “由于很多种AI模型“祖上是一家”,都是从同一套算法/模型里衍生出来的,所以其实毛病都差不多。

  如果你想对付A模型,只需要先用白盒攻击在B模型里找到一个对抗样本,再直接拿到A模型里使用,很多时候都能直接起效。”

  他们把这种特性称为“攻击的迁移性”。

  对抗样本攻击具有迁移性,这也就意味着未来这种攻击方式会在人工智能领域变得很普遍。

  兜哥说,

  “如今AI应用地非常广泛,比如AI金融反欺诈、AI鉴别色情图片、AI拦截垃圾邮件等等,未来一旦黑产利用出现这类攻击手法,很可能导致AI反不了金融欺诈,拦截垃圾邮件失败,鉴别不出色情图片等等,想想都刺激。”

  那么,AI开发者要如何防御这种攻击呢?

  兜哥说,防御对抗攻击的方法倒是不少,大体分为三类:

  1.对抗训练

  对抗训练有些简单粗暴,开发者为了提高自己模型的“健壮性”,防止别人攻击自家模型,可以自己先攻击一遍。

  他们会提前用各种“对抗攻击”算法把自己的模型调教一遍,尽可能找出所有“对抗样本”,再把这些对抗样本扔进模型里,进行专项训练。

  这样训练出来的模型就会更加“健壮”,不再惧怕这些对抗样本,有点类似给人类小孩打疫苗。

  2.数据增强

  所谓数据增强,就是指训练的时候就加入一些随机的噪声、噪点。

  相当于训练模型时给数据都打上马赛克,让AI模型在模糊的环境下训练,最终让它达到一种“阅片无数,有码胜似无码”的境界。

  显然,如果AI模型在戴上眼镜的情况下都能认出一个物体,那么就不怕黑客再修改什么像素点了。

  就像下面这四幅画,都糊成这样你都成认出来,这种图片就别说改个像素点来迷惑你了,就砍掉个胳膊你也还是能认出来。

  3.特征挤压

  所谓特征挤压,可以理解为数学里的四舍五入。

  AI 模型在识别一些数据时,人为给数据进行取整,这样就能避免掉一些小数位上的扰动。

  这种方法跟前面的一种有点像,不过一个发生在训练过程的,一个发生在运行过程。

  兜哥告诉我:

  为了研究这种攻击方式,百度安全实验室几年前就内部研发了一个名叫AdvBox 的“对抗样本攻防工具包”。

  他们把很多主流的对抗样本攻击算法和防御方法打包成了一个工具包,专门给百度自家的AI系统做安全检测。

  今年,他们决定把这项安全能力分享给全球的AI开发者和安全研究人员,把AdvBox项目开源在“全球最大的同性交友网站”Github上。

  (有兴趣的童鞋可以去开源项目地址看看:github.com/baidu/Advbox)

  幺哥去看了一下,发现这个项目不仅支持百度自家的PadlePadle平台,而且还支持谷歌的TensorFlow等其他主流的深度学习平台。 

  (搞AI技术的同学应该对它们很眼熟)

  这个项目号称不仅能攻击静态图片,还能攻击语音、文本和视频,并且同时支持白盒攻击、黑盒攻击甚至是“物理攻击”。

  文章开头提到的在路标上粘东西骗过AI的操作就属于“物理攻击”。

  一般情况下,物理攻击其实挺难实现。

  因为即便攻击者用白盒攻击或黑盒攻击找到了对抗样本,在现实世界构造图案时也常常会受到拍摄角度、位置、光照强度、图案的色差等等因素影响;

  百度安全的这个开源项目号称“构造的对抗样本图片经过缩放、旋转、扭曲、亮度更改依然可以欺骗AI,由此可以大幅提高物理攻击的成功率。”

  (这张小猫图案经过拉伸、放大都可以骗过AI)

  据幺哥所知,除了AdvBox之外,百度安全今年已经开源7个重磅的安全项目,并称为“BASS技术栈”(BaiduAISecurityStack),史中老湿之前那篇《AI世界生存指南》专门写了这个,有兴趣的童鞋可以自行了解,这里就不赘述。

  安利完毕,下面再给大家讲个好玩的。

  说起来,“对抗样本”这个概念虽然出自人工智能领域,但是在我们人类在生活中也经常遇见这种认知BUG。

  比如这张人脸图片:

  如果只给一秒钟反应时间,有人会辨认成正脸,有人则会看到侧脸。

  还记得一开始用红球绿球举例的那个辨识分界线的问题吗?

  这张图片就正好介于人脑的辨识分界线,所以很容易让人产生认知偏差。

  这样的例子太多了……

  比如这张旋转女郎,我怎么看都是顺时针旋转,可中哥却坚决表示是逆时针旋转……

  (找你身边的朋友试试看?)

  之所以同样一张照片能看出两种旋转方向,正是因为它处在我们的辨识分界线。

  其实这张动图本质上只是一个2D黑影在不断变化,3D效果都是脑补出来的,在某个瞬间,我们无法分辨哪条腿在前,所以方向判断会出现紊乱。

  其实同一个瞬间,只需要脑补像下面这样加几条简单的线,就能避免这样的混淆。

  (左右两张取自同一张图的同一个瞬间)

  之前网友们争辩过的“蓝黑还是白金”、“laraul还是yanny”,以及前几天网友们讨论宋祖英的那首《爱我中华》的开头究竟是“五十六个民族”还是“五十六个星座”……其实都是类似的原理。

  完美的AI?不存在的。

  哪怕是进化了几千万年的人类大脑,也会出现这样那样的“漏洞”,更别说才刚刚面世不久的AI。

  兴许过不了多久,专门黑人工智能的“AI黑客”就会出现。

  未来科技世界充满想象,但也可能危机四伏。

  所幸的是,总有那么一群人痴迷于技术梦想,愿意分享,总是抢在黑产坏人们之前发现并试图解决问题,竭尽所能让这个世界更好。

  感谢他们!

  最后再介绍一下我自己吧,我是谢幺,科技科普作者一枚,日常是把各种高大上的技术知识、黑科技讲得通俗有趣。如果有什么有意思的科技类问题,可以加我的个人微信:dexter0。不想走丢的话,请关注【浅黑科技】!

文章关键词: 网络文化

分享到:
保存   |   打印   |   关闭