本
文
摘
要
来源 | AI研究所(ID:IflyVoiceCloud)
天天输验证码,你知道它是用来干什么的吗?
你相信,验证码能够辨别出“你是人类还是机器人”吗?
在登录某个账号的时候输入验证码,已经成为再平常不过的事情了。不过不少网友抱怨,现在的验证码真是设置得越来越刁钻了。
不好意思这个字符我真的看不懂
比如,铁道部购票官网 12306 的购票图形验证码,在 2015 年更新之后引发了全网大吐槽。不仅过滤掉了抢票工具,还有那些摸不着头脑的正常用户。路漫漫其修远兮,吾将上下找扳手与海豹。等下,扳手长啥样?海豹还是海报?
验证码你好,你已成功打败全国 99% 的用户
网友们也忍不住自己制作一套高难度验证码。验证码的能力,超乎你想象!
是真的好男人,还是反义“好”男人
国外的网友也遭遇过类似的经历,纷纷调侃——请在下列图中选择出“时尚达人”或“糖尿病患者”。这是在考验审美?还是读懂微表情?
我放弃登录
这些仿佛是在搞笑的验证码经常让网友们做到怀疑人生:我是谁?我在哪儿?我为啥要填验证码?
这些测试被称为 CAPTCHA,“Completely Automated Public Turing test to tell Computers and Humans Apart”的缩写,意为“区分计算机和人类的完全自动公共图灵测试”,这个名词看起来极其科幻又神秘,但通俗的说法就是“验证码”。
它的诞生可以追溯到上世纪末,当时黑客非常猖狂,他们创造了一种能够大量重复编写信息的程序,伪装成人类用户,肆无忌惮地朝网络上倾倒 “僵尸”信息,垃圾邮件、垃圾广告、垃圾评论泛滥成灾。还有程序机器人恶意绿色密码、恶意刷票,严重损害商家和消费者的利益。
电子邮件提供商 Yahoo(雅虎)公司为了解决垃圾邮件的问题,找到了卡内基梅陇大学的学生路易斯·冯·安。2002 年,路易斯·冯·安的 CAPTCHA 验证码应运而生,赢得了众多网民的鲜花与掌声。2009 年,谷歌收购 CAPTCHA,将它应用在谷歌图书的数字化上。
验证码的发明者路易斯·冯·安
但是随着技术的发展,机器迎头赶上,CAPTCHA 面临新的问题。2014 年,谷歌让一种机器学习算法与人类进行了对抗,双方需要辨识一套极度失真的文本 CAPTCHA。结果是,计算机完成了99.8% 的测试,而人类仅完成了33%。这就很尴尬了,机器人没被排查出去,真实用户倒是被拦截得死死的。
随后,谷歌对此进行了改进,升级版就是现在我们常见到的 reCAPTCHA。它的运行方式是什么样的呢?
首先网页中会显示出一个勾选的方框和一句 “I’m not a robot(我不是机器人)”的字符。用户点击方框确认后,谷歌会用“风险分析引擎” 对该用户进行无缝分析。
如果检测结果正常,则该用户可以顺利进入网站或账户。但如果检测结果异常,比如使用了 VPN 的用户就容易被认作是 “恶意机器人” ,该用户便会经历一个识别验证的过程,即按照要求在图像网格中选出目标物体。这个过程对于机器人来说,还是比较困难的。
reCAPTCHA的常见形式
但是局势再次反转。2016 年,伊利诺伊大学芝加哥分校的计算机科学教授 Jason Polakis,发表的一篇论文再次打破了谷歌的“围墙”。他使用现成的图像识别工具,包括谷歌自己的反向图像搜索,以 70% 的准确度解决谷歌的图像验证码。与之相似,还有其他研究人员使用谷歌的音频识别程序完成了谷歌的音频 CAPTCHA 挑战。
Polakis 表示,在基本的文本,图像和语音识别任务中,现在的机器已经拥有等同于人类的学习能力,甚至算法可能更好。而对于谷歌来说,自家程序打败自家 CAPTCHA,其内心苦闷可想而知。难道就没有一套合适的方案吗?
CAPTCHA 的研究历程中,有着各种各样奇怪的尝试,以及悲惨的失败。研究人员为了寻找某些人类普遍擅长,但机器不会的东西,而煞费苦心。
扭曲的字符CAPTCHA
他们设置出了一种 CAPTCHA,让用户通过面部表情、性别和种族对人物图像进行分类;或是基于当地的童谣和民俗来设计 CAPTCHA,但是这种文化类的CAPTCHAs 带有满满的地域歧视的“恶意”——不仅针对机器人了,还针对了在不了解该地区的人类。
再或是采用“阻碍图像识别”,例如要求用户识别出小猪,但这些小猪可能被制作成卡通形象,或佩戴了太阳镜;更高难度的是,他们要求用户从眼花缭乱的 Magic Eye(如斑点图阵)里,识别出物体或字符。
眼花缭乱的Magic Eye,晕了
如果以上方法都不能解决问题,那么还有这些——
游戏类的 CAPTCHA 也已加入战斗,这种验证需要用户将物体旋转到某个角度或将拼图块移动到位,“游戏指令”可以用文本给出,或者更高级一点,以符号和游戏板的上下文来暗示。还有的研究人员试图使用相机设备或 AR,来进行交互式证明,比如按照指令做个奇怪的姿势或表情什么的。想登录邮箱,先龇牙咧嘴一下。
B站用户登录时的拼图验证
研究员绞尽脑汁也没办法完完全全阻挡住机器人前进的脚步。事实上,许多测试所存在的问题,并不一定是机器人太聪明了。从某种角度理解,这听起来更像是人类对它们的嘲讽。
事实上,人类在语言,文化和经验方面具有极大的多样性,如果忽视这一关键,去制作测试,就会生产出如图像处理这样的粗暴任务。而这种任务正是机器人,或是 AI,将会愈加擅长处理的事情。
1950 年,计算机科学之父艾伦·麦席森·图灵,发明了图灵测试——测试者与被测试者(一个人和一台机器)隔开的情况下,测试者通过一些装置(如键盘)向被测试者随意提问,并轮番更换测试者。多轮测试中,机器需要“蒙蔽”30% 的人类测试者才能通过,并被认为具有人类智能。
2014 年,机器人假扮成了一名英语很差的 13 岁乌克兰男孩尤金·古斯特曼(Eugene Goostman),参加了图灵测试。结果,它成功骗过了 33% 的人类测试者,首次通过了图灵测试。这个事件震惊全球,但也并不能成为机器人完胜的铁证。毕竟,裁判们只有几分钟时间进行测试,如果时间加长,他们很有可能会发现真相。而图灵测试最原始的法则,在当下也不能够完全适用了。
假扮乌克兰男孩的机器人尤金·古斯特曼
尽管图灵测试存在弊端,但仍被不少人奉为检验机器是否具有智能性的终级标准。现如今 CAPTCHA 成为图灵测试最为广泛的应用,俨然成为了人类与机器的重要竞争项目。
2017 年,潮牌 Supreme 的官网为了对抢货机器人进行管制,启用了 reCAPTCHA,似乎从此往后 Supreme 的粉丝们将会拥抱一个公平的购物环境。但是道高一尺魔高一丈,就在 reCAPTCHA 上线的几个小时后,某 Supreme 专用机器人网站就向官方下了“挑战书”。他们高调地宣布,已开始研究 reCAPTCHA 的绿色方案,并将绿色工具命名为 2CAPTCHA,仅售价 5 美元。你的艰辛努力,我 5 美元就让它付诸东流!
来呀,battle呀
除了 Supreme,Nike、Adidas 等品牌都在与抢货机器人的斗争中,苦苦挣扎。但机器人的攻势绝不仅局限在消费领域,他们在科学界也得意地举起了胜利的大旗。
也是 2017 年(这是什么倒霉年份),美国的 Vicarious AI 公司在杂志《Science(科学)》发表文章,详细地描述了他们的AI是如何轻松绿色CAPTCHA。研究者们向哺乳动物的视觉皮层学习,借鉴了其处理图像的方法,并构建了一套全新的算法。
这套算法可以通过识别物体的轮廓及其表面的平滑度,获取信息并创建关联。经过多次的信息传递,可以在一定程度上实现对目标物体的识别。这套算法的准确性,比其他性能一流的模型高出了 1.9%左右。
Vicarious AI发表的文章
这对 CAPTCHA 提出了更高的要求。Polakis 认为,“CAPTCHA 更需要了解跨文化领域,可以同时与来自希腊、芝加哥、南非、伊朗和澳大利亚的人合作。它应该具有普适性,而不是和某个特定人群捆绑。与此同时,还需要给计算机制造困难。这意味着,人们能做的事情非常有限。”
弄清楚如何快速修复与提升 CAPTCHA,可能又是一个深奥的哲学问题:人类共有、且机器人不可模仿的品质是什么?人类又是什么?
也许,我们的人性不是通过人类是如何执行任务来衡量的。机器人检测公司 Shape Security 的首席技术官 Shuman Ghosemajumder 表示,不管是游戏还是视频形式的 CAPTCHA,最终都会被打破,他更倾向于观察用户的行为,顺着踪迹寻找答案。
Ghosemajumder 说:“一个真正的人类对自己的运动功能,并没有很好的控制能力,所以他们不能在多次交互中连续不断地移动鼠标。但是机器人可以在不移动鼠标的情况下与页面交互,或者非常精确地移动鼠标。这是人类与机器较大的区别。”
是人类还是机器?这是一个问题
谷歌的 CAPTCHA 团队也有类似的思路。去年年底,谷歌宣布的最新版本 reCAPTCHA v3 使用了“自适应风险分析”。团队的产品经理 Cy Khormaee 介绍,谷歌会观察网站上的“正常流量”,以此为标准,来检测“异常流量”,并进行评分。倘若有可疑情况,网站所有者可以选择向被检测用户提出“挑战”,例如密码请求或身份验证。
简而言之,就是通过分析人类的行为特点作出总结,利用这些特点与机器人行为进行比较,以此来判断出用户是人,还是机器人。
reCAPTCHA认证成功
在《最有人性的人》一书中,作者布莱恩·克里斯蒂安对图灵测试比赛提出质疑,他认为在对话中证明你的人性实际上是相当困难的。机器人制造商已经发现了通过测试的秘诀——不是让机器人成为最聪明的谈话者,而是利用逻辑混乱或是拼写错误来回避问题。
因为,人类是会犯错的。
现在看来,世界上使用最广泛的图灵测试 CAPTCHA 会遇到全新的挑战——不是机器人飞速进步的识别能力,而是它们的犯错能力。机器已开始模仿会犯错、误点按钮的人类了。Ghosemajumder 说:“我认为人们已经意识到,AI 更需要模拟一个普通人类,或者愚蠢的人类。”
我们总认为机器人是极度聪明的,但是当它开始出错,和日常的你一样犯迷糊的时候,你还能辨认出站在你身边的,是人还是机器人呢?
参考文章
[1] Josh Dzieza.Why CAPTCHAs have gotten so difficult.The Verge
[2] NOWRE.Supreme官网用上了CAPTCHA,作弊机器人的末日真的来了吗
[3] 云头条.验证码已无效:AI彻底击败图灵测试(CAPTCHA)的安全机制
[4] Wikipedia.reCAPTCHA
原标题:如何证明你是人类,而不是机器人?
来源:AI研究所
编辑:Major Tom