人类与机器博弈下,为何验证码越来越难了?

企业动态
由于验证码是一个十分优雅的人工智能训练工具,所以任何给定的测试都只能是暂时的,验证码的发明者从一开始就承认了这一点。

[[351676]]

大数据文摘出品

来源:theverge

编译:吴瑕

谷歌、新浪的登录页面一直以来都在要求人们证明自己是人类,最近,这样的考题更是来势汹汹。

那个原本十分可爱的“我不是机器人”按钮,追加了越来越多证明不是机器人的要求——在一系列图像中选出含有交通灯、人行道和店面的图片。很快,交通灯被远处的树叶遮盖了,人行道变得弯曲并且会有一半消失在拐角处,店面的招牌也被模糊处理并换成了韩文。特别是像12306这样的购票网站出现的验证码堪比连连看,每年都能难倒一大批登录者。

 

这些测试被称为CAPTCHA,是Completely Automated Public Turing test to tell Computers and Humans Apart(区分电脑和人的完全自动化公共图灵测试)的首字母缩写,这些测试水平早前就已经达到了不可思议的高度。

在21世纪初,简单的文字图片就足以让大多数垃圾邮件程序束手无策。但是十年后,当谷歌从卡内基梅隆大学的研究人员那里购买了这个程序,并用来使谷歌图书(Google Books)实现数字化时,文本就必须变得越来越扭曲和模糊,以便保持领先于改进的光学字符识别程序(所有参与CAPTCHA测试的人都在间接地帮助改进此程序)。

这就是人类与机器博弈的终局。

由于验证码是一个十分优雅的人工智能训练工具,所以任何给定的测试都只能是暂时的,验证码的发明者从一开始就承认了这一点。在人们研究人工智能应用的初期,许多研究人员、骗子和普通人解决了数以亿计的谜题,当时机器似乎将要超越人类。2014年,为解决最扭曲的文本验证码问题(验证时,计算机的正确率为99.8%,而人类的正确率仅为33%),谷歌用一种机器学习算法与人类进行了一场对决。

随后谷歌转向NoCaptcha ReCaptcha方式,通过观察用户数据和行为,让部分人通过点击“我不是机器人”按钮通过验证,而要求另一些人进行我们今天看到的图片验证。但机器再次迎头赶上。那些遮阳棚到底是不是商店?这就是人类与机器博弈的终局。

伊利诺斯大学芝加哥分校(University of Illinois at Chicago)的计算机科学教授杰森·波拉基斯(Jason Polakis)认为验证码难度的增加是由个人信贷导致的。2016年,他发表了一篇论文,文中使用现成的图片识别工具(包括谷歌自己的反向图片搜索工具)去解决谷歌的图像验证问题,准确率达到70%。还有一些研究人员用谷歌自己的音频识别程序,在谷歌的验证码挑战中取得了突破。

波拉基斯指出,在基本的文本、图像和声音识别任务上,机器学习如今已经能达到与人类一样的水平。事实上,算法可能比人类更擅长此类任务。“如今正处在这样一个阶段:为软件增加难度,最后会让很多人觉得难度太大。我们需要一些替代方案,但还没有具体的计划。

如今验证码测试存在的问题并不一定是机器人太聪明,而是人类做得太差劲了

关于验证码的文献从一开始就是错的,而且还在进行着奇怪的尝试,寻找除文本或图像识别(这些方面人类普遍擅长,机器却很难识别)之外的方式。研究人员曾尝试让用户根据面部表情、性别和种族对人的图像进行分类(不难想象,人们在这方面做得很好)。有人提议使用琐碎的验证码,以及基于用户成长地区常见童谣的验证码。这种文化验证码针对的不仅是机器人,还有在海外验证码农场工作的人,让他们用不到一分钱的代价来解决难题。人们尝试用各种方法增加图片识别难度,比如让用户识别猪,但把猪做成卡通样式,并给猪戴上太阳镜。研究人员还尝试要求用户魔术眼状斑点图中的物品。此外,还有一个有趣的验证码变种,研究人员在2010年提出使用验证码来索引古代岩画,因为计算机不太擅长解读洞穴壁画上的驯鹿的示意草图。

最近还有人在尝试开发游戏类验证码,通过要求用户旋转物体到特定角度或将拼图块拖至正确位置,所给出的指示不是文字形式而是符号形式,或游戏板的背景暗示。人们希望人类可以理解拼图的逻辑,但在没有明确指示的情况下,计算机会被难住。其他一些研究人员试图利用人类拥有身体这一事实,通过设备摄像头或增强现实技术进行互动,证明人类的存在。

这些验证码测试存在的问题并不一定是机器人太聪明,而是人类做得太差劲了。这并不是说人类愚蠢,而是因为人类在语言、文化和经历上存在多种差异。一旦你脱离所有这些东西,去制作一个任何人不需要事先训练或思考都能通过的测试,那就只能选择像图像处理这样的不用动脑的任务,而这样的任务正是为人工智能量身定做的。

怎样才能区分人和机器?

[[351678]] 

波拉基斯表示:“验证码测试受到人类能力的限制,除了身体上的能力外,还需要一些(能够)跨文化跨语言的东西,需要一些通用的验证方式,让希腊、芝加哥、南非、伊朗和澳洲人都能通过验证。” 而这样的验证方式必须独立于文化的复杂性和差异性之外。我们需要设置的是对一般人来说很容易的验证方式,不应该局限于特定的人群,但这样的验证方式对计算机来说还必须是困难的。我们实际能做的事情是非常有限的,而这样的事还必须是人类能够快速完成的,而且不会令人心烦。”

要搞清楚如何解决这些模糊图像验证问题,就要进入到哲学领域:什么样的人类共性,可以向机器展示,但没有机器可以模仿?人类到底是什么?

不过,或许我们的人性不是通过如何完成一项任务来衡量,而是通过我们如何在这个世界上的移动轨迹——或者在互联网中的移动轨迹来衡量的。Shuman Ghosemajumder曾在谷歌负责打击点击诈骗,后来成为了机器人检测公司Shape Security的首席技术官,他认为,无论你设计的是游戏验证码、视频验证码或者任何其他类型的验证码测试,最终都会以失败收场。比起测试,他更喜欢“持续认证”,即观察用户的行为并寻找自动操作的迹象。” Ghosemajumder指出:“一个真正的人,无法很好地控制自己的运动机能,所以无论人们如何努力尝试,他们都无法在多次交互中多次以同样的方式移动鼠标。” Ghosemajumder表示,机器人不需要移动鼠标就能与页面进行交互,或者能够精确地移动鼠标,而人类的行为具有难以模仿的“熵”。

谷歌自身的验证码团队也在思考类似的问题,去年年底发布的最新版本reCaptcha v3,使用“自适应风险分析”,根据看起来可疑的程度对信息流量进行评分,然后,网站所有者可以选择对粗选出来的用户进行验证,比如要求其填写密码或进行双重认证。验证码团队的产品经理Cy Khormaee表示,谷歌不会公布影响评分的因素,但谷歌会观察一个网站上的“良好流量”的特征,然后用这些特征来检测“糟糕流量”。安全研究人员表示,谷歌可能会综合运用信息记录程序(cookie)、浏览器属性、流量模式和其他因素进行评分。新型机器人检测方式的一个缺点是,它会导致人们浏览网页时无法摆脱被监视感,因为虚拟专用网和反跟踪扩展程序的使用可能会让你被标记为可疑或有威胁。

谷歌验证码团队的工程主管Aaron Malenfant指出,放弃图灵测试是为了回避人类不断输掉的竞争。“随着人们在机器学习上投入的资金越来越多,这类挑战对人类来说将会变得越来越难,这就是我们推出CAPTCHA V3的原因,为了走在这条曲线的前面。” Malenfant 指出,5到10年后,验证码挑战可能会变得完全不可行。然而,很多网站后台将会运行恒定、隐秘的图灵测试。

布莱恩·克里斯汀(Brian Christian)在所著的The Most Human Human一书中,作为人类替身参加了图灵测试比赛,他发现在交谈中要证明你的人性是相当困难的。另一方面,机器人制造商发现更容易通过测试的不是口才最好、最有智慧的健谈者,而是用不合逻辑的笑话回避问题、拼写错误的人,或者像2014年图灵竞赛中获胜的机器人那样,自称是一名英语很差的13岁乌克兰男孩。

毕竟,人孰能无过。验证码作为世界上使用最广泛的图灵测试,可能也会面临类似的未来。这是一场新的军备竞赛,这不是为了创造出在图像标记和文本解析方面超越人类的机器人,而是为了制造出会出错、会错过按钮、会分心、会切换标签的机器人。Ghosemajumder说:“我想人们已经意识到有一种应用程序可以模拟普通人类用户或者愚蠢的人类用户。”

验证码测试可能也会在这个世界上继续存在。亚马逊在2017年获得了一项方案专利,该方案涉及视觉错觉和人类难以破译的逻辑谜题。通过失败响应图灵测试,唯一通过的方法就是给出错误答案。

相关报道:

https://www.theverge.com/2019/2/1/18205610/google-captcha-ai-robot-human-difficult-artificial-intelligence

【本文是51CTO专栏机构大数据文摘的原创译文,微信公众号“大数据文摘( id: BigDataDigest)”】

戳这里,看该作者更多好文

 

责任编辑:赵宁宁 来源: 51CTO专栏
相关推荐

2021-04-15 13:48:08

视频监控视频分析智能安防

2012-01-12 09:19:27

2013-07-22 14:49:32

创业公司URL

2024-10-29 11:05:26

2021-11-14 22:04:55

iPhone安卓手机

2020-11-16 07:28:53

验证码

2020-07-21 09:30:04

互联网

2024-06-28 14:59:08

2023-04-25 07:48:01

显示器屏幕数字化

2012-04-27 15:22:46

存储虚拟化障碍

2017-12-26 15:34:55

2023-03-02 08:00:55

包管理工具pnpm 包

2023-12-12 13:15:00

模型训练

2022-05-17 09:17:45

JS 代码越来越难读

2024-02-21 09:44:33

Rust前端

2021-08-03 11:09:41

智能手机功能技术

2022-05-27 11:44:53

JS代码

2017-10-27 12:28:14

云端迁移云计算

2019-01-23 17:48:29

人工智能机器学习技术

2013-06-19 10:19:59

点赞
收藏

51CTO技术栈公众号