您的位置 首页 快讯

验证码中藏着什么秘密?

上个月,苹果在全球开发者大会(WWDC22)上发布了新系统iOS 16的开发者预览版,据业内猜测,iOS 16面向大众的公开测试版将在本月推出。有用户发现,新的iOS 16系统增加了一个“自动验证”的功能。

我们平时上网,经常会被要求识别验证码,可能是识别一串扭曲变形的字符,可能是做一道数学题,也可能是在多张图片当中找出特定的物品,或者找出上下颠倒的图形等等。据说,识别验证码长期在“互联网最烦人发明”榜单上名列前茅。

iOS 16系统新增的这个“自动验证”功能,就是让苹果手机用户以后不用再手动点击图片或者输入字符了,系统会自动帮你完成验证。它背后的机制叫做“私密证明令牌”,要访问的网站不是向用户,而是直接向设备制造商发送验证消息。只要设备商确认你的手机没有被破解,就会自动通过验证。

不过,这项技术需要网站开发者、用户、设备制造商三方打通,要推广开来还需要一段时间,我们和验证码“斗智斗勇”的日子,一时半会儿还不会完全结束。

消息就是这样,来看看能学到什么知识。

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

没错,这确实是验证码最开始被发明出来的初衷。不过渐渐地,当这项技术普及之后,科学家们又继续开脑洞了:全世界有几十亿网民,他们每天都在花费精力去识别那些严重模糊的图片里的字符,这可是一项超大规模的脑力工程。如果光是用来“自证清白”,好像有点太可惜了,有没有什么地方可以把这个脑力工程给利用上呢?

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

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

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

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

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

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

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

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

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

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

热门文章

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注