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

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

注:文章图片因为时间原因,没有粘贴,可以去下载原本论文对应着看,我也会上传文献

作者:Vacarious(美国一家人工智能公司)技术团队  

时间:Oct. 26, 2017

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

图1:人类在字母形式感知上的灵活 a:人类擅长解析不熟悉的验证码 B:相同的字母有多种表现形式,人类都可以分辨。C:常识和情景可以影响字母的感知

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

本文的主要工作:

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

 

对图2.的描述有所缺损:

 

 

 

 

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

 

推理:

通过对该复杂图进行最大后验(MAP)推理,可以获得场景的解析,从而恢复最佳的联合构形,包括对象标识及其分割。虽然RCN网络非常迟钝,但是我们发现,伴随着视觉皮层的激活时间激发的时间表,消息传播能达到快速而准确的推理。输入图像首先通过PreProc,PreProc通过利用Gabor-like 滤波器将像素值转换为边缘似然度。利用前向和后向的信息传递识别与对象假设相对应的部分赋值,并通过在对象假设图上解决场景解析问题找到一个完整的近似映射解决方案(图)。4) 前向传递给出顶级节点的对数概率的上限,后向传播依一个接一个的去访问高得分的前向传播( high-scoring forward-pass ),类似于自上而下的关注过程。如4.A,反向传播可以拒绝很多在正向传播过程中被错误识别的对象假设。

 

全局的最大后验(MAP)。。。方法:近似动态编程(DP),该 DP算法利用了这样一个事实,即每个对象假设占据一个连续的区域,可以在输入图像上表示为二维掩模

图4;

 

上图(A)中的 i 为前向传播(包括了侧面传播),生成多个字母的假设展示在输入图像中。PreProc 是一组类 Gabor 的滤波器,可以将像素转化为边缘似然度。ii 为后向传播和侧面传播(lateral propagation)创建的分割掩码,它可用来挑选前向传播的假设,上图掩码为「A」。iii 是错误的假设「V」正好拟合「A」和「K」的交叉点,错误的假设需要通过解析来解决。(iv)可以激活多个假设以产生联合解释来避免字母遮挡情况。(B)第二级特征上学习各种特征。彩色的圆圈表示特征激活,虚线圆圈表示提出的特征。(C)从轮廓领域学习边缘(laterals)。

 

学习:

直到倒数第二级网络的特征和横向连接都是使用通用3D对象数据集进行无监督训练的,这些数据集是不可知的,只能作为轮廓图像呈现。 由此产生的学习特征从较低层的简单线段到较高层的弯曲和拐角。

 

结果:

在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.C

 

这幅图中,BotDetect中的各种各样的字母外观证明了为什么轮廓和表面提取是非常重要的,没有这种分解的模型可能会锁定到字体的某些具体外观细节,从而限制了它们的泛化。RCN的结果是基于BotDetect中10种不同类型风格的验证码进行测试,所有的解析都是基于每个字母的24个训练样例训练的单个网络,并在所有类型中使用相同的解析参数。

图6:

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

 

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

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

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

 

讨论:

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

 


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

 

推理:

通过对该复杂图进行最大后验(MAP)推理,可以获得场景的解析,从而恢复最佳的联合构形,包括对象标识及其分割。虽然RCN网络非常迟钝,但是我们发现,伴随着视觉皮层的激活时间激发的时间表,消息传播能达到快速而准确的推理。输入图像首先通过PreProc,PreProc通过利用Gabor-like 滤波器将像素值转换为边缘似然度。利用前向和后向的信息传递识别与对象假设相对应的部分赋值,并通过在对象假设图上解决场景解析问题找到一个完整的近似映射解决方案(图)。4) 前向传递给出顶级节点的对数概率的上限,后向传播依一个接一个的去访问高得分的前向传播( high-scoring forward-pass ),类似于自上而下的关注过程。如4.A,反向传播可以拒绝很多在正向传播过程中被错误识别的对象假设。

 

全局的最大后验(MAP)。。。方法:近似动态编程(DP),该 DP算法利用了这样一个事实,即每个对象假设占据一个连续的区域,可以在输入图像上表示为二维掩模

图4;

 

上图(A)中的 i 为前向传播(包括了侧面传播),生成多个字母的假设展示在输入图像中。PreProc 是一组类 Gabor 的滤波器,可以将像素转化为边缘似然度。ii 为后向传播和侧面传播(lateral propagation)创建的分割掩码,它可用来挑选前向传播的假设,上图掩码为「A」。iii 是错误的假设「V」正好拟合「A」和「K」的交叉点,错误的假设需要通过解析来解决。(iv)可以激活多个假设以产生联合解释来避免字母遮挡情况。(B)第二级特征上学习各种特征。彩色的圆圈表示特征激活,虚线圆圈表示提出的特征。(C)从轮廓领域学习边缘(laterals)。

 

学习:

直到倒数第二级网络的特征和横向连接都是使用通用3D对象数据集进行无监督训练的,这些数据集是不可知的,只能作为轮廓图像呈现。 由此产生的学习特征从较低层的简单线段到较高层的弯曲和拐角。

 

结果:

在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.C

 

这幅图中,BotDetect中的各种各样的字母外观证明了为什么轮廓和表面提取是非常重要的,没有这种分解的模型可能会锁定到字体的某些具体外观细节,从而限制了它们的泛化。RCN的结果是基于BotDetect中10种不同类型风格的验证码进行测试,所有的解析都是基于每个字母的24个训练样例训练的单个网络,并在所有类型中使用相同的解析参数。

图6:

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

 

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

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

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

 

讨论:

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

方法总结:

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

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

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



 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值