验证码正在失去“初衷”,我是我还是机器人?

圈圈圆圆圈圈 2023-07-03
2647 字丨阅读本文需 7 分钟

为了把机器人拦在门外,人类发明了验证码。但不知何时起,验证码开始处处刁难人类。它就像路上的减速带,你过是能过,但总会咯噔一下,而且越急就越难受。

黑胖和我说,那夜他突想温习两性知识,结果在某网注册账号时,被验证码卡了五分钟,可憋坏了。他不理解,都来这种地方了,为啥还要证明自己是个有七情六欲的人。

一般来说,要是简单的识别文字,滑动滑块完成拼图,大伙倒还能接受。但很多时候,验证码大军并不仅有这两个兵种,它们上天入地,各显神通,搞你心态。有的跟你讲了一百字的故事,然后问你一共有几个人去踏青。看着像小学数学暑假作业,难是不难,但是烦。

还有的干脆给你画 6 个迷宫。每个迷宫都有老鼠和奶酪,让你找到那个吃不到奶酪的老鼠。

迷宫倒也不难,但丫是真耽误时间。

更有甚者,你都不知道你得回答什么。

比如图里明明写着「 太极和猴子哪个不是动物 」。结果你提交「 太极 」,显示错误。

因为这些奇葩验证码层出不穷,以至于后来出现的一些离谱截图,都让人难以分辨真假。

为啥这些网站非要我们识别这些烦人的验证码?你肯定会说,这是常识嘛,为了把冒充人类访问网站的“机器人”给揪出来,比如那些在评论区里大量刷垃圾广告的病毒程序,在票务网站不停刷票的黄牛,用大量访问攻击网站的木马等等。这些“机器人”在模糊图形的识别上还没有进化到人类的智能,会被验证码挡在外面。我们识别验证码,也就是在“自证清白”——我不是来捣乱的机器人。

验证码的由来

今天,让我们了解一下验证码的前世今生吧!

先了解什么是“图灵测试”

从1946年世界上第一台计算机出现开始,聪明的人类就已经考虑计算机发展到替代人类的可能性。艾伦·麦席森·图灵,被称为计算机科学之父、人工智能之父,专门设计了一个著名的“图灵测试”,用来判定计算机能否在智力行为上表现得和人无法区分。

当主持人问了1个问题,然后无法从2个解答中分辨出谁是人类、谁是计算机时,就表明计算机的智能水平已经与人类没有差异了。

“图灵测试”是由人类来判断:谁是计算机?谁是人类?

最重要的目的,是识别出计算机。

反过来的“图灵测试” 就是验证码

那么“验证码”,是由计算机来判断:谁是人类?谁是计算机?

最重要的目的,是识别出人类。

这一点,可以从验证码的中英文全称中看出来:CAPTCHA(Completely Automated Public Turing Test to Tell Computers and Humans Apart, 全自动区分计算机和人类的公开图灵测试),又名HIP(Human Interaction Proof,人类交互行为证明)。

最典型的验证码,如下图所示。

以目前的眼光来看,这个验证码确实略显简陋。

但是在计算机技术还不发达的年代,这样的验证码,已经足以识别出人类:

只有人类,才能识别出验证码中被严重扭曲的字母或者数字;

而计算机,则无法识别。

基于这样的验证码,各种计算机系统(例如:网站、邮箱等)成功识别到真正的人类后,允许人类继续操作,比如:登录邮箱、投票等。

为“保护”而生的验证码

当各种计算机系统无法识别人类和计算机时,计算机技术也能给人类带来麻烦,例如:

邮箱的泛滥注册,导致垃圾邮件满天飞;

投票的野蛮刷票,导致投票结果不公正;

车票的插件抢占,导致返乡车票买不到。

1999年一个网站发起的在线投票,推选全美计算机科学专业最好的学校时,按理来说是一个人投一张票。但是投票网站在设计的时候,没有考虑太多,只以投票者所在计算机的IP地址作为判断依据。

于是有人编写了计算机脚本进行批量刷票:每次投票完后更改一个IP地址,然后继续投票。这样的话,有成千上万个IP地址就代表了成千上万个不同的人,就可以投成千上万票。

这样的计算机技术,无疑是影响到了整个投票的公平性。

所以说,各种计算机系统,需要一个坚固的“盾”来保护自己。

实际上,第一种验证码(字符型)的出现,就是为了对抗“自动刷票”这种计算机技术的。

在2007年,验证码的发明者路易斯·安,还真想到了一个应用场景。当时,学术界正在做一项大工程,就是把人类迄今为止的所有纸质典籍给数字化,以电子书的形式保存下来。这项大工程耗时耗力,靠纯手工录入是不可能的,效率太低,最好的办法是用机器扫描加光学识别。不过,这也有一个难题,就是年代久远的典籍扫描出来比较模糊,有一大堆机器辨认不出来的字符。如果雇专人来一个个识别这些字符,那不知道要等到猴年马月,而且成本也非常高。怎么办?

这时候,验证码程序就可以派上大用场了。路易斯·安就把字符验证码稍微改进了一下,新的验证码由两部分字符组成,前半部分和原来一样,是经过设计的扭曲字符,这部分字符系统是知道正确答案的;而后半部分,就取自典籍数字化过程中,那些机器无法准确识别的字符,系统也不知道正确答案。

当用户输入识别验证码的时候,其实只有前一半字符是“自证清白”用的,如果这部分字符填对了,那么系统就认为你是“真人”;你填写的后半部分字符,相当于你是在给系统免费干活,帮它辨认这到底是什么。如果对同一串字符,有三个“真人”给出了一样的答案,这个答案就会被当作正确答案,纳入典籍文字识别结果中去。

新验证码从2007年推出至今,已经录完了从1851年至今的所有《纽约时报》,超过1300万篇文章,还完成了超过2500万本纸质书的数字化。你看,下次识别验证码的时候,可以不用那么烦了,你可以对自己说:我为保存人类文明作了一点贡献。

你在帮Google打工

故事讲到这里还没完。2009年,谷歌收购了这项验证码技术,它想用来干吗呢?就在那一年,谷歌启动了自动驾驶项目。你知道,自动驾驶的一项关键技术,就是训练AI进行图像识别,比如识别街景图像中的门牌、路标、红绿灯、自行车、栏杆等等。这些图像最初的识别标注,需要人工来完成,工作量巨大。

说到这儿,你可能猜到谷歌在打什么主意了。谷歌每天有几十亿次的访问量,用户每天要在上面点击上亿次验证码,这就是庞大的人工识别免费劳动力啊。收购这项验证码技术之后,谷歌就把前面说的,街景图像中的门牌、路标、红绿灯、自行车、栏杆等大量物体加入验证码系统,让用户去点击识别,帮助AI认识这些物体。几年下来,谷歌的AI已经被训练得相当出色,识别物体的功力和人类不相上下。

腾讯“AI众包训练”

谷歌这个套路,后来也被腾讯学了去,不过腾讯不是拿来用于商业目的,而是做一项公益事业。在临床上,90%的诊断需要借助医学影像,也就是B超、彩超、CT等等。在这些片子上标出的病灶和数据,是医生做诊断的重要抓手,比如,诊断肺癌,要看肺结节的尺寸和边缘的毛刺程度;规划手术,要用病灶和周围血管的缠绕程度来判断风险;决定癌症病人是否需要继续用药,要看化疗前后肿瘤尺寸的变化。

给片子做标注这项工作很重要,但又很繁琐,一个病人的一组医学图像,最少需要半个小时来勾画,最好可以用AI来辅助识别。不过,就像自动驾驶算法一样,要训练好AI,首先需要足够多做好标注的数据。这件事情,是不是也可以请广大网友“顺手帮个忙”呢?

就在去年,腾讯和深圳大学合作,推出了一款“医学图像验证码”。验证码由三张相似部位的CT图片组成,最左边一张用红线圈出了特定的部位,需要你在右边的两张图片中,圈出相似的结构。这个验证码项目放在腾讯安全平台上,不是强制验证,看到的用户可以主动去标注。项目一上线,就吸引了上万人去点击,贡献了几万条正确标注的医学图像数据,目前还在持续迭代优化。

你看,这种“AI众包训练”模式,说不定以后会用在更多的智能化领域。下次识别验证码的时候,我们可以自豪地说,我也为当下最先进的AI技术的发展作了一点贡献。

文章来源: 差评,中科院物理所,元宇宙梦想工厂

免责声明:凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处本网。非本网作品均来自其他媒体,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如您发现有任何侵权内容,请依照下方联系方式进行沟通,我们将第一时间进行处理。

0赞 好资讯,需要你的鼓励
来自:圈圈圆圆圈圈
0

参与评论

登录后参与讨论 0/1000

为你推荐

加载中...