造就第435位讲者 王琦
- 碁震KEEN创始人兼CEO
- GeekPwn活动发起和创办人
大家看一下这个图片,里面有两个人,一个人的周围有一个紫色的框,上面写了person,另外一个没有。
这其实是一个智能的监控摄像,使用YOLO v2这样一个目标检测算法正确识别出了左边有一个人。可是右边明明站了一个人却没有被标记出来,这到底出了什么问题?
大家能看到两个人最大的区别就在于右边的人其实挂了一个东西。
这两位都是来自比利时的大学生,他们制作了一个40×40公分的图片,而这个图片起到的作用就是对抗。目的就是让目标检测算法失效,使机器无法识别出右边的人。
也就是说,其实我们可以在智能监控里实现隐形。
目前,智能监控应用的场景比较多,日常监控里可以检测到一个人大概是什么年纪,是男性还是女性,穿没穿白衬衫,有没有戴眼镜等等,包括路上的车辆,也可以识别出来车的一些行为。但是如果加上了这样对抗的东西,它有可能就会失效。
事实上,这样的研究成果并不是第一次出现,但是这两个大学生用一个非常有趣的方式把它展示出来,并且用了两个字叫做“隐身”。
对于普通人来讲,这个隐身可能不能代表什么,但是如果在一个关键的安全场景里出现了隐身,可能就会带来诸多安全隐患。这就是机器学习在安全场景里可能面临的一个情况。
大家看一下这个视频,放置第一个东西的时候,它已经被识别出是一个香蕉。当放到第二个特别显眼的图片的时候就完全失效,它几乎100%认定这是一个烤面包机。
这是2017年12月Google的研究员做的一个实验,针对的是VGG16模型的检测。
同样是被欺骗,它的检测是通过目标学习的方法实现的,但是机器学习面临了一个问题,如果加入了另外一个比较显眼的东西,机器就会产生误判。
这样的错误无伤大雅,因为直至今天,AI的发展其实非常初级,它有可能出现错误。
但是放在安全领域,我们不认为它是一个简单的错误,为什么呢?
我们做人工智能的目标是为了让机器越来越像人,可是在实验中,我们明显看到人不会犯错,而机器会犯错啊。
出现的这种情况就需要我们就要反思一下,机器学习在这个过程当中到底出现了什么问题?
人类学习周围的东西是通过视觉,从出生开始,我们就不断地观察学习周围的人和物。但是,我们人也会犯错,就像左边这张图片,人眼看上去会产生一种错觉,认为这些图案不是平行的,而事实上它的确是平行的。
从生物学的角度来说,它属于是一种幻觉,关于人之所以出现这种问题的原因其实非常复杂,到现在还没有定论。但如果把这个图片交给机器来判断是非常简单的,它不会出错。
这时你会发现,左边的图片,人会犯错,而机器不会,右边的图片,人不会犯错,而机器会。
这两种截然不同的结果就是我们人类学习和机器学习的很大的一个差异。
其实到目前为止,我们对机器学习,对Alpha Go为什么能够战胜人类的原因并不太清楚,机器犯错的原因我们也不知道。
这种情况下,如果在一些关键的场景里面,比如说飞机、汽车遇到这种场景,可能就会导致灾难。这就是我们需要担心的,我们也必须要了解它出错的原因是什么。
机器会犯错,机器也会“造假”
在AlphaGo之前,机器学习的视觉已经发展得比较好了,它在错误判断率,分类器这方面已经超过人类。但是在人工智能里有不同领域的专家,包括脑神经、机器学习等等,每个领域其实是有冲突的。
2013年,有一个坚定支持脑神经科学来实现人工智能的人提出,你们不是说这个学习方法是对的吗?那我就发明一个让你们出错的,还给这个图片起了一个名字叫做“对抗样本”。
当时并没有引起太多人的注意,2014年,Google的几个科学家把这个问题给专门提出来,形成了一种理论。这就奠定了现在机器学习安全领域的基础。
再看这个人脸墙,它代表的是机器不光会犯错,机器还可以造假。
这上面所有的人脸在地球上是不存在的,是机器自己通过学习产生了一些让你认为真正的存在的东西。
大家也不要以为机器只会造人,当然我说的不是那种“造人”,它还能创造建筑,包括我们的场景、景点全部能造出来,甚至还能造出《老友记》的对白,让人误以为这就是原来的台词,这就很可怕了。
这些全都是对抗样本的功劳,我听说视频界的朋友希望做一个影视公司,未来可能要研究人工智能,他们的目标是以后不用人来写剧本了,换成用AI来做编剧,甚至在未来还能做视频、电视剧。
那么以后我们欣赏的可能都不是人写的了。这可能是未来的一个方向,我不知道能不能实现。
AI对抗AI会发生什么?
大家看这个图片里面有什么呢?
有一个汽车的停止的标志。图片里所有元素都是用来做目标检测。
可是请大家注意一个细节,其他的东西全部都被正确识别,只有停车标志没有被正确识别,它被识别成瓶子。
这个图像来自于我们Keen举办的黑客大赛,展示的是在实验环境下做的图像识别欺骗的工作。这就是近些年我们在这个领域里一直在研究的工作,其实我们对AI安全有很多研究。
下面是我们做的一个仿声验声的项目,现在很多人家里面有智能音箱,它会判断主人说话,有些地方还能通过语音来识别人的身份,这些方法之所以能够有效,都是因为它通过人工智能的方法采集了我们的指纹(声纹)。
仿声验声攻防赛
如果能用AI的方法合成声音来对抗这种检测能不能成功呢?
事实证明是可以的。当时我们在现场交给选手《王者荣耀》妲己的声音样本,让它学习之后通过合成的方法说出一段话,这段话是在过去的声音样本中是不存在的。这并不是说AI算法本身存在漏洞,而是用AI的方法来合成声音做了一个对抗。
那最明显的AI对抗AI的方法是什么呢?
现在无论登录邮箱还是注册都会有一个reCAPTCHA的一个验证方式,比如我们12306的验证,让用户选出下面哪个图片里面是杨幂,哪些包含人、汽车等等。
它都是为了防止人作弊,这样的防御手段其实是通过人工智能的方法实现的,它本质上是判断登录者到底是机器还是人,以防止其服务被滥用。
reCAPTCHA 验证码挑战
2017年,我们在硅谷举办比赛,我们的选手做了项工作,既然是机器来判断对方是不是人,那我就做个机器模拟人,看它能不能判断出来在这个图片里面有没有杨幂,有没有路灯,有没有汽车,有没有商店等等。
最后,它在一分钟之内把所有的图片全部识别成功,这几乎已经代表了这种验证机制的失败。这是一个非常典型的用AI来对抗AI的安全问题。
另一个比赛项目可能更和贴合我们的生活,来自中国银行的选手能够让机器通过学习来模仿人的笔迹。几个月前大家应该看到新闻,有孩子买了这种机器写作业,这样的话可能会骗过家长。
但我们的要求更高,要求他们不能写样本当中的字,必须模拟出一个从来没写过的字。而且我们专门找了上海市做取证的笔迹鉴定师来判断,这就是一个非常典型的图灵测试。
最后现场稍微有点惨,我们这个人类鉴定师得分几乎是零,他完全没有分辨出来哪个是人,哪个是机器。
我们希望把人工智能所有暴露出来的安全问题都考察一遍。于是在去年,我们开了一个比赛叫做CAAD,希望能够挑战对抗样本攻击。
当时上海比赛的主持人是蒋昌建,我们要求选手在现场生成一张他的照片,只对照片做非常有限的修改,来骗过系统的人脸识别,导致它分类错误。
而挑战对象是亚马逊的名人人脸识别系统,可以说是全世界最先进的了。我们也不知道,选手能不能在30分钟之内完成。
最后,一个来自于Facebook的工程师成功了。
大家可以看到左边那张图片比较模糊,这就是选手加上的噪声干扰。 很明显,我们人类是能从这张图里分辨出蒋昌建的,而机器却不能。
2018年的时候,英国的Ian Goodfellow提出了Gan,既生成式对抗网络,它被评为可能会影响未来十大技术,这是一项非常高的评价。
对抗有什么用呢?
先说机器为什么能够识别成功,因为它学习的是我们生活当中给它输入的正确样本,它之所以错误是因为我们输入了一些这个世界上可能不存在的东西。
如果我们的机器只学习正常的输入,不犯错,没有问题,但是如果我们产生了一些世界上不可能存在的东西,这个就是Gan的价值。
Gan的本质上是有两个对抗的东西,一个的目标是我一定要生成一个事,无限接近你。另外一个就像警察一样,一定要把你鉴别出来,所以机器就和机器自己打架,进而实现自我提升。
这非常像Alpha Go打败人类棋手之后,它从人类这里已经无法继续学习了,那怎么办?只有自己和自己下棋,这就是一种对抗,这就是一种成长。
所以机器成长的速度远远超过我们,那我们就必须了解它在什么情况下会犯错。
目前,AI最主要是在语音、文本、图像这几个领域的应用,所以今年的10月24号,我们会把CAAD比赛升级,引入声音的对抗。看看谁能够把鸟叫的声音经过有限的修改,让人类听到的还是鸟叫,但是你可以骗过机器,让它进行支付。
我们希望通过这些“攻击”提升人工智能、机器学习、深度学习的安全性,这就对抗的价值所在。
编辑:王锐
校对:其奇
智力支持:上海市信息化青年人才协会