作者 | XIONG,TAO

出品 | AI科技大本营(ID:rgznai100)

导语:国际顶级会议WWW 2020将于4月20日至24日举行。始于1994年的WWW会议,主要讨论有关Web的发展,其相关技术的标准化以及这些技术对社会和文化的影响,每年有大批的学者、研究人员、技术专家、政策制定者等参与。以下是蚂蚁金服的资深技术专家对入选论文《A Generic Solver Combining Unsupervised Learning and Representation Learning for Breaking Text-Based Captchas》做出的深度解读。

随着互联网的高速发展,越来越多的自动化破解程序给网络安全带来不小的挑战。验证码以其简单高效的特征,目前已经成为了互联网安全的基本保障程序。虽然目前已经有许多可供选择的验证码方案,但由于用户偏好和易于设计的特性,基于文本的验证码类型仍然是维护互联网安全和防止恶意攻击的最流行的安全机制之一。

而文本验证码的安全特征对验证码安全性方面起着十分重要的作用,因此作为学术研究去自动识别破解文本验证码,可以发现现有验证码所存在的漏洞,有利于网站开发人员设计出更加安全的验证码体系,保障网络安全。

在过去的十多年里,人们已经提出了多种验证码破解方法,其中许多方法需要针对不同的验证码类型使用独特的滤波和分割方法来实现字符识别,这类方法的泛化性较差,且需要过多的人工参与。

随着更复杂的安全特性被引入到文本验证码中,这些方法也不再适用。而一些基于深度学习的验证码识别算法在准确性上取得了显著的提高,但这些方法的主要问题是需要大规模的带有标签的训练样本参与训练,而这通常需要耗费大量的人工成本。因此,基于深度学习类方法主要需要解决的是训练样本量不足的问题。

简介

大规模带有标签验证码图像难以收集,但是无标签的图像样本却是很容易大量采集得到。而在深度学习领域中,无监督学习和表征学习都可以减少对于标签样本的依赖,充分利用无标签数据样本去学习数据表征,提升深度学习方法的性能。

我们通过设计了一个结合无监督学习和表征学习的验证码识别方案,在不依赖人工参与和大规模带标签训练样本的前提下,实现文本验证码的自动识别。经过实验测试发现,我们的方法仅仅使用500张带有标签的训练样本就可以破解大多数主流网站的验证码,这也说明了目前文本验证码的部分安全特征很容易破解。通过我们所提出的方法可以发现现有验证码的漏洞,并且分析不同安全特征的有效性,从而开发出更安全可靠的验证码。

解读

2.1 方案概述

本方案的总体框架如图1所示,主要包含了基于无监督学习的验证码分解器(Captcha decomposer)和基于自监督学习的验证码识别器(Captcha recognizer)。首先使用分解器将验证码分解为两个基本图层(背景层、字符层),然后在字符层上识别验证码字符。分解器以无监督的方式学习单个验证码图像的内部统计信息来去除背景层并保留有用字符信息,削弱了验证码安全特征的影响,从而降低后续识别器的识别的难度。

图1 整体框架图

图2描述了构建自监督识别器的步骤,该识别器由两部分组成:特征提取器和分类器。特征提取器的训练采用了表征学习方法,使用无标签的数据样本以自监督的方式进行训练,使特征提取器能够提取到有效的且具有判别力的字符特征。当特征提取器训练好了之后,在后面接上分类器,使用少量带有标签的验证码图片以全监督的方式训练分类器。

图2 识别器训练过程

2.2 验证码分解器

如图3所示,验证码图像一般由三部分组成:前景层、字符层和背景层,其中各层的安全特征是针对自动破解程序有效的对抗机制。其中,背景层干扰对于识别准确率影响较为明显,且难以去除。

图3 文本验证码图像示例

通过仔细研究验证码的组成结构,我们发现背景层一般都具有自相关性强的纹理,比如相同的背景颜色、有规律的网格线等等。而且背景层和字符层的纹理相关性很弱。基于这一发现,我们利用这种图像先验信息以无监督的方式去分离验证码图层。如图4所示,我们提出使用两个卷积网络分别学习背景层纹理和字符层纹理,然后通过一个学习得到的权值掩膜来结合两个纹理层输出重建得到输入验证码图像。

图4 无监督分解器结构图

以图像重建损失作为整个模型训练的约束项,以引导网络1和网络2 分别学习得到图像层中完全不同但是却比较简单的组成结构。当训练完成后,掩膜乘以字符层纹理就是我们所需的字符数据层。分解器一共包含有三个生成网络,通过无监督学习推理每张验证码图片的子层统计规律而实现图像层的分离,而不是依赖于大规模的训练样本。图5展示了我们图层分离的一些例子。

图5 图层分离实例

2.3 验证码识别器

字符其实是一种局部相关性很强的信息,我们通过使用字符上下区域间的关系构建预测任务实现自监督学习方案。如图6所示,我们将无标签验证码图像均匀裁剪为个图像块。为了构成一个预测任务,我们采用一个自回归模型有序地总结每一列的前四个特征向量,然后使用线性预测矩阵来预测该列后续的特征向量,然后评估预测的特征向量和所提取的特征向量的相似度。预测任务的正样本是采用同一列中有序的图像块组合,而负样本则由验证码图像中的图像块随机组合所构成。通过这种验证码字符表征学习方法可以使得识别器真正得学习和认识每个字符。

图6 特征提取器的自监督训练方案

为了使特征提取器充分学习到字符的表征信息和语义信息而不是陷入到一些实验捷径中,我们提出了一种包含大量困难样本的训练方案。如图7所示,我们人为合成一些包含有不同背景、字符颜色的正样本,不同上下字符间隔、旋转角度的负样本,以及不同真实验证码图像拼接所得到的负样本。通过这些样本有助于特征提取器在忽略其他与字符无关因素干扰的情况下学习到有用字符语义信息,提升模型的判别能力。

图7 困难样本实例

当训练好特征提取器后,去掉自回归模型,在后面接上一个字符识别分类器。如图8所示,因为分类器的结构非常简单、参数量少,使用少量带有标签的验证码图片就足够训练分类器网络了。整个识别器网络主要依靠无标签的数据样本和极少量的带标签样本,这大大降低了模型对数据样本采集的困难。

图8 识别器网络结构

前景

本论文所涉及到的技术不仅仅可以应用于验证码识别领域中。自监督识别器采用字符表征学习证明了,深度学习可以充分利用无标签数据样本,实现无标签数据的有效利用。

在目前人工智能领域,仍然存在着很多应用方向,无法获取大规模带有标签的数据样本或者获取带有标签数据样本的代价高昂,例如无人驾驶领域等。针对这类难以获得标签样本的任务,可以通过本文所提出的表征学习方案,在图像关系或者字符关系上构建预测任务,形成自监督学习任务,训练网络模型。而无监督分解器依靠图像内部统计规律的差异实现子图层分离,不依赖于训练样本,这一方案可以轻松移植到目前大多数的验证码识别方案中,降低验证码图像背景噪声的影响。

除此之外,这一相关技术在各个图像领域也具有广泛的应用价值,例如在图像去噪、去雾等图像生成类任务领域,根据图像层和噪声层/含雾层统计分布的不同,实现图层分离,得到干净的目标图像;在图像分割领域,根据各个子模块的分布不同实现图像语义分割等。我们希望我们的工作能够启发关于无监督学习和表征学习的改进方案,减少带标签样本数据的依赖度,将神经网络和图像表征的力量结合起来,广泛应用于人工智能类应用中。

欢迎所有开发者扫描下方二维码填写《开发者与AI大调研》,只需2分钟,便可收获价值299元的「AI开发者万人大会」在线直播门票!

推荐阅读

  • 前百度主任架构师创业,两年融资千万美元,他说AI新药研发将迎来黄金十年

  • 北京四环堵车引发的智能交通大构想

  • 400 多行代码!超详细中文聊天机器人开发指南 | 原力计划

  • 一站式杀手级AI开发平台来袭!告别切换零散建模工具

  • 你知道吗?其实 Oracle 直方图自动统计算法存在这些缺陷!(附验证步骤)

  • 你公司的虚拟机还闲着?基于 Jenkins 和 Kubernetes 的持续集成测试实践了解一下!

  • 从 Web 1.0到Web 3.0:详析这些年互联网的发展及未来方向

  • 你点的每个“在看”,我都认真当成了AI

500张训练样本攻破验证码?蚂蚁金服提自监督表征学习识别方法相关推荐

  1. 蚂蚁金服提新概率图模型GLN,正确率提升8.2%,具备可解释性 | NeurIPS 2019

    作者 | 蚂蚁金服 编辑 | Jane 出品 | AI科技大本营(ID:rgznai100) [导读]一年一度的国际顶级学术会议NeurIPS 2019将于12月8日至14日在加拿大温哥华举行.作为人 ...

  2. 蚂蚁金服大佬自述:保持学习力,永远胜过不切实际的一夜暴富幻想!

    近日,蚂蚁金服上市,估值2000亿美元,不少蚂蚁大佬纷纷实现财务自由,大家纷纷表示柠檬酸了的各种羡慕之情. 据朋友圈蚂蚁金服大佬自述:掌握岗位核心技能.保持学习力,永远胜过不切实际的一夜暴富幻想.其实 ...

  3. 蚂蚁金服开源-SofaRpc源码学习篇

    大家好,我叫大鸡腿,大家可以关注下我,会持续更新技术文章还有人生感悟,感谢~ 文章目录 官网 基本流程 SofaRpc学习 代码入手 服务端-发布过程 服务端-构造执行链 服务端-注册到注册中心 客户 ...

  4. 2018蚂蚁金服NLP用户意图的精准识别,复赛f1 = 0.7327

    向AI转型的程序员都关注了这个号

  5. 蚂蚁金服P8大佬给的学习资料

    废话不说,直接上资源. 链接: https://pan.baidu.com/s/1n0zrMmsgrItYfKrHO_LaAw 密码: 31j0 资料是如何来的呢? 在这里也分享给大家,愿我们都能进入 ...

  6. 深度|蚂蚁金服“刷脸”支付技术解读:错误率低于百万分之一

    小蚂蚁说: 2017年,肯德基开设了全球首家刷脸支付餐厅.截至今年3月,支付宝4.5亿用户中已有超过1.5亿用户使用过人脸识别功能--这些对安全性和技术能力要求最高的支付交易场景背后,是蚂蚁金服提供的 ...

  7. 蚂蚁金服CTO程立:AI尚不具备金融级的能力,开放是突破边界唯一出路

    作为云栖大会重要组成部分,首届ATEC大会也在杭州云栖小镇召开.ATEC大会又叫蚂蚁金服科技探索大会,今年,大会发布的关键词是"技术开放". 作为ATEC大会首个演讲,蚂蚁金服CT ...

  8. 蚂蚁金服是不是中国最好的 FinTech(金融科技)公司

    FinTech一直是科技领域的宠儿,科技+金融当然怎样都受人喜爱. 有一种观点认为,蚂蚁金服已经是中国最好的 FinTech(金融科技)公司.事实上,在金融科技领域,阿里确实领跑腾讯与百度.我们看一下 ...

  9. 蚂蚁金服上市了,“我对钱不感兴趣”的马爸爸王牌迭出

    蚂蚁金融服务集团正式成立2014年10月16日,旗下的业务包括支付宝.支付宝钱包.余额宝.招财宝.蚂蚁小贷和网商银行(筹)等.蚂蚁金服每天的支付笔数超过8000万笔,其中移动支付的占比已经超过50%, ...

最新文章

  1. [转]解决Android studio升级到3.5的一些问题
  2. 将字符串中的小写字母转换成大写字母 (信息学奥赛一本通-T1138)
  3. QApplication
  4. 前端面试:如何修改overflow:scroll 滚动条的默认样式-如背景色以及宽度
  5. 翼虎AE教程 Max贴图教程 地址备份。。。。
  6. matlab的gca和gcf,MATLAB 中gcf、gca 以及gco 的区别
  7. java答题软件_非常实用的java自动答题计时计分器
  8. 多智时代,大数据发展趋势预测
  9. iOS开发 DarkMode 暗黑模式
  10. 【百度小程序模板】百度小程序模板怎么制作
  11. 2020-09-15,小米笔试,java
  12. krpano相关笔记
  13. 基于 mPaaS 框架 Portal-Bundle 接入方式下 Multidex 分包失效的解决方法
  14. python BeautifulSoup的使用
  15. 基于树莓派和OpenCV的人脸识别
  16. JAVA笔记---------字符串基础与操作
  17. idea中重写接口中方法没有自动生产@Override怎么办?
  18. 2011年RSA中国大会报名注册正式启动
  19. 分享一个c++连线小游戏
  20. 可恶,IE中的window.open()

热门文章

  1. 虚拟主机使用phpmailer发送邮件
  2. VScode CMake 编写 Boost Asio 程序----记录4
  3. jmeter - perfMon性能监控
  4. listbox删除报错_listbox里面项的删除方法
  5. POWER PIVOT的使用介绍1
  6. 软件工程慕课答案 第七周 面向对象分析
  7. 微信神器:一键批量下载微信好友头像并拼成一张图
  8. linux ethtool 命令详解
  9. flarum编辑器预览插件
  10. Mac 抓包工具Charles