CN113139536A - 一种基于跨域元学习的文本验证码识别方法、设备及存储介质 - Google Patents

一种基于跨域元学习的文本验证码识别方法、设备及存储介质 Download PDF

Info

Publication number
CN113139536A
CN113139536A CN202110515675.XA CN202110515675A CN113139536A CN 113139536 A CN113139536 A CN 113139536A CN 202110515675 A CN202110515675 A CN 202110515675A CN 113139536 A CN113139536 A CN 113139536A
Authority
CN
China
Prior art keywords
meta
samples
verification code
learning
sample
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110515675.XA
Other languages
English (en)
Other versions
CN113139536B (zh
Inventor
王瑶
王佰玲
王巍
刘扬
金楚浩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Harbin Institute of Technology Weihai
Original Assignee
Harbin Institute of Technology Weihai
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Harbin Institute of Technology Weihai filed Critical Harbin Institute of Technology Weihai
Priority to CN202110515675.XA priority Critical patent/CN113139536B/zh
Publication of CN113139536A publication Critical patent/CN113139536A/zh
Application granted granted Critical
Publication of CN113139536B publication Critical patent/CN113139536B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/22Image preprocessing by selection of a specific region containing or referencing a pattern; Locating or processing of specific regions to guide the detection or recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/20Image preprocessing
    • G06V10/26Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
    • G06V10/267Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion by performing operations on regions, e.g. growing, shrinking or watersheds
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Multimedia (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computing Systems (AREA)
  • Molecular Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Character Discrimination (AREA)

Abstract

本发明涉及一种基于跨域元学习的文本验证码识别方法、设备及存储介质,包括:(1)元训练阶段:首先,生成大量带有不同安全特征的验证码图片作为基础训练数据;然后,进行字符分割,并将分割好的字符输入到ResNet神经网络模型中进行特征提取;最后,得到预估类别的损失值;(2)微调阶段:标注少量几张与元训练阶段中基础训练数据不同类型的验证码图片,对ResNet神经网络模型进行微调,得到最终的识别结果。本发明具有标注样本量极少,模型训练速度快,泛化能力强,识别准确率高的特点,解决了现有验证码识别方法需要大量标注数据以及模型迁移难度大等问题,能够满足工业化需求,具有广泛的应用前景。

Description

一种基于跨域元学习的文本验证码识别方法、设备及存储 介质
技术领域
本发明涉及一种基于跨域元学习的文本验证码识别方法、设备及存储介质,属于计算机视觉及图像处理技术领域。
背景技术
验证码,也称为反图灵测试,是一种区分操作对象是人还是计算机的自动化机制。目前,各大商业网站广泛使用验证码来防止恶意破解密码、刷票、灌水以及黑客攻击等,以此保障网站的信息安全。尽管近年来提出了很多新的验证码类型,文本验证码依旧是最为广泛使用的验证码类型之一,因此对文本验证码的研究有助于设计出更为安全有效的人机判别机制,从而推动信息安全领域的发展。
现有的文本验证码识别方案通常有三种:特定类型验证码识别方法、基于深度学习的验证码识别方法、基于迁移学习的验证码识别方法。早期的验证码识别算法通常针对单一类型的验证码进行研究,其主要思想是找到某种验证码中的设计漏洞,并设计算法进行针对性破解。由于各个网站使用的验证码存在一定差异性(字体、颜色、大小等安全特征不同),该类方法很难泛化到其他验证码类型中;基于深度学习的验证码识别方案在端对端破解中取得了较大的准确率提升,该类方法属于统计学习范畴,模型的有效性很大程度上取决于训练数据的多少。通常情况下,对于每种验证码类型,至少需要标注几万张图片进行模型训练以减少过拟合现象的发生;为减少样本标注所需要的人力成本和时间成本,近年来越来越多的研究者使用迁移学习进行验证码识别。该类方法通常先使用生成式对抗网络生成的大量模拟样本训练出一个基础模型,然后使用几百张标注样本对基础模型进行参数微调,得到最终的模型。该方法虽然在一定程度上减少了人工标注所需的时间,但由于步骤繁琐、模型复杂,导致训练时间长、泛化难度大、以及对硬件要求较高的问题。
发明内容
针对现有的验证码识别方案存在的不足,本发明提出了一种基于元学习的文本验证码识别方法。
该方法结合小样本学习思想与多源域数据联合训练的方法,解决元学习算法跨域效果差以及字符识别过程中数据不均衡的问题。本发明提出的验证码识别方案极大的减少了样本标注量,仅需要几十张甚至几张标注样本即可取得较高的识别准确率,同时模型能够容易的泛化到具有不同安全特征的文本验证码中。具有模型简单、训练速度快、人力成本低的优势,准确率能够满足工业化要求。
本发明主要解决以下技术问题:
1)仅有极少量(通常少于50张)标注样本的情况下,文本验证码识别问题;
2)元学习跨域问题;
3)数据不均衡情况下,文本识别准确率不足问题。
本发明还提供了一种计算机设备及存储介质。
术语解释:
1、验证码生成器,是指使用Python和Java代码,通过参数调节自动生成大量验证码图片的模型。
2、轮廓检测,是指在包含目标和背景的数字图像中,忽略背景和目标内部的纹理以及噪声干扰的影响,采用一定的技术和方法来实现目标轮廓提取的过程。它是目标检测、形状分析、目标识别和目标跟踪等技术的重要基础。
3、任务,Task,是一种元学习的训练模式,每个任务随机抽取N*K个样本作为支撑集用于训练模型,再从其余数据中抽取一批样本构成查询集用于参数更新。
4、嵌入函数
Figure BDA0003061912770000021
xi代表训练集中的数据样本点,
Figure BDA0003061912770000022
是一个神经网络模型,其中模型参数
Figure BDA0003061912770000023
利用反向传播算法通过学习得到。
5、query set,指查询集,在元训练过程中用于计算损失值并进行模型参数更新。
6、SoftMax函数,指归一化指数函数,通常用于多分类任务中,其目的是将多分类的结果以概率的形式展现出来。
本发明的技术方案为:
一种基于元学习的文本验证码识别方法,包括步骤如下:
(1)元训练阶段
首先,生成大量带有不同安全特征的验证码图片作为基础训练数据;
然后,对基础训练数据中的带有不同安全特征的验证码图片进行字符分割,并将分割好的字符输入到ResNet神经网络模型中进行特征提取;
最后,得到预估类别的损失值;
(2)微调阶段
标注少量几张与元训练阶段中基础训练数据不同类型的验证码图片,对ResNet神经网络模型进行微调,得到最终的识别结果。
根据本发明优选的,在跨域元学习任务中,源域数据即基础训练数据表示为(xs,ys),其中,xs表示源域数据样本,ys表示源域数据样本对应的标签,目标域数据即少量几张与基础训练数据不同类型的验证码图片表示为(xt,yt),其中,xt表示目标域数据样本,yt表示目标域数据样本对应的标签,元学习模型即ResNet神经网络模型在元训练阶段从源域数据采样,微调阶段从目标域数据中采样;
元学习模型以任务(task)的形式进行训练,每个任务从源域数据中随机抽取K个类别,每个类别中N个样本构成支撑集(support set),这种设定通常称为“K-way,N-shot”小样本学习。当元学习模型在支撑集上学习到网络参数后,使用查询集query set评估网络参数的性能。
首先,使用嵌入函数
Figure BDA0003061912770000031
对支撑集中的数据进行特征提取,并且计算每个类别的所有样本在嵌入空间中的均值(对于1-shot任务则无需计算均值),作为该类别的原型Ck
然后,从查询集query set中随机采样图片作为测试样本,输入元学习模型,通过嵌入函数
Figure BDA0003061912770000032
映射到同一个嵌入空间中,求该测试样本到每个类别的原型的距离,并进行归一化操作,得到该测试样本属于每个类别的概率值;
最后,根据真实标签计算损失值,并使用梯度下降算法反馈调节元学习模型的参数。
根据本发明优选的,所述元学习模型采用预训练的残差网络模型用于特征提取,所述元学习模型包括50层在ImageNet上训练的残差块,残差块包括使用TensorFlow框架构造卷积层、池化层、批量归一化层、激活层,并将残差块堆叠得到最终的所述元学习模型。
根据本发明优选的,所述元训练阶段,具体包括步骤如下:
1)验证码生成器通过调节参数设置3~5种具有不同安全特征的验证码类型,每个验证码类型都包括大量带标签样本;
2)将每个类型的大量带标签样本融合到一个数据集后作为基础训练数据;
3)对基础训练数据进行预处理,即统一处理成统一的尺寸;
4)使用轮廓检测算法,将步骤3)得到的验证码图片切割为单个字符样本;
5)将单个字符样本分批次输入元学习模型,对于支撑集,每个任务随机采样K*N个样本进行训练;
6)在Query Set中随机采样若干个样本作为测试集,输入元学习模型中,得到预估概率Ppred;
7)根据Ppred和Preal计算损失值L;Preal是样本的真实标签;
8)使用Momentum算法进行ResNet神经网络模型;
9)重复步骤5)~8)直到运行完所有的任务。
进一步优选的,步骤6)中,预估概率Ppred的求取过程包括:首先,使用嵌入函数将样本点映射到特征空间中,然后,计算每个样本点到每个类别的欧氏距离,最后,使用softmax函数进行归一化操作,得到预估概率Ppred。
进一步优选的,步骤7)中,通过交叉熵函数计算预测标签和真实标签的损失值。
根据本发明优选的,所述微调阶段,具体包括步骤如下:
10)使用轮廓检测算法,对目标域数据中的验证码图片切割为单个字符样本;
11)从步骤10)得到的单个字符样本中随机选取K*N个样本作为支撑集,输入元学习模型中,对元学习模型参数进行微调,即:计算预测概率与真实概率的交叉熵损失值,使用梯度下降方法对元学习模型参数进行微调;
12)从目标域数据中采样出另外若干张图片作为测试集,进行元学习模型的评估,得到准确率。
进一步优选的,步骤12)中,进行元学习模型的评估,得到准确率,是指:
首先,使用嵌入函数将样本点映射到特征空间中;
然后,计算每个样本点到每个类别的欧氏距离;
最后,使用softmax函数进行归一化操作,得到预测标签值;通过对比预测标签值和真实标签值得到最终的准确率。
根据本发明优选的,通过计算每个类别内样本的方差,对待分类样本到每个原型的距离加权,抵消原型在特征空间中偏差不同所带来的影响,包括步骤如下:
A、计算每个类别内样本的方差:使用嵌入函数
Figure BDA0003061912770000041
将样本x映射到特征空间,计算该特征空间中所有类别样本的方差,第K个类别的方差公式如式(Ⅰ)所示:
Figure BDA0003061912770000042
式(Ⅰ)中,Sk表示第K个类别的所有样本,ck表示第K个类别的均值即原型,xi∈RD表示xi为输入值的D维空间的特征向量,yi∈{1,…K}表示与xi相对应的标签;
Figure BDA0003061912770000043
是将样本点xi使用嵌入函数
Figure BDA0003061912770000044
映射到特征空间后的值,v′k是第K个类别的方差;
B、引入两个学习参数W和b,对式(Ⅰ)中的方差公式进行一次线性变换,变换后的公式能够通过网络训练更好的学习到不均衡样本导致的原型偏差与类内方差的相关性。变换后的方差公式如式(Ⅱ)所示:
vk=w*v′k+b(Ⅱ)
C、使用SoftMax函数将每个类别的方差归一化,并将权值与每次元训练的类别数Kn=m相乘,得到最终权值wk,如式(Ⅲ)所示:
Figure BDA0003061912770000045
D、对待分类样本到每个原型的距离加权:计算待分类样本x属于某一类别K的概率
Figure BDA0003061912770000046
如式(Ⅳ)所示:
Figure BDA0003061912770000051
式(Ⅳ)中,ck′指训练集中所有类别的原型,wk′指每个类别对应的权值。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现基于跨域元学习的文本验证码识别方法的步骤。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现基于跨域元学习的文本验证码识别方法的步骤。
附图说明
图1为本发明基于元学习的文本验证码识别方法的流程框图;
图2为2-way 3-shot问题的划分方法示意图;
图3为残差网络模型结构图;
图4为元学习模型工作流程示意图;
图5(a)为基于方差加权前的决策边界示意图;
图5(b)为基于方差加权后的决策边界示意图。
本发明的有益效果为:
本发明提出的基于跨域元学习的文本验证码识别方法实现了小样本情况下验证码的识别问题。
与现有验证码识别方法相比,本发明具有以下优势:
1、仅需几张标注样本即可对不同文本类型验证码进行识别;
2、多源域联合训练方法能够有效解决元学习跨域能力不足的问题,提升识别准确率;
3、基于类内方差的距离加权方法能够提升数据不均衡情况下的样本识别准确率;
4、模型具有高度泛化性和灵活性;
5、模型训练速度、识别速度以及识别准确率能够满足工业化要求。
6、具有广泛的应用前景,实用范围包括:应用于任何需要进行自动文本验证码识别的网站和爬虫算法中;应用于其他文本识别和图像分类任务;辅助人机判别机制的完善和改进。
具体实施方式
下面结合说明书附图和实施例对本发明作进一步限定,但不限于此。
实施例1
一种基于元学习的文本验证码识别方法,如图1所示,包括步骤如下:
(1)元训练阶段
首先,通过验证码生成器生成大量带有不同安全特征的验证码图片作为基础训练数据;
然后,使用轮廓检测对基础训练数据中的带有不同安全特征的验证码图片进行字符分割,并将分割好的字符输入到ResNet神经网络模型中进行特征提取;
最后,得到预估类别的损失值;
(2)微调阶段
标注少量几张与元训练阶段中基础训练数据不同类型的验证码图片,对ResNet神经网络模型进行微调,得到最终的识别结果。
实施例2
根据实施例1所述的一种基于元学习的文本验证码识别方法,
在跨域元学习任务中,源域数据即基础训练数据表示为(xs,ys),其中,xs表示源域数据样本,ys表示源域数据样本对应的标签,目标域数据即少量几张与基础训练数据不同类型的验证码图片表示为(xt,yt),其中,xt表示目标域数据样本,yt表示目标域数据样本对应的标签,源域数据和目标域数据在特征空间、类别空间或边缘分布中某一项或几项存在差异。如图1所示,源域数据中的验证码与目标域数据中的验证码包含不同字体、颜色、背景干扰等,因此,两个域的样本在嵌入空间中的特征分布Px和Pt存在差异,即Px≠Pt,构成跨域问题。其中,元学习模型即ResNet神经网络模型在元训练阶段从源域数据采样,微调阶段从目标域数据中采样;
为了与测试时的小样本基数保持一致,元学习模型以任务(task)的形式进行训练,每个任务从源域数据中随机抽取K个类别,每个类别中N个样本构成支撑集(supportset),这种设定通常称为“K-way,N-shot”小样本学习。当元学习模型在支撑集上学习到网络参数后,使用查询集query set评估网络参数的性能。元学习数据集划分如图2所示,该图展示了2-way 3-shot(每个任务随机选取两个类别,每个类别选取三个样本作为支撑集)问题的划分方法。
使用原型网络作为基础网络结构,原型网络的主要思想是将每个类别中的样本投影到一个嵌入空间中,在这个空间中,同类样本距离较近、异类样本距离较远。图4为元学习模型工作流程示意图;图4中展示了一个4-way 1-shot的元学习任务,首先使用嵌入函数
Figure BDA0003061912770000061
对支撑集中的数据(xi,yi)进行特征提取,其中xi为样本点,yi是相对应的标签,并且计算每个类别的所有样本在嵌入空间中的均值(对于1-shot任务则无需计算均值),作为该类的原型Ck;然后,从Query Set中随机采样图片
Figure BDA0003061912770000063
作为测试样本输入模型,通过函数
Figure BDA0003061912770000062
映射到同一个嵌入空间中,求该样本点到每个类原型的距离,随后使用softmax函数进行归一化操作得到该样本属于类别K的概率值(Probabilities);最后,根据真实标签计算损失值(Lpred)并使用梯度下降算法反馈调节模型参数。
首先,使用嵌入函数
Figure BDA0003061912770000071
对支撑集中的数据进行特征提取,并且计算每个类别的所有样本在嵌入空间中的均值(对于1-shot任务则无需计算均值),作为该类别的原型Ck
然后,从查询集query set中随机采样图片作为测试样本,输入元学习模型,通过嵌入函数
Figure BDA0003061912770000072
映射到同一个嵌入空间中,求该测试样本到每个类别的原型的距离,并进行归一化操作,得到该测试样本属于每个类别的概率值;
最后,根据真实标签计算损失值,并使用梯度下降算法反馈调节元学习模型的参数。
元学习模型采用预训练的残差网络模型用于特征提取,残差网络模型主要分为模型部署和模型调用两部分,其结构如图3所示。所述元学习模型包括50层在ImageNet上训练的残差块,残差块包括使用TensorFlow框架构造卷积层、池化层、批量归一化层、激活层,并将残差块堆叠得到最终的所述元学习模型。
元训练阶段,具体包括步骤如下:
1)验证码生成器随机生成若干张具有不同安全特征的验证码图片,每个类型包含大量带标签样本;验证码生成器通过调节参数设置3~5种具有不同安全特征的验证码类型,每个验证码类型都包括大量带标签样本;
2)将每个类型的大量带标签样本融合到一个数据集后作为基础训练数据;
3)对基础训练数据进行预处理,即统一处理成统一的尺寸;
4)使用轮廓检测算法,将步骤3)得到的验证码图片切割为单个字符样本;
5)将单个字符样本分批次输入元学习模型,对于支撑集,每个任务随机采样K*N个样本进行训练;
6)在Query Set中随机采样若干个样本作为测试集,输入元学习模型中,得到预估概率Ppred;首先,使用嵌入函数将样本点映射到特征空间中,然后,计算每个样本点到每个类别的欧氏距离,最后,使用softmax函数进行归一化操作,得到预估概率Ppred。
7)根据Ppred和Preal计算损失值L;Preal是样本的真实标签;通过交叉熵函数计算预测标签和真实标签的损失值。
8)使用Momentum算法进行ResNet神经网络模型;由于是监督学习,已知样本x属于类别k,因此模型优化的目标是使样本x属于k的概率最大化,也就是说要最小化预测概率和真实概率的交叉熵损失值,使用梯度下降方法进行模型参数的优化,使其损失值最低。
9)重复步骤5)~8)直到运行完所有的任务。
所述微调阶段,具体包括步骤如下:
10)使用轮廓检测算法,对目标域数据中的验证码图片切割为单个字符样本;
11)从步骤10)得到的单个字符样本中随机选取K*N个样本作为支撑集,输入元学习模型中,对元学习模型参数进行微调,即:计算预测概率与真实概率的交叉熵损失值,使用梯度下降方法对元学习模型参数进行微调;
12)从目标域数据中采样出另外若干张图片作为测试集,进行元学习模型的评估,得到准确率。是指:首先,使用嵌入函数将样本点映射到特征空间中;然后,计算每个样本点到每个类别的欧氏距离;最后,使用softmax函数进行归一化操作,得到预测标签值;通过对比预测标签值和真实标签值得到最终的准确率。
针对传统小样本学习算法在跨域问题上识别准确率低的问题,本发明提出一种多源域数据联合训练方法。通过调研分析发现经典的小样本学习算法,包括模型无关元学习(MAML)、原型网络(ProtoNet)、匹配网络(MatchingNet)等通常使用单一域数据集作为元训练集,例如MiniImageNet、Omniglot等,这些单一域的数据样本映射到嵌入空间中具有相似的特征分布,最终训练得到的模型参数只适用于特征分布相同的数据。因此,目前的小样本学习算法只有当源域和目标域特征分布相近的时候才能取得较好的效果,两者相似度越低,识别效果越差。
不同类型的验证码图片具有不同的安全特征,包括字体、颜色、大小、倾斜程度、旋转程度、背景噪声等等,导致不同类型验证码之间的差异很大,如果使用单一类型的元训练数据,识别准确率无法达到工业使用的标准。因此,针对验证码跨域问题,本发明提出使用多源域数据联合训练方法,训练流程如表1所示。
表1
Figure BDA0003061912770000081
Figure BDA0003061912770000091
从理论层面来说,多源域数据联合训练方法能够让模型在元训练阶段接触到多种不同的特征分布,使其学习到能够快速迁移到多个目标域的参数,在很大程度上增强了模型的鲁棒性。从应用层面来说,该方法实现简单快捷,不需要额外的人工干预;同时,由于使用的数据量与原方法保持一致,因此也不会增加额外的训练时间。
由于每张验证码图片中包含的字符是随机的,经过分割以后的单字符样本存在数据分布不均衡的问题,以Wikipedia的验证码为例(如图1微调阶段的目标域数据所示),该类验证码中包括26个类别(字母a~z)且每张图片包含9个随机字符,当标注的验证码样本数量为10张的时候,分割后共得到90个字符图片,然而由于验证码的随机性并不能保证每个类别具有相同数量,存在数据不均衡的问题。传统的小样本学习算法通常都是基于数据均衡的假设来做的,当每个类别的样本数量不同时,现有的网络模型在进行优化时会出现偏差,导致模型识别效果不佳的问题。
针对数据不均衡问题,本发明提出一种基于类内方差的改进方法,通过计算每个类别内样本的方差,对待分类样本到每个原型的距离加权,抵消原型在特征空间中偏差不同所带来的影响,包括步骤如下:
A、计算每个类别内样本的方差:使用嵌入函数
Figure BDA0003061912770000092
将样本x映射到特征空间,计算该特征空间中所有类别样本的方差,第K个类别的方差公式如式(Ⅰ)所示:
Figure BDA0003061912770000093
式(Ⅰ)中,Sk表示第K个类别的所有样本,ck表示第K个类别的均值即原型,xi∈RD表示xi为输入值的D维空间的特征向量,yi∈{1,…K}表示与xi相对应的标签;
Figure BDA0003061912770000094
是将样本点xi使用嵌入函数
Figure BDA0003061912770000095
映射到特征空间后的值,v′k是第K个类别的方差;
B、引入两个学习参数W和b,对式(Ⅰ)中的方差公式进行一次线性变换,变换后的公式能够通过网络训练更好的学习到不均衡样本导致的原型偏差与类内方差的相关性。变换后的方差公式如式(Ⅱ)所示:
vk=w*v′k+b(Ⅱ)
C、使用SoftMax函数将每个类别的方差归一化,并将权值与每次元训练的类别数Kn=m相乘,得到最终权值wk,如式(Ⅲ)所示:
Figure BDA0003061912770000101
D、对待分类样本到每个原型的距离加权:计算待分类样本x属于某一类别K的概率
Figure BDA0003061912770000103
如式(Ⅳ)所示:
Figure BDA0003061912770000102
式(Ⅳ)中,ck′指训练集中所有类别的原型,wk′指每个类别对应的权值。
为了验证本发明提出的改进方法的有效性,使用matplotlib在二维空间中进行可视化。图5(a)为基于方差加权前的决策边界示意图;图5(b)为基于方差加权后的决策边界示意图。图5(a)、图5(b)中,横、纵轴表示在二维特征空间中,样本点的取值范围设定在[-10,10]之间。有4类支撑数据,然后将这4类支撑数据的实际原型均匀地固定在特征空间中,紧接着,以0.5为初始方差去随机地生成在特征空间中的估计原型。每在一个类别上计算结束后,方差会乘以1.5,然后再在下一个类别上生成估计原型。改进前每个类别的决策范围趋于平均化,位于较大方差类别边缘的样本容易被错误分类;改进后的决策边界更加灵活合理,具有较大方差的类别的决策范围也同时增大了。因此在理论上能够改善数据不均衡导致的准确率低的问题。同时,从应用角度来说,本改进方法仅引入两个额外的可学习参数,模型训练的时间和空间复杂度基本维持不变。
本发明基于元学习思想,采用多源域数据联合训练方法提出了一种针对不均衡数据的文本验证码识别方法。具有标注样本量极少,模型训练速度快,泛化能力强,识别准确率高的特点,解决了现有验证码识别方法需要大量标注数据以及模型迁移难度大等问题,能够满足工业化需求,具有广泛的应用前景。本发明解决了网络爬虫过程中遇到的验证码问题;本发明解决了传统验证码识别方法在应用时需要大量标注数据的问题;本发明改善了数据不均衡情况下导致的准确率降低问题。
与传统的验证码识别方法(针对特定类型的文本验证码识别方法、基于深度学习的文本验证码识别方法、基于迁移学习的文本验证码识别方法)相比,本发明基于跨域元学习的文本验证码识别方法具有的优缺点如表2所示。
表2
Figure BDA0003061912770000111
实施例3
一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现实施例1或2所述基于跨域元学习的文本验证码识别方法的步骤。
实施例4
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现实施例1或2所述基于跨域元学习的文本验证码识别方法的步骤。

Claims (10)

1.一种基于元学习的文本验证码识别方法,其特征在于,包括步骤如下:
(1)元训练阶段
首先,生成大量带有不同安全特征的验证码图片作为基础训练数据;
然后,对基础训练数据中的带有不同安全特征的验证码图片进行字符分割,并将分割好的字符输入到ResNet神经网络模型中进行特征提取;
最后,得到预估类别的损失值;
(2)微调阶段
标注几张与元训练阶段中基础训练数据不同类型的验证码图片,对ResNet神经网络模型进行微调,得到最终的识别结果。
2.根据权利要求1所述的一种基于元学习的文本验证码识别方法,其特征在于,在跨域元学习任务中,源域数据即基础训练数据表示为(xs,ys),其中,xs表示源域数据样本,ys表示源域数据样本对应的标签,目标域数据即少量几张与基础训练数据不同类型的验证码图片表示为(xt,yt),其中,xt表示目标域数据样本,yt表示目标域数据样本对应的标签,元学习模型即ResNet神经网络模型在元训练阶段从源域数据采样,微调阶段从目标域数据中采样;
元学习模型以任务的形式进行训练,每个任务从源域数据中随机抽取K个类别,每个类别中N个样本构成支撑集,当元学习模型在支撑集上学习到网络参数后,使用查询集queryset评估网络参数的性能;
首先,使用嵌入函数
Figure FDA0003061912760000011
对支撑集中的数据进行特征提取,并且计算每个类别的所有样本在嵌入空间中的均值,作为该类别的原型Ck
然后,从查询集query set中随机采样图片作为测试样本,输入元学习模型,通过嵌入函数
Figure FDA0003061912760000012
映射到同一个嵌入空间中,求该测试样本到每个类别的原型的距离,并进行归一化操作,得到该测试样本属于每个类别的概率值;
最后,根据真实标签计算损失值,并使用梯度下降算法反馈调节元学习模型的参数。
3.根据权利要求2所述的一种基于元学习的文本验证码识别方法,其特征在于,所述元学习模型采用预训练的残差网络模型用于特征提取,所述元学习模型包括50层残差块,残差块包括卷积层、池化层、批量归一化层、激活层,并将残差块堆叠得到最终的所述元学习模型。
4.根据权利要求1所述的一种基于元学习的文本验证码识别方法,其特征在于,所述元训练阶段,具体包括步骤如下:
1)验证码生成器通过调节参数设置3~5种具有不同安全特征的验证码类型,每个验证码类型都包括大量带标签样本;
2)将每个类型的大量带标签样本融合到一个数据集后作为基础训练数据;
3)对基础训练数据进行预处理,即统一处理成统一的尺寸;
4)使用轮廓检测算法,将步骤3)得到的验证码图片切割为单个字符样本;
5)将单个字符样本分批次输入元学习模型,对于支撑集,每个任务随机采样K*N个样本进行训练;
6)在Query Set中随机采样若干个样本作为测试集,输入元学习模型中,得到预估概率Ppred;
7)根据Ppred和Preal计算损失值L;Preal是样本的真实标签;
8)使用Momentum算法进行ResNet神经网络模型;
9)重复步骤5)~8)直到运行完所有的任务。
5.根据权利要求4所述的一种基于元学习的文本验证码识别方法,其特征在于,步骤6)中,预估概率Ppred的求取过程包括:首先,使用嵌入函数将样本点映射到特征空间中,然后,计算每个样本点到每个类别的欧氏距离,最后,使用softmax函数进行归一化操作,得到预估概率Ppred;
步骤7)中,通过交叉熵函数计算预测标签和真实标签的损失值。
6.根据权利要求2所述的一种基于元学习的文本验证码识别方法,其特征在于,所述微调阶段,具体包括步骤如下:
10)使用轮廓检测算法,对目标域数据中的验证码图片切割为单个字符样本;
11)从步骤10)得到的单个字符样本中随机选取K*N个样本作为支撑集,输入元学习模型中,对元学习模型参数进行微调,即:计算预测概率与真实概率的交叉熵损失值,使用梯度下降方法对元学习模型参数进行微调;
12)从目标域数据中采样出另外若干张图片作为测试集,进行元学习模型的评估,得到准确率。
7.根据权利要求6所述的一种基于元学习的文本验证码识别方法,其特征在于,步骤12)中,进行元学习模型的评估,得到准确率,是指:
首先,使用嵌入函数将样本点映射到特征空间中;
然后,计算每个样本点到每个类别的欧氏距离;
最后,使用softmax函数进行归一化操作,得到预测标签值;通过对比预测标签值和真实标签值得到最终的准确率。
8.根据权利要求1所述的一种基于元学习的文本验证码识别方法,其特征在于,通过计算每个类别内样本的方差,对待分类样本到每个原型的距离加权,抵消原型在特征空间中偏差不同所带来的影响,包括步骤如下:
A、计算每个类别内样本的方差:使用嵌入函数
Figure FDA0003061912760000036
将样本x映射到特征空间,计算该特征空间中所有类别样本的方差,第K个类别的方差公式如式(Ⅰ)所示:
Figure FDA0003061912760000031
式(Ⅰ)中,Sk表示第K个类别的所有样本,ck表示第K个类别的均值即原型,xi∈RD表示xi为输入值的D维空间的特征向量,yi∈{1,…K}表示与xi相对应的标签;
Figure FDA0003061912760000037
是将样本点xi使用嵌入函数
Figure FDA0003061912760000032
映射到特征空间后的值,v′k是第K个类别的方差;
B、引入两个学习参数W和b,对式(Ⅰ)中的方差公式进行一次线性变换,变换后的方差公式如式(Ⅱ)所示:
vk=w*v′k+b (Ⅱ)
C、使用SoftMax函数将每个类别的方差归一化,并将权值与每次元训练的类别数Knum相乘,得到最终权值wk,如式(Ⅲ)所示:
Figure FDA0003061912760000033
D、对待分类样本到每个原型的距离加权:计算待分类样本x属于某一类别K的概率
Figure FDA0003061912760000034
如式(Ⅳ)所示:
Figure FDA0003061912760000035
式(Ⅳ)中,ck′指训练集中所有类别的原型,wk′指每个类别对应的权值。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1-8任一所述的基于跨域元学习的文本验证码识别方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1-8任一所述的基于跨域元学习的文本验证码识别方法的步骤。
CN202110515675.XA 2021-05-12 2021-05-12 一种基于跨域元学习的文本验证码识别方法、设备及存储介质 Active CN113139536B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110515675.XA CN113139536B (zh) 2021-05-12 2021-05-12 一种基于跨域元学习的文本验证码识别方法、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110515675.XA CN113139536B (zh) 2021-05-12 2021-05-12 一种基于跨域元学习的文本验证码识别方法、设备及存储介质

Publications (2)

Publication Number Publication Date
CN113139536A true CN113139536A (zh) 2021-07-20
CN113139536B CN113139536B (zh) 2022-11-18

Family

ID=76817017

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110515675.XA Active CN113139536B (zh) 2021-05-12 2021-05-12 一种基于跨域元学习的文本验证码识别方法、设备及存储介质

Country Status (1)

Country Link
CN (1) CN113139536B (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113971437A (zh) * 2021-09-24 2022-01-25 西北大学 一种基于商用Wi-Fi设备的跨域手势识别方法
CN114202028A (zh) * 2021-12-13 2022-03-18 四川大学 基于mamtl的滚动轴承寿命阶段识别方法
CN114266977A (zh) * 2021-12-27 2022-04-01 青岛澎湃海洋探索技术有限公司 基于超分辨可选择网络的多auv的水下目标识别方法
CN114429570A (zh) * 2021-11-29 2022-05-03 哈尔滨工程大学 一种基于更小损失的动态随机性增强的小样本学习方法
CN114663679A (zh) * 2022-05-25 2022-06-24 山东师范大学 一种基于特征融合元学习的凝血指标异常分类方法
CN115438735A (zh) * 2022-09-09 2022-12-06 中国电信股份有限公司 基于联邦学习的质检方法、系统、可读介质及电子设备

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446123A (zh) * 2016-09-19 2017-02-22 成都知道创宇信息技术有限公司 一种网页中验证码元素识别方法
CN109800811A (zh) * 2019-01-24 2019-05-24 吉林大学 一种基于深度学习的小样本图像识别方法
CN110276394A (zh) * 2019-06-21 2019-09-24 扬州大学 一种小样本下基于深度学习的电力设备分类方法
CN110348399A (zh) * 2019-07-15 2019-10-18 中国人民解放军国防科技大学 基于原型学习机制和多维残差网络的高光谱智能分类方法
CN111126360A (zh) * 2019-11-15 2020-05-08 西安电子科技大学 基于无监督联合多损失模型的跨域行人重识别方法
CN111639679A (zh) * 2020-05-09 2020-09-08 西北工业大学 一种基于多尺度度量学习的小样本学习方法
CN111724083A (zh) * 2020-07-21 2020-09-29 腾讯科技(深圳)有限公司 金融风险识别模型的训练方法、装置、计算机设备及介质
CN112115967A (zh) * 2020-08-06 2020-12-22 中山大学 一种基于数据保护的图像增量学习方法
US20210034965A1 (en) * 2019-08-02 2021-02-04 International Business Machines Corporation Out-of-domain encoder training
CN112508004A (zh) * 2020-12-18 2021-03-16 北京百度网讯科技有限公司 一种文字识别方法、装置、电子设备及存储介质
CN112734049A (zh) * 2020-11-23 2021-04-30 西湖大学 一种基于域自适应的多初始值元学习框架及方法

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106446123A (zh) * 2016-09-19 2017-02-22 成都知道创宇信息技术有限公司 一种网页中验证码元素识别方法
CN109800811A (zh) * 2019-01-24 2019-05-24 吉林大学 一种基于深度学习的小样本图像识别方法
CN110276394A (zh) * 2019-06-21 2019-09-24 扬州大学 一种小样本下基于深度学习的电力设备分类方法
CN110348399A (zh) * 2019-07-15 2019-10-18 中国人民解放军国防科技大学 基于原型学习机制和多维残差网络的高光谱智能分类方法
US20210034965A1 (en) * 2019-08-02 2021-02-04 International Business Machines Corporation Out-of-domain encoder training
CN111126360A (zh) * 2019-11-15 2020-05-08 西安电子科技大学 基于无监督联合多损失模型的跨域行人重识别方法
CN111639679A (zh) * 2020-05-09 2020-09-08 西北工业大学 一种基于多尺度度量学习的小样本学习方法
CN111724083A (zh) * 2020-07-21 2020-09-29 腾讯科技(深圳)有限公司 金融风险识别模型的训练方法、装置、计算机设备及介质
CN112115967A (zh) * 2020-08-06 2020-12-22 中山大学 一种基于数据保护的图像增量学习方法
CN112734049A (zh) * 2020-11-23 2021-04-30 西湖大学 一种基于域自适应的多初始值元学习框架及方法
CN112508004A (zh) * 2020-12-18 2021-03-16 北京百度网讯科技有限公司 一种文字识别方法、装置、电子设备及存储介质

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JAKE SNELL ET AL.: "Prototypical Networks for Few-shot Learning", 《ARXIV:1703.05175V2 [CS.LG]》 *
将门创投: "微软+韩家炜课题组的全面调研:NER标注数据少,怎么办?", 《IC智库》 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113971437A (zh) * 2021-09-24 2022-01-25 西北大学 一种基于商用Wi-Fi设备的跨域手势识别方法
CN113971437B (zh) * 2021-09-24 2024-01-19 西北大学 一种基于商用Wi-Fi设备的跨域手势识别方法
CN114429570A (zh) * 2021-11-29 2022-05-03 哈尔滨工程大学 一种基于更小损失的动态随机性增强的小样本学习方法
CN114202028A (zh) * 2021-12-13 2022-03-18 四川大学 基于mamtl的滚动轴承寿命阶段识别方法
CN114202028B (zh) * 2021-12-13 2023-04-28 四川大学 基于mamtl的滚动轴承寿命阶段识别方法
CN114266977A (zh) * 2021-12-27 2022-04-01 青岛澎湃海洋探索技术有限公司 基于超分辨可选择网络的多auv的水下目标识别方法
CN114663679A (zh) * 2022-05-25 2022-06-24 山东师范大学 一种基于特征融合元学习的凝血指标异常分类方法
CN115438735A (zh) * 2022-09-09 2022-12-06 中国电信股份有限公司 基于联邦学习的质检方法、系统、可读介质及电子设备

Also Published As

Publication number Publication date
CN113139536B (zh) 2022-11-18

Similar Documents

Publication Publication Date Title
CN113139536B (zh) 一种基于跨域元学习的文本验证码识别方法、设备及存储介质
CN111753881B (zh) 一种基于概念敏感性量化识别对抗攻击的防御方法
US9923912B2 (en) Learning detector of malicious network traffic from weak labels
Demir et al. Batch-mode active-learning methods for the interactive classification of remote sensing images
He et al. Multi-patch convolution neural network for iris liveness detection
JP2022141931A (ja) 生体検出モデルのトレーニング方法及び装置、生体検出の方法及び装置、電子機器、記憶媒体、並びにコンピュータプログラム
CN109002755B (zh) 基于人脸图像的年龄估计模型构建方法及估计方法
CN111754519B (zh) 一种基于类激活映射的对抗防御方法
CN106599864A (zh) 一种基于极值理论的深度人脸识别方法
CN108268641A (zh) 发票信息识别方法及发票信息识别装置、设备和存储介质
CN109101984B (zh) 一种基于卷积神经网络的图像识别方法及装置
Meenakshi et al. An Optimised Defensive Technique to Recognize Adversarial Iris Images Using Curvelet Transform.
Oregi et al. Robust image classification against adversarial attacks using elastic similarity measures between edge count sequences
Kwon Multi-model selective backdoor attack with different trigger positions
CN113743443B (zh) 一种图像证据分类和识别方法及装置
Naqvi et al. Adversarial attacks on visual objects using the fast gradient sign method
Azizi et al. From static to dynamic ensemble of classifiers selection: Application to Arabic handwritten recognition
Shekar et al. Offline Signature verification using CNN and SVM classifier
Jere et al. Principal component properties of adversarial samples
Shekar et al. Blockwise binary pattern: a robust and an efficient approach for offline signature verification
CN115116115A (zh) 人脸识别及其模型训练方法和装置
Rajabi et al. Trojan horse training for breaking defenses against backdoor attacks in deep learning
CN114638356A (zh) 一种静态权重引导的深度神经网络后门检测方法及系统
CN111553202B (zh) 进行活体检测的神经网络的训练方法、检测方法及装置
Wardak et al. Noise presence detection in QR code images

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant