人工智能、心理学与验证码(CAPTCHA)

心理学和人工智能交叉的研究很多,这里主要探讨在验证码(CAPTCHA)识别方面的应用。CAPTCHA是Completely Automated Public Turing Test to Tell Computers and Humans Apart (全自动区分计算机和人类的图灵测试)的缩写,中文俗称验证码(实际应用中,验证码仅为CAPTCHA的表现形式之一,但应用最为广泛)。

人类的视觉能力可以从少量学习样本中概括出一般性的规律。研究人员结合人对信息的处理过程,训练机器进行验证码的识别。人类对字体感知有灵活性。图1是几种不同类型的验证码。A是普通的识别度较高的验证码;B是在各种各样外观中的字母呈现,人们可以在这些图像中识别出“A”;C表示常识和语境会影响字体感知,i) 中字母在不同辅助信息下可能被识别为“m”、“u”或“n”,ii) 中是由相同的三个短线和不同的封堵位置构成的图形,可被识别为“N”或“S”,iii) 中可以根据对形状的感知,识别出“bison”和“bike”。

图1 常见验证码表示形式

来自美国加利福尼亚的研究人员提出了采用递归皮层网络(Recursive Cortical Network,RCN)来进行验证码识别的方法,能对复杂的验证码进行自动化的识别。RCN分层模型将神经科学的理论纳入结构化概率生成模型框架中,并结合各种视觉认知任务,在训练样例中进行应用,包括解析验证码、识别与生成手写数字、遮挡推理和场景文本识别等。

在RCN中,对象被表示为轮廓和曲面的组合(图2A)。 轮廓出现在曲面的边界处,包括对象轮廓和构成对象的曲面之间的边界。曲面使用条件随机场(CRF)建模,CRF捕获曲面属性变化的平滑度。图2B显示了RCN轮廓层次级别内的两个子网(黑色和蓝色)。 图中填充和空的圆形节点是分别对应于特征和池的二进制随机变量。图2C显示了表示正方形轮廓的三级网络。 最低、中间和最高层的特征分别代表线段、角落和整个方形。图2D表示字母“A”的四级网络。

图2 RCN的结构

图3是RCN识别验证码的效果。图3A是亚马逊reCAPTCHA的两层解析和人工标记。图3B表示RCN和卷积神经网络(Convolutional Neural Network,CNN)在CAPTCHA数据集上的识别准确率。当字符间距发生变化时,RCN的效果要好于CNN。图3C是在reCAPTCHA、BotDetect、雅虎、Paypal上对验证码识别的准确率。图3D代表BotDetect解析和分割(由不同颜色表示)。

图3 RCN解析验证码效果

把人对图形的感知运用在自动化与人工智能领域产生了很好的效果。包括神经网络在内的一些模型结合了多个学科的理论,在自然语言处理、模式识别等方面有很深入和成熟的应用。另一方面,这些模型也逐渐进入包括网络空间安全在内的其他领域,在很多工作中也取得了很好的效果。

 

参考文献

[1] Ahn, Luis Von, et al. “CAPTCHA: Using Hard AI Problems for Security. ” In EUROCRYPT 2003: International Conference on the Theory and Applications of Cryptographic Techniques. Springer Berlin Heidelberg, 2003:294-311.

[2] George, D, et al. “A generative vision model that trains with high data efficiency and breaks text-based CAPTCHAs.” Science358.6368(2017):eaag2612.

(本文为中国科学院大学2017-2018学年第三学期《工程心理学》课程作业,完成于2018年7月21日)

发表评论

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