最近,一篇来自斯坦福和谷歌于2017年的研究在twitter和reddit上被热议。
在这一研究里,为了完成图像转换的任务,CycleGAN在训练过程中通过人类无法察觉的某种“隐写术”,骗过了它的研究人员,给自己留下了隐秘的“小抄”,然后顺利完成了任务。
此项研究催生的论文也因此被命名为“CycleGAN, a Master of Steganography(CycleGAN,一位隐写术大师)”,公布于ICCV17(2017年神经信息处理系统大会),被当年的NeurIPs收录。
这项研究与两大关键词密不可分:恐怖/迷人。CycleGAN——一套经过大量实验的深度神经网络,旨在将航拍图像转换为街道地图,但研究人员发现为了达到理想的评分,该系统在背景当中隐藏了一些“几乎难以察觉的高频信号”信息——这意味着其明显是在作弊。
这种情况表明,人工智能技术终于突破了计算机自发明以来所一直无法突破的障碍:只会按照操作者的要求行动。
一望而知,研究人员的初始意图是利用该项目加快将卫星图像转换为谷歌精确地图图像的过程,同时提升其转换质量。为此,该团队使用了CycleGAN,它能够学会如何有效且准确地将X与Y型图像进行相互转换。
在一部分早期结果当中,CycleGAN带来了不错表现——事实上,表现太过良好,以致令人难以相信。最令研究人员们困惑的是,在CycleGAN将街道地图重构为航空照片时,后者会莫名其妙地出现大量并不存在于前者中的细节。举例来说,在创建街道地图过程中被消除的屋顶天窗部分,在CycleGAN进行反向创建过程时,又神奇地重新出现了:
尽管很难深入理解神经网络流程的内部工作原理,但该团队却能够轻松审查由神经网络生成的数据。通过一系列实验,他们发现CycleGAN确实存在“作弊”行为。
CycleGAN的终极目标,在于学会解释任何一种地图特征,并将其与另一种地图形式中的正确特征相匹配。然而,CycleGAN所交付成果的实际评分方式,主要体现为俯瞰图与原始图之间的相近程度,以及街景地图的清晰度水平。
因此,CycleGAN实际上并没有学会如何在两种地图形式之间进行转换。相反,它只是学会了如何将一种特征以巧妙的方式编码为一种特征的噪声模式之内。俯瞰地图中的细节被悄悄写入街道地图的实际视觉数据之内:人眼不会注意到其中存在的数千个微小颜色变化,但计算机却能够轻松将其检测出来。
事实上,计算机非常擅长将这些细节引入街景地图,CycleGAN其实学会了将任何俯瞰地图编码至任意街景地图当中!它甚至不必关注“真实”街景地图——重建俯瞰地图所需要的全部数据都能够被悄无声息地叠加在另一份完全不同的街景地图上。研究人员们还证实了以下结论:
(c)中的彩色地图存在着计算机以系统化方式引入的细微视觉变化。可以看到,这些变化共同构成了俯瞰地图的整体形态。然而,如果不是研究人员将其放大并突出显示对应部分,肉眼或许永远不会注意到这些差异。
将数据编码至图像中的做法并不新鲜,这是一种被称为“隐写术”的成熟科学,一直用于添加水印图像、或者向摄像机画面中添加元数据等应用场景,然而,计算机自行创建隐写方法以逃避研究人员检查的情况倒是头一次。(这项研究结果公布于2017年,所以可能也不算太新,但趣味性和新颖性是毋庸置疑的。)
很多人可能认为,“机器是不是变得越来越聪明了”,但事实恰恰相反。这台机器正是由于不够聪明,无法完成将这些复杂的图像类型相互转换这一困难工作,所以才找出这样一种利用人类不善于检测的特性,实施“欺诈”行为。如果要避免这种情况,就是要对CycleGAN的产出结果进行更严格评估,且可以肯定的是,研究人员必然会采取这样的应对办法。
与以往一样,计算机仍在完全按照人类的要求进行运作,因此我们必须精心整理提交给计算机的问题。在本次案例中,计算机拿出了一种有趣的解决方案,并揭示出此类神经网络中可能存在的一大弱点——如果没有明确禁止,计算机会找到一种将细节透露给自己的方法,以便快速轻松地解决特定问题。
这其实也是计算机科学中最古老的原则之一,即PEBKAC——“问题存在于键盘与计算机之间”。或者正如《2001太空漫游》中的HAL计算机所说,“一切错误都源自人类。”