虽然从大比分来看,AlphaGo昨天已经达成五局三胜赢得胜利,但人类并不打算放弃:在今天下午进行的围棋人机大战第四局中,李世乭在局面不利的情况下,弈出神之一手,逼得AlphaGo“阵脚大乱”,甚至让各直播间疑惑“狗是不是出bug了?” 最终,AlphaGo投子告负,目前比分3:1。
AI有死穴吗?人类找到AI的死穴了吗?李世乭今天的成功是可以复制的吗?AI会修补这个“bug”吗?目前,这一切依然没有解答。下面这篇文章,或许能提供一种思路。
AlphaGo下赢了欧洲冠军樊麾,又下赢了东方高手李世乭(五局三胜制)。这件事情本身还没那么可怕,毕竟棋界人士普遍认为这几盘棋的人类发挥得并不够好,而李世乭又刚刚扳回一局。但是毫无疑问,AI迟早会碾压人类,区别只是时间长短而已,——甚至是放话“它赢得了李世乭也赢不了我”的柯洁也这么认为。
那怎么办?是否我们就要安心承认机器的霸主地位,甘做二流棋手了呢?当然这样不见得就是坏事儿。人类画师的仿真能力早就输给了摄影,但绘画也没有因此失去意义;国际象棋的顶尖AI已经连续十年没输给人类了,但人类间的国际赛事依然如火如荼。无论把围棋看成竞技还是艺术,战胜自己都是最重要的。世界第一不过是名分而已,无论是人还是机器。
但是如果有一天我们必须决出胜负,如果反叛的AI要求以围棋裁断地球的归属,如果我们必须向外星人证明人类智慧,那是不是就束手无策了呢?人还会偶尔失误,AI难道不是滴水不漏的吗?也不一定。如果真的有那么一天,我们可能还会有一根救命稻草:“对抗样本”。神经网络,在意想不到的地方绊倒。2014年底,三位人工智能研究者在arxiv上贴出了一篇论文预印本。论文标题很有趣:《深度神经网络很好骗》。
深度神经网络是目前最热门的人工智能路线之一,谷歌的AlphaGo围棋软件就以它为核心,而且相当多的人认为这是未来最有前途的高级人工智能。但神经网络的功能当然不止下围棋,它们还在许多其他领域实现了卓越成就,比如“视觉分类”任务——神经网络可以相当准确地判断出图片是猫还是企鹅。
相当准确,但并不完美。研究者发现,人为设计的图像很容易骗过它们。这本身没什么了不起,人脑也很容易被骗——但是,令神经网络摔倒的那些图,在人看来却是完全正常的。左图被神经网络判定为熊猫。给它人为叠加上中图所示微小的扰动(实际叠加权重只有0.7%),就获得了右图。在人类看来,左图和右图没有区别;可是AI却会以99.3%的置信度,一口咬定右图是一只长臂猿。这不是意外的小失误,不是偶然的程序bug和出错。
研究者发现,只要对图片做出一些人类无法察觉的修改,就能让ai把它当成完全不同的东西;还很容易设计出一些图片,人类什么都看不出来,ai却能以99.99%的把握确信它是某个东西。更有甚者,这些奇特的错误并不限于某个特定的神经网络,能骗过一个网络的图片,也能骗过另一个;它们也不限于图片识别,甚至不限于神经网络本身——研究者所尝试过的所有机器学习模型,都出现了这样的问题。
AI认为左图是一只狗,右图是一只鸵鸟。图片来源:nautilus。八张图在AI眼中分别是知更鸟、猎豹、犰狳、小熊猫、蜈蚣、孔雀、菠萝蜜和气泡。置信度全部在99.6%以上。图片来源。而最大的问题是,当神经网络犯下这样的错误时,研究者并没有特别有效的修正办法。
AI的盲区,人类的救星?对抗样本自然出现的概率确实非常之低。但是它取这个名字并不是没有理由的:如果真的有人在故意采取对抗手段,那么这就有可能成为该系统的死穴。比如,面对一个靠神经网络来筛选垃圾邮件的系统,垃圾邮件发送方就可以精心设计出对抗样本,逃过法眼(虽然为了垃圾邮件而如此大费周章大概不是很划算)。
而且,从绝对数量来看,对抗样本是非常之多的。如果在空间中任取一点,大部分都会错误归类。谷歌研究者伊安·固费罗(Ian Goodfellow)说,他们将随机生成的噪声样本给一个神经网络看,结果它以很高的置信度将70%的样本判定成了一匹马。另一种方式构造的八张图,在AI眼中分别是王企鹅、海星、棒球、电吉他、货车、遥控器、孔雀和非洲灰鹦鹉。图片来源。现在,对抗样本是个坏消息,是系统漏洞。
但如果有一天我们真的要和AI正面对决,那么对抗样本也许会成为我们的救命稻草,因为它有这三个特点:第一,对抗样本并不限于一个具体的神经网络,因此制造对抗样本也不需要获得该模型的源代码之类的东西。只要模型是被训练来执行相同的任务的,它们就会被同样的对抗样本欺骗,哪怕这些模型有不同的架构、使用了不同的训练样本,也没有关系!
因此,我们只要自己做一个模型,创造出相应的对抗样本,就能用这些样本攻击那些同样任务的AI。第二,对抗样本很难用常规的办法解决。固费罗的研究组尝试了各种各样传统手段,包括多个模型取平均值、同一图像多次判断取平均值、带噪音训练、生成模型等等,都不能解决对抗样本问题。有针对性的专门训练可以让模型的抵抗力更强,但也无法真正消灭盲区。第三,人类不会被这些样本欺骗。
当然,人类也会在意想不到的地方跌倒——心理学已经提供了浩如烟海的视错觉和其他错觉例子。这些错觉可以认为是人类专属的“对抗样本”。但是面对神经网络的对抗样本,和面对人类的对抗样本,二者并不重合。我们都会犯错,但犯的错误不一样。
著名的丁香视错觉图。——人也有bug。研究者正在努力堵上对抗样本的漏洞,但是完全有可能出现无论如何也堵不上的情况。在这样的背景下,人类和AI的战争如果爆发,也许将进入全新的战场。
对抗样本时代的围棋会是什么样子?其实根本上讲,我们不能说机器被对抗样本“骗”了——也许被骗的其实是我们呢?也许AI真的在那些噪点中发现了某种真正的本质的规律,而我们只是肉眼凡胎不识真面目呢?但是我们让AI做图像识别,它要分类的图像就是人眼中的场景,它要遵守的规则就是人类大脑的规则。因此某种意义上,我们是主场。
围棋作为一种人类设计的游戏,也许也会是另一个主场。谷歌AlphaGo的源代码尚未公开,但是研究者在论文中明确指出了它对深度学习的依赖。因此有理由猜想,它也会受困于精心设计的对抗样本——而当人类真的无法在棋盘上正面战胜AI的时候,可能必须开辟新战线,在大脑中决一死战。
同样的机关算尽,人机对战的思路将不同以往。到那时,围棋将成为一种双重游戏。对战双方不但要在物理的棋盘上攻城略地,还要设法引导对方步入心智陷阱。应该会有某些棋局能让AI错判,从而让它们下出大错棋,就像现在的研究者能让AI把大熊猫认成长臂猿一样。
但是对方的盲区棋局是什么样的?如何下出这样一盘棋局?实现这一局面需要在棋盘上做出多少牺牲?引导对方失误带来的收益能否补偿?是否有可能制造出这样的盘面,令对方陷入更大的心智陷阱,乃至直接死机?AI反过来也可能也会利用人类的缺陷。我们不知道人类的围棋盲点在哪里,但原则上这也是可能存在的。这一看不见的战场,或许将比看得见的棋盘更加血腥。
唯一幸运的是,正如猫狗牛马的概念诞生于人类所处的物理世界,人类不会在它们身上犯错;围棋也是经人类之手诞生的,这也许能带给我们一些先天优势。如果哪一天我们必须去玩AI所创造的游戏,那也许才是真正的末日。