我在清华做毕设 | 中了毒的AI竟猫狗不分?

原创 樊佳璇 人文清华讲坛

清华有个鼎鼎大名的“姚班”,堪称无数有志进入计算机科学领域学子的“梦中情人”。“姚班”全称叫“清华学堂计算机科学实验班”,由“图灵奖”唯一华人得主姚期智先生全职回国加入清华之后创办,致力于培养领跑国际拔尖创新计算机科学人才。

传说“姚班”课程难、压力大,传说“姚班”人均天才,遍地大神……这个出场自带光环的班级究竟有什么特别之处?“姚班”的“神仙”们在做着什么与众不同的事情?

本期“我在清华做毕设”邀请到了“姚班”2021届毕业生卢睿,让我们跟着他的本科毕设,一起揭开人工智能的神秘面纱!

开启神经网络后门的“万能钥匙”

卢睿毕业论文的题目是《对抗样本攻防与基于傅里叶变换的后门攻击》,其中最重要的发现就在于他提出了一种更加简单地对神经网络的图像识别能力进行攻击的方式。

要理解这项看上去十分“高深莫测”的研究的内容,首先要从了解什么是神经网络开始。神经网络通过组合基本的线性运算和非线性激活模块,在某个给定架构下,通过收集的数据不断优化其中的参数,最终使得整个神经网络所代表的函数得以实现复杂的功能。概念化的定义或许还是显得过于艰涩,为了更好地解释清楚神经网络的功能,卢睿做了形象的比喻。

卢睿将神经网络比喻成一类函数,将需要进行识别的内容输入进去,经过函数模型的运算,就能输出识别的结果,而函数内有许多不同的参数,通过调整其中的参数能够使神经网络有不同的表现,实现某些特定功能。人们训练它的过程,本质上就是在不断寻找更合适的参数的过程。换句话说,神经网络就像是一个快递分拣机器人,它通过扫描包裹上的快递单获取信息,进行运算处理后自动将包裹分成不同的类别以发往各自的目的地,对于正在进行图像识别的神经网络而言,它要分拣的包裹就是输入的图片。当然,神经网络的功能远不止给图片分类这么简单,还能够通过训练,实现各种各样的复杂功能,因而在图像识别、人脸识别、自动驾驶等领域有着广泛的应用。

前途一片光明的神经网络,同样存在着不可忽视的问题。要训练出一个“好用”的神经网络,首先需要收集大量的数据供它学习,然后进行反复训练调整参数,最终才能实现特定功能投入应用,但人类目前的技术能力只达到了“调试并且使用机器”的水平,并不完全清楚它的内在工作原理。已经有许多研究发现神经网络在某些方面十分脆弱,只需要对图片进行像素级别的微小调整,这种调整甚至是人眼无法发现的,就能使神经网络原本准确的判断结果产生巨大偏差,甚至可以通过算法,根据预期的识别结果对图片进行精准修改,定向改变神经网络的识别结果,实现AI版“指鹿为马”。

想要在不被人眼发现的同时骗过神经网络,原本是一件十分困难的事,不仅需要拿到原始模型的整体参数,还要进行一些复杂的计算,才能找到针对特定图片进行像素变化的方式。卢睿大大简化了这个攻击过程,通过直接在训练数据里掺杂一些人眼不可见的“噪声”,神经网络经过学习,就会在完全不影响正常识别的前提下,非常稳定地将添加了一开始掺杂进训练数据的扰动“噪声”的图片识别成一个特定的类别。就像是给武侠小说中纵横江湖的高手下了一种无色无味的毒,只要当对应的毒出现,就会诱发他体内潜藏的毒素,即使是武功盖世的大侠也会晕头转向,失去理智。

error 404

图片a与图片b

观察上面的两张猫咪图片,你能找出它们之间的区别吗?这两张在人眼看来一模一样的猫咪,在AI的眼中却是天差地别。卢睿在图片a的基础上进行了像素级别的微不可见的调整,得到添加了“噪声”的图片b,并将他们输入到被提前“做过手脚”的神经网络中进行识别,神经网络“十分自信”地输出了识别结果,认为图片a是一只猫,而图片b是一只狗。

图片b的识别结果

对于卢睿而言,想要让神经网络“猫狗不分”,既不需要知道具体的神经网络模型,也不需要进行复杂的算法操作,只需要到上游收集数据的过程进行“投毒”,也就是向训练神经网络所使用的数据中植入这种隐藏的不可察觉的“噪声”,就可以在模型训练好之后,打开一扇后门,甚至通过这扇隐蔽的后门操控整个模型。卢睿在后续实验中进一步发现,一种波纹状的傅里叶变化的基底是最为有效的“噪声”模式。

如果设计盾不行,那就试试矛吧

卢睿的毕设可谓是一波三折,最开始他的研究题目是如何防御针对神经网络的攻击,但尝试了许多“脑洞”之后都没有找到一条十分奏效的途径,时间也在一次次的失败中溜走,转眼就到了毕设的中期检查。在一次和导师的沟通中,导师建议他如果设计不了盾,那就搞矛吧,试试怎么样攻击得更狠,于是,卢睿转而开始研究更隐蔽的攻击方式。

卢睿首先找到了后门攻击的这一特点,现有的后门攻击方式十分粗糙,首先需要对训练数据公然标错,然后在公然标错的图片上掺杂进一个非常明显的标志来开启后门,训练者只需要对训练的数据集稍作检查,就能发现这种对数据“投毒”的攻击行为。卢睿试图寻找一种让数据“投毒”变得更为隐蔽的攻击方式,努力实现在不对训练数据故意标错的同时掺杂进用于开启后门的钥匙。

有了初步的思路之后,卢睿开始寻找相应的实现路径。他了解到在图片、视频等内容的知识产权保护领域,已经有一项较为成熟的“盲水印”技术,恰恰就是在图片中添加一些人眼不可察觉的微小“噪声”,这些水印既不会影响内容本身的视觉效果,又可以非常稳定地还原出使用者的身份信息。卢睿从“盲水印”中受到启发,他提出疑问这些信息是否能够被神经网络捕捉到从而成为神经网络分类图片的重要依据?

为了验证这个想法,卢睿做了一个简单的探测实验,他把每一张图片复制两份,在其中一份图片上掺杂“盲水印”,让神经网络从人眼看起来完全相同的两张图片中分辨出哪张是有水印的。实验结果发现,神经网络识别出水印的成功率高达99.7%,这证明了神经网络确实能够识别“盲水印”,而且非常依赖于这些微不可见的水印进行分类决策。

一旦发现神经网络对于这种特性的图样非常敏感之后,后面的研究变得顺利起来,卢睿试验了各种各样不同的“噪声”模式,也尝试了不同的“投毒”比例,对新发现的“后门”进行系统研究后发现,神经网络对于条纹形状的波动特别敏感,同时,由于它“非常喜欢走捷径”的特性,只要对5%的训练数据掺杂“噪声”波纹就足够使神经网络找到数据的规律特征,开启特定“后门”。

难受的感觉才是科研的常态

关于整个毕设期间最难忘的时刻,卢睿再次提到了他让神经网络识别图片水印的探测实验。他说训练神经网络的那个过程“非常有戏剧性”,如果用曲线描绘模型的准确率,最开始的半个小时,仿佛一张“心如死灰”的心电图,准确率始终在50%往前直着跑,换言之,模型已经把几万张图片翻来覆去地看了27遍,但始终没能认出来哪个是有水印的。就在他快要放弃的时候,准确率突然在第28轮开始飙升,在一轮之内暴涨到了99%,意味着神经网络发现了隐形水印的规律,卢睿整个人“都激动的要命”,他又检查了好几天,确认没有写出任何bug,然后再展开之后的实验,从此整个毕设局面就打开了。

当直博一年级的卢睿再次回顾本科毕设的经历,他发现科研的过程就是在发现新灵感、尝试、失败的过程中反复循环,怎么都得不到理想结果的时候挺难受的,但是“这种难受的感觉才是科研的常态”。本科的毕设虽然尚显青涩,但却是他整个学术研究生涯的转折点,他发现了前人没有发现的空白领域,并且独立完成了一项创新性研究,在这个过程中收获了趣味,也成功在学术道路上实现了自我认同。

卢睿的工位

考虑到疫情等因素,本科毕业后,卢睿选择继续在清华攻读他的博士学位,发挥数学优势,进行深度学习理论方向的研究。他总是日复一日往返在实验室与寝室之间,在导师的器重之下努力搞科研发论文,偶尔也想趁导师不在看看脱口秀偷个懒。

他身上似乎有种矛盾的和谐,思想里潜藏着一股叛逆,却又在行动上遵循着大多数人的生存法则,为毕业与生活做着打算,他把自己的性格概括为“刚怂”,“看似是个理想主义者,但实际又很现实”。但不管怎样,他总能在自己的生活中找到一种自洽的方式,就像他对待给自己打了90分的本科毕设,虽然投稿没能成功,他也没有再继续进行后门攻击方向的研究,但是他将自己的论文上传到了国外的共享网站上,以此向世界宣告自己的创新发现。

卢睿说,他的毕设提示了当前广泛应用的神经网络模型的潜在风险,同时也为揭示神经网络的运行原理提供了一个切口。在博士阶段的研究取得一定成果之后,他还想继续向科学的无人之地垦荒,去尝试打开神经网络的技术黑箱,这是一个很冒险的决定,但是藏在心里的理想,藏了再久也总不会被泯灭的。

原标题:《我在清华做毕设|中了毒的AI竟猫狗不分?》