A generative vision model that trains with high data efficiency and breaks text-based CAPTCHAs(一)

一种具有高数据效率和突破给予文本的验证码的生成视觉模型

作者:Vacarious技术团队

时间:Oct,26,2017

参考:https://blog.csdn.net/u014264373/article/details/79581507

           http://www.sohu.com/a/201326757_99964548

注:本文是对19页论文的理解与翻译

摘要:

从少数样本学习并泛化至截然不同的情况是人类视觉智能所拥有的能力,这种能力尚未被先进的机器学习模型所学习到。通过系统神经科学的启示,我们引入了视觉的概率生成模型,其中基于消息传送(message-passing)的推断以统一的方式处理识别、分割和推理(Reasoning)。该模型表现出优秀的泛化和遮挡推理(occlusion-reasoning)能力,并在困难的场景文字识别基准任务上优于深度神经网络,且更具有 300 倍的数据效率(data efficient)优势。此外,该模型基本上打破了现代基于文本的验证码生成方案,即在没有具体验证码的启发式方法下分割目标。我们的模型在通向通用人工智能的路上可能是非常重要的,因为它强调了数据效率和语意合成性等特性。

             

图1:人类在字母形式上感知的灵活性。(A)人类擅长解析不熟悉的字体。(B) 相同的字母可以有很多的表现形式,人类可以从上图中识别出“A”。(C) 常识和上下文信息会影响人类对字体的感知:(i)“m”还是“u”或“n”; (ii) 同样的线条中,不同位置上的遮挡会影响对其理解为“N”还是“S”; (iii) 对形状的感知会帮助识别图中的“b,i,s,o,n”和“b,i,k,e”。

前言:

从少数几个例子中学习和一般化的能力是人类所独有的特点,CAPTCHAs被网站用于验证人机。它对于算法来说是困难的,因为它添加了噪声和挤在一起,但对于人来来说却是简单的。

在哺乳动物的大脑中,视觉皮层中的反馈连接在图形-地面-分割和基于对象的自上而下的注意力中起重要作用,即使部分透明的物体占据相同的空间位置,也能分离对象的轮廓(13-16)。 视觉皮层中的侧向连接牵涉到强化轮廓连续性(17,18)。 轮廓和表面使用独立的机制进行交互(19-21),使得对具有不寻常外观的物体(例如用冰制成的椅子)进行识别和想象。 皮层激活的时间和地形提供了轮廓表面表示和推理算法的线索(22,23)。 这些基于皮层功能的见解尚未被纳入领先的机器学习模型

本文的主要工作:

我们引入了一个称为递归皮层网络(RCN)的分层模型,将这些神经科学的见解结合到结构化的概率生成模型框架中(5,24-27)。除了开发RCN及其学习和推理算法之外,我们将该模型应用于各种视觉认知任务,这些任务需要从一个或几个训练实例中进行推广:CAPTCHA的解析,一次性和少量的识别以及手写的生成数字,遮挡推理和场景文本识别。 然后,我们将其性能与最先进的模型进行比较。

                       

图2. RCN模型示意图。(a)物体边缘和表面分离建模。层级结构生成对象轮廓,条件随机场(Conditional Random Field, CRF)生成表面模型。(b)与节点AND node(实心)表示视觉概念的组成成分,或节点OR node(虚心)表示同一语义的不同变化。(c)使用3层RCN对矩形轮廓建模。第二层的AND node用来表示矩形的角,每个角表示为第一层中线条的交汇。(d)使用4层RCN表示字母“A”。

轮廓层次结构生成的轮廓以特定方式与表面CRF交互 ,轮廓表示在物体内部以及物体与其背景之间出现的表面连续性的断裂,这是一种受神经生物学启发的表现选择。(轮廓的含义)

推理:

为了解析场景,RCN在多个场景中保存多个对象实例的分层图。场景的解析可以通过该复合图上的最大后验(MAP)推理来获得,其恢复包括对象身份及其分段的最佳联合配置[(33)的第4节]。虽然RCN网络是非常混乱,我们发现,消息传递(38),与由激活的定时在视觉皮层(启发时间表9,20),导致快速准确的推论。输入图像首先通过PreProc,它使用一组Gabor样过滤器将像素值转换为边缘似然。然后使用在网络中传递的前向和后向消息来识别与对象假设相对应的部分分配,并且通过解决对象假设图上的场景解析问题(图4)找到完整的近似映射解决方案。正向传递给出顶层节点的对数概率的上限。反向传递通过一个接一个的访问一个高得分的前向传递假说,其方式类似于自上而下注意过程(43,44),运行一个假设所有其他节点关闭以找到对象的近似MAP配置的条件推理(图4A)。反向传递可以拒绝许多在正向通过中被错误识别的对象假设。

全局MAP配置是从前向和后向通过生成的所有对象假设的子集。场景中的对象数量被推断为该MAP解决方案的一部分。除了搜索指数大量的子集之外,找到全局MAP还需要推论不同假设之间的高阶交互。我们开发了一种在线性时间内解决这个问题的近似动态规划(DP)方法。DP算法利用了每个对象假设占据可以在输入图像上表示为2d掩码的连续区域的事实。通过考虑在二维掩模重叠时产生空间连续掩模的对象假设(即解析)的组合,我们通过根据包含在其他掩码中的掩码对它们进行排序来创建解析的拓扑排序。这导致对分数的递归计算,其中只有线性数量的候选分析需要在搜索最佳分析时进行评估。

图4. RCN的推理算法。(A) (i) 通过前向传递,包括侧连接传递,生成字符假设。这里PreProc是一类Gabor算子,生成像素上的边界概率。(ii)后向传播和侧面传播创建的分割掩码,它可用来挑选前向传播的假设,上图掩码为“A”。(iii)“A”和“K”之间产生了一个错误的假设“K”,可以通过上下文解析消除错误假设。(iv)可以激活多个假设以产生联合解释来避免字母遮挡情况。(B)第二层上的特征学习。着色圆圈代表激活的特征,虚线圆圈代表最终选取的特征。(C)从边缘的相邻结构中学习侧连接。

学习:

直到网络倒数第二级的特征和横向连接是使用通用3D对象数据集来进行训练的,该对象数据集是任务不可知的,仅被渲染为轮廓图像。所得到的学习功能从较低级别的简单线段到较高级别的曲线和角落有所不同。

考虑部分学习的模型,其中在k级学习了新特征,其中已经学习并完成了k-1级的特征,并且已经在k级学习了一些特征(图4B)。当提供训练图像时,第一步是使用k级的现有特征找到该图像的轮廓的MAP说明。这与前面提到的找到场景的MAP解决方案的推理问题是一样的。使用k-1级的特征来解析仍然无法解释的轮廓,并从其轮廓连续的连接中提出了新的特征。对于所有训练图像,重复此过程累积对k级不同特征的使用的计数,并且通过优化平衡压缩和重建误差的目标函数来选择该级别的最终特征(31)。相同的过程逐级重复[见(33)第5.1节]。

从输入图像的轮廓连通性中学习了指定池对之间连通性的横向图结构。在第一个合并阶段,具有与输入轮廓相邻的特征的池相互连接。这个过程在层次结构中重复地重复,在较低级别的图形中,从较高级别的邻接推断出横向连接。

最上层的特征表示整个对象。这些是通过找到直到网络的倒数第二级的新对象的MAP配置来获得的,根据输入对象的轮廓连续性将倒数第二级连接池对,然后在倒数第二级存储激活的连接作为最顶层的功能。详见第33节第5节。

一旦下一级特征和横向连接的组合被训练,它们可以通过调整一些超参数((33)的8.3节))来用于不同的域。根据图像和对象大小选择PreProc中的滤镜缩放,并且设置横向连接的灵活性以匹配数据中的失真。此外,最低级别的特征具有“平滑参数”,其设置由于噪声而使边缘像素导通的概率的估计。该参数可以根据域中的噪声电平进行设置。

结果:

在CAPTCHA中,机器的识别正确率超过1%即被认为突破。而RCN在多个CAPTCHA数据库中,获得了极佳的成绩(reCAPTCHA:66.6%, BotDetect 64.4%, Yahoo: 57.4%, PayPal: 57.1%),整体上以300倍的数据有效性(data efficiency)击败了深度学习的卷积网络模型。其中,在reCAPTCHA上,对于每个字母,RCN仅使用5个训练样本,而深度学习卷积网络模型达到相似的成绩使用了二百三十万个训练样本。此外,RCN在多个任务(如单样本和小样本识别、手写数字生成等)中,均取得了优异的结果。

在reCAPTCHA数据库的解析中,对于每个字母,RCN只需要使用5个训练样本,准确率为66.6%。在RCN模型中,提供了一个高度精确得分割成单个字符的方法。

如图5.A所示:人类在reCAPTCHA的准确率是87.4%,这是因为输入的一幅图像可能有多个有效的解。那么,两个人的解析相同的概率仅为81%。与RCN相比,最先进的技术CNN需要50000倍大的数据集,而且鲁棒性不好。训练CNN要达到89.9%的准确率,需要230万张独特的训练图像,这些图像是从超过79000个不同的CAPTCHA单词中获得的。图5.B:CNN的准确率会随着一些小干扰(甚至是人类察觉不到的字符间距的微小干扰)迅速恶化。间隔减少15%,精度就下降到38.4%,减少25%,精度就只有7%。这个结果说明了深度学习方法是利用特定的CAPTCHA细节,而不是学习用于解析场景的字符模型。而对于RCN来讲,字符间距越大,识别的准确率越高。

                  

图5 用 RCN 解析验证码 A)为代表性的 ReCAPTCHA 解析方法所给出的前两个预测结果,它们的分割与标注由两个不同的标注者完成。(B)在受限的 CAPTCHA 数据集上 RCN 和 CNN 的词准率。在修改字符间距后,CNN 相比于 RCN 没有那么多的鲁棒性。(C)为不同 CAPTCHA 风格的准确率。(D)为代表性 BotDetect 解析和分割结果(使用不同颜色表示)。

图6:A)RCN在MNIST手写数字集分类中明显优于其他模型。我们将训练样例的数量从1个类别到100个,比较RCN在MNIST上的分类性能。其中,CNN包括最先进的两个框架:VGG-fc6和LeNet-5。这两个框架都是预先用ImageNet训练好了的。这个实验结果:在一个样例中,RCN 准确率 76.6%  CPM 68.9%VGG- CNN54.2%

图6.B)RCN在测试过程中引入的各种形式的混乱也有很强的鲁棒性。而CNN的泛化性能明显降低。图中,在干净的数据集上都表现优异,随着数据集的噪声、边界噪声、斑块、格子、杂乱、删除、遮挡的影响,CNN的准确度下降是很快的

1.数据集大小对RCN的影响不大,对CNN的影响大

2.RNN具备遮挡推理能力,而CNN完全不具备

3。二者在干净的数据上效果基本相当

图6.C)探究侧向链接在RCN前向传播和后向传播的作用:具有两级特征检测和池的RCN网络足以在字符分析任务上获得最佳的准确性。增加层级数目的效果是减少推理时间。

1.前向和后向都有侧向链接的话,随着样本数增多,准确率不变且均处于最佳

2.有一个或没有侧向连接的会随着样本数增多,准确的提升

图7:RCN在重构损坏的MNIST图像上的性能

RCN在重建损坏的MNIST图像上表现性优于自动变分编译器(VAE)和DRAW,DRAW在干净数据集上的性能比RCN要优,DRAW正在学习一个过于灵活的模型,几乎在重构中复制输入图像,这种学习方法在更混乱的数据集上容易损害其性能。

Omniglot的一次训练生成的样本。 在每列中,第1行显示训练示例和其余行显示生成的样本

结论:RCN在一次训练后产生的例子显示出显着的变化,但仍然可以被识别为原始类别

图C测试遮挡推理能力:通过向每个验证(测试)图像添加矩形来创建一个MNIST的变体,使得数字部分被遮挡,也有部分矩形被数字遮挡。如果检测到矩形并将其分割出来,则可以使用RCN生成模型来解释对特定数字的证据的影响,从而提高分类和分割的准确性。在这个具有挑战性的数据集上对RCN进行了分类准确性和遮挡推理的测试。 分类准确性没有解释的是47.0%。 解释矩形将分类精度提高到80.7%。 另外,RCN通过推理矩形和数字之间的遮挡关系来解析场景。该模型成功地预测了精确的遮挡区域。

图7.E RCN在ICDAR-13 Robust Reading数据集上进行了测试,这个数据集是在现实世界的图像中的文本识别基准。对于这个测试,我们增强了解析算法,包括关于n-gram和单词统计的先验知识,以及关于场景中字母布局的几何先验,其中包括间距,相对尺寸和外观一致性。将结果与ICDAR竞赛的顶级参与者以及最近的深度学习方法进行了比较(表1)。

结果:尽管PhotoOCR使用了790万个训练图像,但RCN模型在表现最佳的竞争者PhotoOCR方面却高出了1.9%,而RCN仅选择了从25584个字体图像的基于模型聚类的1,406个训练图像。

RCN在这个任务上达到了更好的精确度,同时提供了300倍的数据效率,并且提供了竞争方法不能提供的字符的详细分割。

讨论:

RCN与贝叶斯计划学习(BPL)相结合是未来调查的另一途径,道格拉斯·霍夫斯塔特(DouglasHofstadter)的挑战-像人类一样灵活有效率的理解信函仍然是人工智能的宏伟目标。

方法总结:

对于reCAPTCHA实验,我们从google.com reCAPTCHA页面下载了5500个reCAPTCHA图像,其中500个被用作参数调整的验证集合,剩余的5000个被报告为准确数字。RCN对这些字符进行了几次的大小写字母的旋转训练。超参数用的是验证集进行优化。人类对这些验证码的准确度由AMT上的工人完成。

BotDetect,PayPal和YahooCAPTCHA使用类似的方法。特别的,对于BotDetec   CAPTCHA,下载了每个CAPTCHA样式的50-100个图像的数据集,以确定解析参数和训练设置,以及另外100个图像作为网络未调谐的测试数据集。

在训练RCN解析ICDAR这个数据集时,从谷歌字体中下载了492个字体,包括25584个字符训练的图像。用自动贪婪字体选择方法(automated greedyfont selection approach)选了1406张图片。算法为:用二进制来表示这些图像,然后使用同一个字母的结果图像来训练一个RCN,这个RCN然后用来识别它被训练的确切图像,为同一个字母的所有字体对提供一个兼容性评分(在0.0到1.0之间)。 最后,以阈值(= 0.8)作为停止标准,我们贪婪地选择最具代表性的字体,最后选出了776个独特的训练图像,解析器使用630个单词图像进行训练,并使用Wikipedia中的单词训练字符ngram。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值