基于元学习的在线手写签名认证方法

文档序号:31073274发布日期:2022-08-09 21:22阅读:173来源:国知局
基于元学习的在线手写签名认证方法

1.本发明属于身份认证技术领域,涉及一种在线手写签名认证方法,可用于金融领域中的签名认证。


背景技术:

2.在线手写签名认证在金融的领域已得到应用。手写签名验证分为在线手写签名和离线手写签名两种方式。与离线手写签名不同,在线手写签名是通过签名板收集,主要采集动态行为要素,如笔划顺序、速度和压力等,有助于增强验证系统的鲁棒性。一般地,在线手写签名认证首先提取手写签名特征,对其进行预处理,采用匹配方法如dtw动态路径匹配等方法或深度学习方法将预处理后的在线手写签名输入至训练好的网络模型中,最终得到认证结果。
3.随着深度学习的不断发展,越来越多的签名认证方法基于深度学习模型进行实现,但是这种方法需要基于大量签名进行认证。当数据量不足时,往往会出现过拟合的情况,导致认证准确率低,而现实生活中往往无法获得大量用于训练的签名。
4.为了保证在少量样本的情况下具有较高的认证精度,研发人员做了大量的探索,例如,中国银行股份有限公司在其申请的专利“一种基于少量样本的手写签名真伪识别方法和装置”(申请公布号:cn114005184a,专利申请号:cn202111294914.x)中,提出了一种基于少量样本的签名认证方法,该方法首先获取用户预留签名样本;构建并训练三元组网络预训练模型;根据用户预留签名样本和三元组网络预训练模型,确定真实签名嵌入向量;采集用户实时签名图片,输入到三元组网络预训练模型,确定实时签名嵌入向量;根据真实签名嵌入向量和实时签名嵌入向量,最终识别用户实时签名信息的真伪。该方法的不足之处在于,该方法从三元组预训练模型的随机初始化权值参数出发对该网络模型进行预训练,训练速度较慢,导致认证效率较低。
5.元学习是深度学习的一种,可以用来解决在少量样本情况下的任务分类问题。除此之外,与传统的深度学习方法不同,元学习可以找到网络模型的最优权值参数并对其进行训练和迭代,而不需要从随机初始化的权值参数出发对网络模型进行迭代,最终达到较快的收敛速度和较好的预测结果。


技术实现要素:

6.本发明的目的在于克服上述现有技术存在的缺陷,提出了一种基于元学习的在线手写签名认证方法,旨在保证认证准确率的前提下,用于解决现有技术中存在的在少量手写签名情况下认证效率较低的技术问题。
7.为实现上述目的,本发明采取的技术方案包括如下步骤:
8.(1)获取训练数据集和测试数据集:
9.(1a)对r个用户u={u1,u2,...,ur,...,ur}中每个用户ur的d个在线手写签名进行预处理,得到ur的预处理后的在线手写签名集合
其中,r≥5,ur表示第r个用户,d≥5,分别表示ur的第d个在线手写签名、预处理后的在线手写签名;
10.(1b)提取每个用户ur的每个预处理后在线手写签名的m个特征并通过hr的类内差异性分数n(r,m)和hr与其他用户预处理后的在线手写签名h
r'
的类间差异性分数j(r,m),r≠r',计算每个特征的特征质量分数q(r,m):
[0011][0012][0013][0014]
其中,m≥12,表示的第m个特征,lg代表取对数操作,∑表示求和操作,dist(
·
)表示求曼哈顿距离操作,表示hr、h
r'
中第m个特征的均值;
[0015]
(1c)选取每个用户ur的每个特征集合中特征质量分数最大的前n个特征组成在线手写签名p
rd
,得到包含所有用户的r
×
d个在线手写签名的数据集b,其中n<m,并将其中半数以上的在线手写签名及其对应的用户标签组成训练数据集b
tr
,将剩余的在线手写签名及其对应的用户标签组成测试数据集b
te
,然后将b
tr
中i个在线手写签名及其对应的用户标签组成训练支持集将剩余的j个在线手写签名及其对应的用户标签组成训练查询集同时将b
te
中a个在线手写签名及其对应的用户标签组成测试支持集将剩余的c个在线手写签名及其对应的用户标签组成测试查询集其中i>j,表示b
str
中的第i个在线手写签名及其用户标签,表示b
qtr
中的第j个在线手写签名及其用户标签,a>c,表示b
ste
中的第a个在线手写签名及其用户标签,表示b
qte
中的第c个在线手写签名及其用户标签;
[0016]
(2)构建在线手写签名认证网络模型o:
[0017]
搭建包括顺次连接的多个卷积块及一个全连接层的在线手写签名认证网络模型o,每个卷积块包括顺次连接的卷积层、归一化层、激活层和池化层;
[0018]
(3)基于元学习对在线手写签名认证网络模型进行训练:
[0019]
(3a)初始化在线手写签名认证网络模型o的权值参数为θ,迭代次数为k,最大迭代次数为k,k≥1000,第k次迭代在线手写签名认证网络模型ok的权值参数为θk,并令k=1;
[0020]
(3b)将训练支持集b
str
作为在线手写签名认证网络模型o的输入,对b
str
中的每个在线手写签名进行预测,并采用交叉熵损失函数,通过的预测结果计算o的损失值l,
然后采用梯度下降法,通过l对θ的梯度对θ进行更新,得到在线手写签名认证网络模型的每个在线手写签名的权值参数θi;
[0021]
(3c)将训练查询集b
qtr
作为在线手写签名认证网络模型o的输入,多个卷积块对b
qtr
中的每个在线手写签名进行卷积操作,然后对卷积后的进行归一化操作,再对归一化结果进行激活操作,最后对激活结果进行池化操作,得到的在线手写签名特征向量;全连接层对该签名特征向量进行全连接操作,得到的预测分数;
[0022]
(3d)采用交叉熵损失函数,并通过的预测分数计算o的损失值lk,然后过lk对θk、θi的梯度对θk进行更新,更新公式为:
[0023][0024]
其中,β表示学习率;
[0025]
(3e)判断k=k是否成立,若是,得到预训练好的在线手写签名认证网络o',并执行步骤(3f),否则,令k=k+1,并执行步骤(3c);
[0026]
(3f)将测试支持集b
ste
作为预训练好的在线手写签名认证网络o'的输入进行前向传播,得到b
ste
中每个在线手写签名的预测结果,采用交叉熵损失函数,通过的预测结果计算o'的损失值l',然后采用梯度下降法,通过l'对θ'的梯度对θ'进行更新,得到训练好的在线手写签名认证模型o
*

[0027]
(4)获取在线手写签名认证结果:
[0028]
将测试查询集b
qte
作为训练好的在线手写签名认证模型o
*
的输入进行前向传播,得到的预测分数qc,并判断qc与预先设置的阈值σ是否满足qc>σ,若是,则为真实签名,否则为伪造签名。
[0029]
本发明与现有技术相比,具有以下优点:
[0030]
第一,本发明在对在线手写签名认证网络进行训练的过程中,基于元学习的方法,并通过训练支持集对在线手写签名认证网络进行训练,得到一组最优的权重参数,再基于这组权重参数通过训练查询集对在线手写签名认证网络进行训练,避免了现有技术收敛速度较慢的缺陷,有效提高了认证效率。
[0031]
第二,本发明通过选取每个用户的每个特征集合中特征质量分数最大的部分特征组成在线手写签名,并将所筛选的所有用户的再获取在线手写签名组成数据集,减小了对在线手写签名认证网络进行训练过程中无关特征所消耗的时间,进一步提高了认证效率。
附图说明
[0032]
图1是本发明的实现流程图。
[0033]
图2是本发明基于元学习对在线手写签名认证网络的训练流程图。
具体实施方式
[0034]
下面结合附图和具体实施例,对本发明作进一步详细描述。
[0035]
参照图1,本发明包括如下步骤:
[0036]
步骤1)获取训练数据集和测试数据集:
[0037]
步骤1a)对r个用户u={u1,u2,...,ur,...,ur}中每个用户ur的d个在线手写签名进行预处理,对每个在线手写签名通过五点三次平滑法进行平滑处理操作,去除干扰噪声和坏点,并对平滑处理后的在线手写签名的位置进行归一化,然后对位置归一化结果进行大小归一化,再对大小归一化结果进行长度归一化,减小无关因素对每个在线手写签名的影响,得到ur的预处理后的在线手写签名集合其中,r≥5,ur表示第r个用户,d≥5,分别表示ur的第d个在线手写签名、预处理后的在线手写签名,在本实施例中,r=10,d=20;
[0038]
步骤1b)提取每个用户ur的在线手写签名的坐标值、压力值、角度、角速度以及时间特征,并分别计算坐标值、压力值、角度、角速度和时间特征的均值、方差和标准差,得到由m个统计特征组成的特征集合并通过hr的类内差异性分数n(r,m)和hr与其他用户预处理后的在线手写签名h
r'
的类间差异性分数j(r,m),r≠r',计算每个特征的特征质量分数q(r,m):
[0039][0040][0041][0042]
其中,m≥12,表示的第m个特征,lg代表取对数操作,∑表示求和操作,dist(
·
)表示求曼哈顿距离操作,表示hr、h
r'
中第m个特征的均值,在本实施例中,m=15;
[0043]hr
的类内差异性分数n(r,m)表示第m个特征与hr中第m个特征均值的差异程度,类内差异性分数越低表示该特征的稳定性越好,类间差异性分数表示hr中第m个特征均值与h
r'
中第m个特征均值的差异程度,hr与其他用户预处理后的在线手写签名h
r'
的类间差异性分数j(r,m)越高,表示该特征的区分性越好,特征质量分数表示第m个特征的质量水平,特征质量分数越高表示该特征质量越好;
[0044]
步骤1c)选取每个用户ur的每个特征集合中特征质量分数最大的前n个特征组成在线手写签名p
rd
,得到包含所有用户的r
×
d个在线手写签名的数据集b,其中n<m,并将其中半数以上的在线手写签名及其对应的用户标签组成训练数据集b
tr
,将剩余的在线手写签名及其对应的用户标签组成测试数据集b
te
,然后将b
tr
中i个在线手写签名及其对应的用户标签组成训练支持集将剩余的j个在线手写签名及其对应的用户标签组成训练查询集同时将b
te
中a个在线手写签名及
其对应的用户标签组成测试支持集将剩余的c个在线手写签名及其对应的用户标签组成测试查询集其中i>j,表示b
str
中的第i个在线手写签名及其用户标签,表示b
qtr
中的第j个在线手写签名及其用户标签,a>c,表示b
ste
中的第a个在线手写签名及其用户标签,表示b
qte
中的第c个在线手写签名及其用户标签,在本实施例中,n=10,i=98,j=42,a=42,c=18;
[0045]
根据每个在线手写签名特征的特征质量分数q(r,m)筛选得到有效特征,避免了无关特征影响在线手写签名认证网络的训练,降低了训练时间,进一步提高了认证效率;
[0046]
步骤2)构建在线手写签名认证网络模型o:
[0047]
搭建包括顺次连接的多个卷积块及一个全连接层的在线手写签名认证网络模型o,其所包含的卷积块的个数为4,每个卷积块包括顺次连接的卷积层、归一化层、激活层和池化层,其中,第一卷积块中第一卷积层的输入通道数设置为1,输出通道数为64,卷积核大小为3
×
3,卷积步长设置为2;第二至第四卷积块中卷积层输入通道数设置为64,输出通道数设置为64,卷积核大小为3
×
3,第二卷积层的卷积步长设置为2,第三、四卷积层步长设置为1;激活层均设置为relu函数,池化层均设置为最大池化;
[0048]
步骤3)基于元学习对在线手写签名认证网络模型进行训练,其实现过程如图2所示:
[0049]
步骤3a)初始化在线手写签名认证网络模型o的权值参数为θ,迭代次数为k,最大迭代次数为k,k≥1000,第k次迭代在线手写签名认证网络模型ok的权值参数为θk,并令k=1,在本实施例中,k=1100;
[0050]
步骤3b)将训练支持集b
str
作为在线手写签名认证网络模型o的输入,对b
str
中的每个在线手写签名进行预测,并采用交叉熵损失函数,通过的预测结果计算o的损失值l,然后采用梯度下降法,通过l对θ的梯度对θ进行更新,得到在线手写签名认证网络模型的每个在线手写签名的权值参数θi,更新公式为:
[0051][0052]
其中,α表示元学习率,在本实施例中α=0.01;
[0053]
步骤3c)将训练查询集b
qtr
作为在线手写签名认证网络模型o的输入,多个卷积块对b
qtr
中的每个在线手写签名进行卷积操作,然后对卷积后的进行归一化操作,再对归一化结果进行激活操作,最后对激活结果进行池化操作,得到的在线手写签名特征向量;全连接层对该签名特征向量进行全连接操作,得到的预测分数;
[0054]
步骤3d)采用交叉熵损失函数,并通过的预测分数计算o的损失值lk,然后过lk对θk、θi的梯度对θk进行更新,更新公式为:
[0055][0056]
其中,β表示学习率,在本实施例中,β=0.0001;
[0057]
步骤3e)判断k=k是否成立,若是,得到预训练好的在线手写签名认证网络o',并执行步骤(3f),否则,令k=k+1,并执行步骤(3c);
[0058]
步骤3f)将测试支持集b
ste
作为预训练好的在线手写签名认证网络o'的输入进行前向传播,得到b
ste
中每个在线手写签名的预测结果,采用交叉熵损失函数,通过的预测结果计算o'的损失值l',然后采用梯度下降法,通过l'对θ'的梯度对θ'进行更新,得到训练好的在线手写签名认证模型o
*

[0059]
通过训练支持集b
str
对在线手写签名认证网络o进行训练,得到一组最优的权重参数θi,再基于这组权重参数θi通过训练查询集b
qtr
对在线手写签名认证网络o进行训练,使得训练时间降低,提高了认证效率;
[0060]
步骤4)获取在线手写签名认证结果:
[0061]
将测试查询集b
qte
作为训练好的在线手写签名认证模型o
*
的输入进行前向传播,得到的预测分数qc,并判断qc与预先设置的阈值σ是否满足qc>σ,若是,则为真实签名,否则为伪造签名,在本实施例中σ=0.9。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1