你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

  • 作者:
  • 2020-06-18
  • 716人已阅读
你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

最近,上网遇见的验证码「越来越有内容」了。为了证明自己是真人,除了输入方框里的文字,还得从下面图中挑出路牌、交通号誌这种事。

连续遇到好几次后,突然醒悟:这哪是在填验证码,根本就是在帮别人标记资料,训练 AI 啊!

不管是帮图片分类:

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

帮路标描边:

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

还是选出路标:

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

感觉都是在教自动驾驶的 AI 认路啊。

其实,「输验证码就是帮 AI 工作」并不是笔者想太多。我们在输验证码时义务劳动的历史,从古早文字验证码时期就开始了。

每次输入验证码,你都在当义工

今天,应用最广的验证码系统就是 reCAPTCHA (Completely Automated Public Turing Test To Tell Computers and Humans Apart,区分人机的全自动图灵测试系统)了。

这家被 Google 收购的公司,承担了世界大部分网路人机验证工作(上述 3 个例子均来自 reCAPTCHA)。

2007 年,reCAPTCHA 创始人之一,卡内基美隆大学教授路易斯‧冯‧安(Luis von Ahn)想到:「如果人类与机器各有擅长,能否利用验证码系统,让人类和机器共同解决问题?」

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

当时亟待解决的问题就是,如何把浩如烟海的人类纸质典籍数位化。

想要数位化文字,一种方法是人工输入。这种方法费时费力,还容易出现错误。另一种方法是先扫描文件,再结合光学文字辨识技术转成文字档。听起来很美,但有些年代久远或本身品质就差的文件扫描后实在太糊了……

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

以至于电脑辨识漏洞百出,根本没法看。

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

为了解决文件数位化的问题,2007 年,路易斯推出新的验证码系统 reCAPTCHA。

reCAPTCHA 验证码系统里,一个验证码由两部分构成。

第一部分和传统验证码一样,是自动生成并经过变形处理的文字,用来检验你是不是真人。第二部分,则是从无法辨识的文字档截取出来的词。

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

如果用户正确输入前半部,那 reCAPTCHA 就会假设用户输入的后半部也是正确的,然后把录入结果传回 reCAPTCHA 的主机。

传回主机后,主机还会把结果再派发给多个用户交叉验证,确保没有不小心或故意输错单词。

也就是说,真正有效的人机测试在验证码前半段已完成,后半段就是用户义务为人类文明贡献了。

那幺,reCAPTCHA 到底贡献多大?

2007 年推出之初,reCAPTCHA 每天都帮助录入 3 千万个字元。2008 年,数字飙升到 6 千万个。粗略统计,全世界每天都有 2 亿个字元透过 reCAPTCHA 录入,相当于人类 15 万小时工作量。

也就是说,一个人要不吃不喝不睡两年半,才能完成 reCAPTCHA 一天的工作量。

到今天为止,reCAPTCHA 已录入从 1851 年至今所有《纽约时报》,共计 1,300 万篇文章。除《纽约时报》外,reCAPTCHA 还数位化超过 2,500 万本书,而全球图书数量约 1.3 亿本。

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

路易斯接受媒体 The Hustle 採访时这样评价 reCAPTCHA :「我创造了一个系统,以十秒为单位,数百万小时为增量,来利用世界最宝贵的资源:人的大脑。」

验证码在剥削我们?

如果 reCAPTCHA 的故事到这里就结束了,每个人都会很开心。但事情没那幺简单。

2009 年,Google 以约 2,780 万美元收购 reCAPTCHA,并开始利用 reCAPTCHA 帮助标记资料。

正如前文所说,reCAPTCHA 前半段是在验证你是不是真人,后半段就是真人为验证码工作了。

2012 年,Google 开始把 Google 街景难以辨识的门牌和路标加入验证码,请用户帮忙标记。

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

除了标门牌路标,使用户帮忙分类资料库也是常见形式。比如下图这种请用户「挑出所有包含路标的图片」验证码。

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

如今,Google AI 已能精确辨认路标文字和数字,準确度和人不相上下。

当有一天我们终于能使用 Google 的自动驾驶技术,依靠 AI 辨识路标和路灯等等时,这背后无法说没有上千万用户无偿标记的功劳。

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

对这目的,Google 也不否认。在 reCAPTCHA 官网,Google 公开说明 reCAPTCHA 集众人之力标记资料、训练 AI 的「众包」模式。

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

但仍有用户表示不满。

一位觉得验证码不道德的 Reddit 用户写:「这就好像让几百万个人每人为你做 5 秒工作,然后一毛钱都不给,这对吗?」

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

验证码的前世今生

验证码诞生之初,是为了解决一个切实的问题。

网路世界这幺大,你怎幺知道另一端是不是一只狗(或机器人)?

在公开版面,刷评机器人可用大量垃圾评论和广告淹没真人用户的有价资讯;在金融交易平台,程式可靠不停试验来暴力破解密码;在票务网站,我敢说你就算有十只手也抢不过自动刷票的黄牛。

如何确定网路要求是真人传送,成了维护网路环境和保护用户安全的大问题。

2002 年,正是路易斯‧冯‧安提出了切实可行的解决方案,能分清对面「是人是狗」。

虽然电脑运算和分析能力比人类强,但当时的电脑连「一只小猫在跑」这种难不倒 3 岁小孩的图都认不出来。基于这种思想,路易斯和其他同事合作开发了 reCAPTCHA 的祖先 CAPTCHA,也就是俗称的验证码。

初代验证码一般是一些经过扭曲变形的文字或数字。人类可辨识这些文字(儘管偶尔也会出现连人类也认不出的情况),但机器难以理解字元的含义。

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

之后验证码也经历了算数题、选择题,甚至植入广告等更新,但都掩不住最致命的问题:虽然 CAPTCHA 已是相对较好的解决方案,但并非完美。

透过撞程式库、人工智慧辨识影像、甚至把验证码图片传回给人工再批量输入等方法,骇客总能为垃圾程式档找到可乘之机。

更别提有些验证码,连真人都搞不定!

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

加分题:请点击图中所有郭采洁和夏雨乔。

正因为验证码浪费时间,辨识难度大,且对执行某些特定行为(比如爬资料或做学术研究)的人类用户而言极不友善,验证码长期在「网路时代最烦人发明」榜上名列前茅。

于是, reCAPTCHA 推出更科学的验证系统。这种验证系统会侦测用户的用户端环境,追蹤用户的滑鼠和键盘作业轨迹,提高机器人的模拟成本。用户再也不需要苦哈哈辨识歪歪扭扭的文字,只要点击「我不是机器人」对话方块,就能通过验证。

你以为是填 reCAPTCHA 验证码,其实在帮 Google 训练 AI

既然已有更简单、更安全的方式,那幺伴随我们成长的验证码,是不是也该淘汰了呢?这种能解决大问题的「众包模式」,又是否合理呢?