«上一篇 下一篇»
  计算机工程  2020, Vol. 46 Issue (7): 277-285  DOI: 10.19678/j.issn.1000-3428.0055178
0

引用本文  

马金林, 陈德光, 马自萍, 等. 一种Petri网优化的验证码识别方法[J]. 计算机工程, 2020, 46(7), 277-285. DOI: 10.19678/j.issn.1000-3428.0055178.
MA Jinlin, CHEN Deguang, MA Ziping, et al. A CAPTCHA Identification Method Optimized by Petri Net[J]. Computer Engineering, 2020, 46(7), 277-285. DOI: 10.19678/j.issn.1000-3428.0055178.

基金项目

国家自然科学基金(61462002, 61762003, 61862001);北方民族大学研究项目(2018XYZJK02);北方民族大学教育教学重大研究项目(2018ZHJY01);宁夏自然科学基金项目(2020AAC03215);"图像与智能信息处理"民委创新团队项目(PY1805)

作者简介

马金林(1976-), 男, 副教授、博士, 主研方向为机器学习、智能信息处理;
陈德光, 硕士研究生;
马自萍, 副教授、博士;
魏麟, 硕士研究生

文章历史

收稿日期:2019-06-11
修回日期:2019-07-22
一种Petri网优化的验证码识别方法
马金林 , 陈德光 , 马自萍 , 魏麟     
北方民族大学 计算机科学与工程学院, 银川 750021
摘要:针对AlexNet网络对验证码(CAPTCHA)多目标分类问题效果不理想、模型参数量与浮点数计算量过大的问题,提出一种基于Petri网优化的CAPTCHA识别方法。利用Petri网理论对AlexNet和DenseNet-BC建模,并通过所建模型优化网络结构和参数。同时,根据模型参数量与浮点数计算量的关系,提出超活性概念,对Petri-ANPP-net、Petri-ANPS-net、Petri-DNBC-net模型进行灵敏度分析。实验结果表明,经过Petri网优化后,Petri-ANPP-net模型的最高准确度为60.40%,且超活性较小,模型灵敏度较差,Petri-ANPS-net模型的最高准确度为97.50%,但超活性较小,模型灵敏度较差,Petri-DNBC-net模型的最高准确度达到99.24%,且超活性较大,模型灵敏度较高。说明Petri网能在一定程度上优化网络模型结构和参数,且超活性对于评价模型的灵敏度具有一定的优越性。
关键词Petri网    神经网络    图像识别    超活性    模型优化    
A CAPTCHA Identification Method Optimized by Petri Net
MA Jinlin , CHEN Deguang , MA Ziping , WEI Lin     
School of Computer Science and Engineering, North Minzu University, Yinchuan 750021, China
Abstract: AlexNet does not perform well in the multi-target classification of verification codes due to the large number of parameters and heavy floating point computation.To address the problem, this paper proposes a CAPTCHA recognition method optimized by Petri net.The method uses the Petri net theory to model AlexNet and DenseNet-BC, and optimizes the network structure and parameters with the built models.At the same time, according to the relationship between the number of model parameters and the amount of floating point computation, the concept of hyperactivity is proposed.Then sensitivity analysis is carried out on Petri-ANPP-net, Petri-ANPS-net, and Petri-DNBC-net models.Experimental results show that after the Petri net-based optimization, the highest accuracy of the Petri-ANPP-net model is 60.40%, and its super activity as well as the model sensitivity is poor.The highest accuracy of the Petri-ANPS-net model is 97.50%, but its superactivity and the model sensitivity is poor.The highest accuracy of the Petri-DNBC-net model is 99.24%, and its superactivity as well as the model sensitivity is high.The results show that Petri net can optimize the network model structure and parameters to a certain extent, and the hyperactivity has certain advantages in evaluating the sensitivity of the model.
Key words: Petri net    neural network    image recognition    superactivity    model optimization    
0 概述

随着互联网技术的飞速发展, 验证码(CAPTCHA)识别已成为判别人机身份的有效手段, 担负着保护网络账号安全的第一道屏障, 用于防止网站被自动程序进行大批量的恶意攻击[1]。基于此, 验证码识别技术的研究有益于验证各种验证码的安全性, 帮助人们设计更可靠、安全的验证码。

传统的验证码处理流程可分为验证码预处理、二值化、去除离散噪声、字符分割、归一化、特征提取、训练和字符识别等步骤[2]。这些步骤相对独立, 整个流程较为复杂, 其对粘连较低、噪声较小的验证码图片效果明显, 而对于字符相互堆叠、扭曲度较高的验证码效果不理想。近年来, 随着深度学习的兴起, 有学者提出采用深度神经网络的方法实现噪音较大的验证码识别, 并取得了较好的成果。文献[3]提出的基于两极DCNN架构的模型能将形变度较大的验证码识别准确度提升至95%以上, 但是其模型的参数量与浮点数计算量偏高。文献[4]提出的自适应中值滤波算法经过多次迭代后平均准确度达到98%以上, 但是其步骤较多相对繁琐。文献[5]提出的方法对极其复杂验证码的识别率达到82%左右, 但是验证码复杂性还缺少评判标准。

神经网络的特征提取与训练过程类似于“黑箱”操作, 若要得到识别率高的结果, 需要针对网络结构以及模型参数进行大量的繁琐调整, 而在国内外研究过程中, 通常情况下直接给出模型的合理结构与最优参数值, 并未对结构和参数值的探索过程进行合理的解释, 致使网络的泛化能力较差且不便于后续改进。同时, 在以往的验证码识别系统中, 模型优劣的评判标准更注重准确度, 并未讨论该模型所需参数量与浮点数计算总量, 存在一定的局限性。

针对上述问题, 本文提出一种基于深度卷积神经网络的验证码识别方法。在研究神经网络模型结构的基础上, 运用Petri网建模, 并利用Petri网的相关理论分析该模型内部组成及相互关联的关系。在此基础上, 提出模型的优化策略并通过相关实验验证优化策略的正确性。同时, 针对模型参数量与浮点数计算量之间的关系, 提出超活性概念, 以对不同模型进行灵敏度分析。

1 卷积神经网络和Petri网 1.1 卷积神经网络

卷积神经网络(Convolutional Neural Network, CNN)是一种建立在传统神经网络基础上的深度神经网络[2, 6]。在结构上其通常由卷积层、池化层、激励函数(通常使用线性整流单元)及全连接层组成[7]图 1为CNN结构。

Download:
图 1 CNN结构 Fig. 1 Structure of CNN
1.2 Petri网

Petri网是离散并行系统的数学表示, 其用于描述异步并发的系统模型[8-9], 它既具有严格的数学表述方法, 同时也具有直观的图形表示方法[10]。为了支撑CNN模型, 需要利用先进的信息化技术手段对其建模。由于CNN是发生在训练周期内的活动, 因此可参照Petri网的概念, 即以基本网(EN-net)系统为基础, 从而逐步扩展为符合卷积神经模型的网络结构, 进而优化网络结构与参数以提高验证码识别准确度。借助Petri网重要的理论和关键技术, 并根据EN-net的定义, 可对CNN模型给出以下定义:

定义1  卷积神经基本网(CNE-net)系统是由四元组N=(P, T, F, M0)组成。其中:P={P0, P1, …, Pm}为有限库所的集合, 每个库所包含一批验证码资源; T={T0, T1, …, Tn}为有限变迁的集合, 每个变迁的发生代表当前库所的资源流向下一个库所, 且当前库所中不会剩余资源; F为流关系, 即库所与变迁之间关系的集合, 为库所与变迁的笛卡尔积, 代表当前阶段训练完成后的信息输出到后续库所中, 以方便后续工作开展[11]; M0为初始情态, 即在初始情况下各个库所的资源分布情况。在此基础上, CNE-net网络还应满足以下条件:

1) PT≠Ø, 即库所与变迁至少存在一类, 它们不能同时为空。

2) PT≡Ø, 即库所与变迁是2类元素, 不能交叉。

3) F⊆(P×T)∪(T×P), 即流关系F既可以由库所流向变迁也可以由变迁流向库所。

4) M0⊆2p, 即M0为初始情态, 表示初始情况下各库所的资源分布情况。

5) dom(F)∪cod(F)≡PT, 即流关系F的定义域dom(F)与值域cod(F)的并集为库所P与变迁T的并集, 用符号表示为dom(F)={x|∃y:(x, y)∈F}, cod(F)={y|∃x:(x, y)∈F}。

2 Petri网模型优化 2.1 AlexNet网络结构

AlexNet网络设计结构如图 2所示, 其由5层卷积、3层池化、3层全连接构成。AlexNet网络中每层的参数如表 1中的AlexNet所示。基于AlexNet网络并根据定义1的CNE-net, 给出其对应的Petri网模型, 如图 3所示, 其模型元素与对应的流程如表 2所示。

Download:
图 2 AlexNet网络结构 Fig. 2 AlexNet network structure
下载CSV 表 1 AlexNet各层参数设置 Table 1 Parameter settings of each layer of AlexNet
Download:
图 3 基于AlexNet的Petri网模型 Fig. 3 Petri net model based on AlexNet
下载CSV 表 2 AlexNet的Petri网模型流程 Table 2 AlexNet's Petri net model procedure

由上述Petri网结构可知, 其类似于一个出现网, 而出现网仅是将发生过程按时间顺序进行排列, 因此其不足以优化AlexNet网络模型。基于AlexNet网络的特殊性, 并结合CNE-net, 下文给出AlexNet网络的Petri网优化方法。

2.2 基于Petri网参数优化的AlexNet 2.2.1 预备知识

预备知识主要有以下4个方面:

1) 发生权。tT, MN的标识, tM下有发生权, 记作M[t>[12], 且满足以下条件:

(1) ∀s∈·t:M(s)≥W(s, t), 即st变迁前驱发生的条件为s库所中的资源要大于等于所需要消耗的资源。

(2) ∀st:M(s)+W(s, t)≤K(s), 即库所s的容量K要大于等于原库所中的资源容量加上该变迁所产生的资源容量。

2) 后继。若M[t>, 即tM条件下具有发生权, M′记为M的后继, 后继关系记为M[t>M′[13], 且满足以下条件:

(1) 如果s∈·t-t·, 则M′(s)=M(s) - W(s, t), 即s库所要消耗资源W(s, t)。

(2) 如果st·-·t, 则M′(s)=M(s) + W(s, t), 即s库所要生成资源W(s, t)。

(3) 如果s∈·tt·, 则M′(s)=M(s)+W(t, s) - W(s, t), 即s库所既要生成资源W(t, s), 又要消耗资源W(s, t)。

(4) 如果s∉·tt·, 则M′(s)=M(s), 即s库所既不生成资源, 也不消耗资源。

3) 前集与后集。对于xPT, 若有:

(1) ·x={y|yPT∧(y, x)∈F}, 则称·xx的前集[14]

(2) x·={y|yPT∧(x, y)∈F}, 则称x·x的后集[14]

4) 公平性。对于t1, t2T, 若存在正整数k, 使得∀MR(M0)和∀σT*:M[σ>有#(ti/σ)=0↔#(tj/σ)≤k, i, j∈{1, 2}且ij, 则称t1t2处于公平关系[15]

2.2.2 基于Petri网参数优化的AlexNet网络

定义2  Petri网参数优化的AlexNet(Petri-ANPP-net)由六元组Π=(P, T; F, K, W, M0)组成, 其中N=(P, T; F, M0)为定义1中卷积神经的基本网系统, 其在满足基本网系统的前提下还满足以下条件:

1) Π中有一个开始位置iP和一个结束位置oP

2) K为库所P元素的容量函数, 其代表验证码图片批次的大小, 即有K:P→{1, 2, 3, …}∪{∞}。

3) W为流关系F上的权函数, 其代表验证码图片的产生或消耗的量多少, 本文采用学习率来表示流关系, 即有W:F→{1, 2, 3, …}。

4) M0为初始资源分布情况, 且还应该满足∀sS:M0(s)≤K(s)。

5) 具有合理性, 即:Π具有安全性, 在任何时刻, Π中的所有库所中至少包含一类验证码资源; 具有规范性, 任何库所P均有容纳资源(token)多少的表示, 而非用一个token表示一类资源, 这样的Petri网描述能力更强。同理, 每个变迁t均具有发生权M[t>和后继M[t>M′; Π不包含无法执行的死任务, 即从开始位置{i}起, 任何一个变迁均可以被激活用来执行任务。

2.3 基于Petri网结构优化的AlexNet

Petri网是一个异步并发系统, 而定义2中Petri-ANPP-net给出的Petri网模型是一个顺序执行系统且系统参数较多, 将顺序执行系统扩展为异步并发系统且减少参数的量。由并发公理可知, 系统性能将会得到进一步改善且网络更容易解读。

定义3  Petri网结构优化的AlexNet(Petri-ANPS-net)是四元组Σ=(S, T, W′, M0), 其中, S, T, M0与Petri-ANPP-net中相同, 其应满足以下条件:

1) 如果对于∀(x, y)∈S×TT×S, 即当(x, y)∈F时, 有W′(x, y)=W(x, y), 则称W′:S×TT×S→{0, 1, 2, …}为Σ的广义权函数[16]

2) 如果M[t>发生, 则∀sS:M(s)≥W′(s, t)且M(s)+W′(s, t)≤K(s)[16-17], 即变迁tM标识下具有发生权的条件为库所s中的token要大于等于所消耗的token数量, 且库所s中所容纳的token数量要大于等于其原本库所中的数量加上新产生的token数量。

3) 如果M[t>M′发生, 则M[t>且∀sS, 有M′(s)=M(s)+W′(t, s)-W′(s, t)][18-19], 即M若有后继M′, 则应满足tM下有发生权, 且M′的token数量为原库所中的token数量加上产生的token数量再减去消耗的token数量。

4) 由于Petri-ANPS-net是异步并发系统, 且每个验证码字母地位相当, 则当其并发时, 各个子系统间的权重相同。

为使更改后的模型与原模型变动最小, 在图 3模型中P9库所后设置4组并发操作(这是因为验证码的字符长度为4)。并发操作完成后, 汇聚于漏库所O。这样改进后, 将原来的顺序执行系统变为异步并发系统, 具体优势有以下3点:

(1) 模型简洁, 由定义2的Petri-ANPP-net六元组改造为定义3的Petri-ANPS-net的四元组, 降低了模型的复杂度。

(2) 模型参数更新合理化, P10~P13共享P9中的token, 但是各个分支的关系相互独立, 则各个分支的权值与偏置值的更新与其余分支无关。

(3) 加速模型收敛, 由于异步并发系统中4条分支同时训练, 相对于顺序执行收敛速度更快。

图 4所示为基于ANPS-net的模型(黑色变迁为隐变迁, 表示前面的若干库所与变迁, 由于图 4中前面的库所变迁与图 3中的P0~P9相同, 因此采用隐变迁代替)。相关参数见表 1(右)表示的Petri-ANPS-net网络结构。

Download:
图 4 Petri-ANPS-net模型 Fig. 4 Petri-ANPS-net model
2.4 基于Petri网优化的DenseNet-BC 2.4.1 DenseNet网络

密集型卷积神经网络DenseNet由文献[20]提出, 其从神经网络的特征入手, 简化模型参数, 同时达到了更好的效果。它的主要思想是跨层连接, 网络的每一层输入都是前面所有层输出的并集, 而该层学习到的特征也会被直接传给后面所有层作为输入。在上述过程中, 信息流进行整合, 避免了信息在层与层之间传递丢失的问题, 极大地减轻了梯度弥散。

DenseNet主要由密集块和过渡层组成。在每个密集块内, 层与层之间的非线性转换函数Hl(·)包含3个连续操作, 即批量标准化、线性整流函数ReLU以及3×3卷积(3×3Conv)[20]。定义超参数k为增长率, 如果Hl(·)每层产生k个特征映射, 则第l层将有k0+k(l-1)个特征映射输入(k0为首个输入层的特征数)。

2.4.2 DenseNet-BC网络

DenseNet网络的密集连接方式会导致后续密集层有大量输入特征, 从而导致参数量急剧增长, 因此在每个密集层的3×3Conv前引入1×1Conv作为颈瓶层, 来减少特征映射输入的数量[21], 同时, 在每个过渡层中引入一个1×1Conv使其输出特征减少, 以增强GPU内存的利用率。

由于实现朴素的DenseNet-BC可能需要大量的GPU内存, 基于此, 引入共享内存分配机制, 所有层都使用共享内存分配来存储中间结果。后续图层会覆盖先前图层的中间结果, 但可以在后向传递期间以最低成本重新填充它们的值, 这样做可以将特征映射内存消耗从二次减少到线性。图 5所示为DenseNet-BC网络结构模型, 由3个密集块与2个过渡层组成, 图 6第3列为DenseNet-BCm网络参数, 图 6第4列、第5列给出Petri-DNBC-net的网络参数。

Download:
图 5 DenseNet-BC网络结构 Fig. 5 DenseNet-BC network structure
Download:
图 6 DenseNet-BC网络参数 Fig. 6 DenseNet-BC network parameters

图 6可以看出, 该模型由3个密集块与2个过渡层组成, 并将原来的单分类层改为并行的四分类层。

2.4.3 基于Petri网优化的DenseNet-BC

定义4  Petri网优化的DenseNet-BC(Petri-DNBC-net)在定义3的条件下还应满足以下条件:

1) ∀xST, xx·≠Ø即对元素x的前集与后集相交不为空(网络不为纯网)。

2) t1, t2T时, t1t2不一定处于公平状态。

2.5 活性及超活性对模型的性能评价 2.5.1 活性

根据定义1中的CNE-net, 如果对任意CR(M0), 都存在M′R(M), 使得M′[t>, 则称变迁t是活的。如果tT都是活的, 则称N为活的Petri网[14]

2.5.2 超活性

活性用来评判网络是否存在死锁或者陷阱等不足, 但是其不能用来评判网络的反应灵敏度。基于此, 提出了超活性的概念。

定义5  超活性($\mathfrak{R}$)是反映一个网络系统灵敏度的指标, 计算公式为:$\Re = \frac{{{\rm{FPN}}}}{{{\rm{PQ}}}}$, 其中, FPN为模型浮点数计算量, PQ为模型参数量, 且满足以下条件:

1) 在同构系统中, 超活性($\mathfrak{R}$)相同时, 则灵敏度相同。

2) 在异构系统中, 比较超活性${\Re _1}$${\Re _2}$的值, $\mathfrak{R}$较大者则灵敏度相对较高。

2.5.3 3种网络结构的超活性比较

Petri-ANPP-net和Petri-ANPS-net网络结构大体相同(其区分在于最后一个全连接层是否进行并发处理), 因此, 这2个模型的超活性$\mathfrak{R}$近似相同, 即在同等条件下比较其准确度即可。Petri-DNBC-net与Petri-ANPS-net(或Petri-ANPP-net)结构不同, 则采用公式$\Re = \frac{{{\rm{FPN}}}}{{{\rm{PQ}}}}$进行超活性分析以确定超活性性能。

3 实验结果与分析

本文实验基于Win10平台, CPU为Inter(R) Xeon(R) E5-1620 v3 3.5 GHz, 内存8 GB, 显卡为NVIDIA RTX 2080。

3.1 数据集

在深度学习的训练过程中需要大量的数据来训练构建的网络模型。由于目前没有公开的验证码数据集, 本文采用验证码生成器生成4字验证码数据集, 在生成验证码的过程中对字符进行不同程度的旋转、扭转、平移、加入噪点及字符重叠等处理[22]。验证码图片大小为60×160, 由阿拉伯数字0~9以及小写字母a~z共36类随机组成。通过对生成的验证码图片进行灰度化处理, 以提高训练和测试的速度, 然后将得到的灰度图片制作成Tensorflow易读取的TFrecords格式的数据集。图 7为部分验证码图片。

Download:
图 7 部分验证码图片 Fig. 7 Part of the CAPTCHA picture
3.2 数据集选择

选择基于框架Tensorflow的实现, 在综合比较后, 损失函数采用sigmoid交叉熵损失函数, 优化器采用AdamOptimizer来使损失函数sigmoid交叉熵最小化, 其学习率初始固定为0.000 3, 初始训练批次大小为20。在训练过程中还添加了dropout层, 能够在一定程度上防止过拟合, 其参数值为0.5。图 8显示了不同训练集下的准确度。

Download:
图 8 不同训练集的准确度 Fig. 8 Accuracy of different training sets

图 8可以看出, 当选用45 000张验证码图片时(其中训练集为40 000张, 测试集为5 000张), 其准确度最高为55%左右(测试方式为测试10个批次, 每个批次为40张, 将每个批次的准确度相加再除以10即为最终的准确度), 较其余3组数据集性能更为优越。因此, 在下文的实验中, TFrecords数据集均采用45 000张图片制作。

3.3 Petri-ANPP-net实验

由Petri-ANPP-net可知, Petri网在结构确定的情况下, 其性能由库所P中资源和流关系F上的权函数共同决定。预备实验中的学习率(权函数)与批次大小(资源)是随机设置的, 存在较大的局限性, 而同时调整2个参数会导致模型变得异常复杂。因此, 假设当token发生变化时, 权函数W为理想条件, 即M[t>M′一定发生。同理, 当调整权函数W时, 其资源一定满足所有条件即不发生冲突、冲撞等异常情况。

实验1  结合预备实验, 将初始学习率设为0.000 3, 即流关系F的权值设置为0.000 3(这里将0.000 3看成无穷大, 资源均能快速通过), 设置4组不同批次的对照实验。第1组为10张/批次, 第2组为20张/批次, 第3组为25张/批次, 第4组为30张/批次。在初始库所P0中放置不同的token数量, 以测试该系统的最佳token性能。图 9显示了不同大小的批次量在不同迭代次数下的准确度。

Download:
图 9 不同大小批次量的准确度 Fig. 9 Accuracy of different batch sizes

图 9可以看出, 批次量太大或太小均会影响系统的整体性能, 当批次量为25张/批次时, 在该网络结构条件下准确度达到最优, 且最优值为60%。

实验2  由实验1可知, 当批次量设置为25张/批次时, 系统所能达到的性能具有最优标准。但是实验1随机固定了初始学习率, 不能说明实验1的最高准确度就是该网络结构下的最高值。基于此, 在实验1的基础上(即固定批次量为25张/批次), 设置4组不同的学习率参数进行对照实验。第1组学习率为0.000 2, 第2组学习率为0.000 3, 第3组学习率为0.000 4, 第4组学习率为0.000 5。图 10显示了不同学习率在不同迭代次数下的准确度。

Download:
图 10 不同学习率的准确度 Fig. 10 Accuracy of different learning rates

图 10可以看出, 学习率过大或过小均会影响系统整体性能, 当学习率为0.000 3时, 在该网络结构条件下, 准确度达到最优, 且最优值为60%(说明实验1随机设置的学习率即为最佳学习率)。

基于Petri-ANPP-net所能达到的准确度最高为60%, 与预处理实验中55%相比略有提升。而此时库所中token资源与流关系F均已调整为最佳。由以上实验可知, 参数调节能在一定范围内优化系统性能。

3.4 Petri-ANPS-net实验

由Petri-ANPS-net可知, 网结构优化后, 其性能也会发生改变。为此, 设置实验3、实验4两组实验。

实验3  为验证不同学习率下Petri网优化结构后模型的准确度, 将批次量设置为25张/批次(结合实验1、实验2), 进行了4组对比实验。第1组学习率为0.000 1, 第2组学习率为0.000 2, 第3组学习率为0.000 3, 第4组学习率为0.000 4, 实验结果如图 11所示。

Download:
图 11 优化结构后不同学习率的准确度 Fig. 11 Accuracy of different learning rates after optimizing structure

图 11可以看出, 在网络结构合理的条件下, 准确度将保持较高水平, 当学习率为0.000 3时, 其最高值相对平稳且略优于其他各组。

实验4  为验证不同批次下Petri网优化结构后模型的准确度, 将学习率设置为0.000 3(由实验3得), 调整批次大小后再进行4组实验。第1组批次大小为20张/批次, 第2组为25张/批次, 第3组为30张/批次, 第4组为40张/批次, 优化结构后不同批次下准确度的实验结果如图 12所示。

Download:
图 12 优化结构后不同批次的准确度 Fig. 12 Accuracy of different batches after optimizing structure

图 12可以看出, 在网络结构合理的情况下, 单一参数在一定范围内变化对准确度影响较小; 当学习率为0.000 3、批次大小为30张/批次时, 其准确度最高达到了97.50%。

对以上各组实验中不同参数条件下的平均最高准确度进行总结, 结果如表 3所示。

下载CSV 表 3 不同参数下的平均最高准确度 Table 3 Average highest accuracy under different parameters

表 3可以看出, 批次和学习率均能影响模型性能, 尤其是一些不合理的参数会导致网络模型失败, 在最佳参数条件下, Petri-ANPS-net网络相对于Petri-ANPP-net绝对准确度提升了37.10%, 说明网络模型设计是系统成功的关键。

3.5 Petri-DNBC-net实验

由Petri-DNBC-net可知, 当网络模型改变后, 则网络性质将会发生一定的改变, 从而导致网络性能发生改变。

实验5  参考Petri-ANPP-net以及Petri-ANPS-net, 将验证码大小设置为224×224。经过综合比较后, 学习率设置为0.1, 偏置值设置为0.000 1, 批次大小为64张/批次。在此基础上, 设置4组对比实验, 第1组网络深度为40, 增长率为12%, 第2组网络深度为40, 增长率为24%, 第3组网络深度为100, 增长率为12%, 第4组网络深度为100, 增长率为24%。表 4为在各参数条件下Petri-DMBC-net的准确度。

下载CSV 表 4 Petri-DNBC-net的准确度 Table 4 Accuracy of Petri-DNBC-net

表 4可以看出, 当深度和增长率增加后, 其准确度会相应增加, 当深度为100时, 其准确度大于99%。

3.6 超活性对模型的性能评价

由以上实验可知, Petri-DNBC-net的准确度略优于Petri-ANPS-net, 且Petri-ANPP-net准确度最低。但是, 准确度仅是验证模型综合性能的指标之一。为此, 还应考虑超活性对模型性能的影响。

为测试各模型的超活性, 选择在不同模型的最高准确度下进行超活性分析, 实验结果如表 5所示。

下载CSV 表 5 不同模型的性能指标 Table 5 Performance indicators of different models

表 5可以看出:

1) Petri-ANPP-net和Petri-ANPS-net网络的超活性$\Re $值相同, 说明它们的灵敏度相同, 这也验证了同构网络具有相同的PQ、FPN和超活性$\Re $值。同时, Petri-ANPP-net的最高准确度为60.40%, 而Petri-ANPS-net的最高准确度为97.50%, 说明Petri-ANPS-net综合性能远高于Petri-ANPP-net。

2) 无论在何种条件下, Petri-DNBC-net的准确度都略高于Petri-ANPS-net。而在超活性方面, Petri-DNBC-net的超活性${\Re _{\rm{D}}}$≈280, Petri-ANPS-net的超活性${\Re _{\rm{A}}}$≈14。因此, Petri-DNBC-net的灵敏度高于Petri-ANPS-net, 且综合性能也优于Petri-ANPS-net网络。

4 结束语

本文利用Petri网理论, 基于AlexNet、DenseNet-BC网络得到Petri-ANPP-net、Petri-ANPS-net以及Petri-DNBC-net 3种优化的网络模型, 并提出基于Petri网优化的验证码识别方法。基于模型异构性对评判标准产生的影响, 提出了超活性概念, 其对模型的灵敏度评判具有较高准确性, 能够消除异构性从而达到公平评判模型灵敏度的目的。实验结果表明, 本文方法能够在一定程度上优化网络模型的结构和参数。下一步将优化卷积核、池化核以及研究学习率与批次大小之间的关系, 以提升验证码的安全性。

参考文献
[1]
VON A L, BLUM M, HOPPER N J, et al.CAPTCHA: using hard AI problems for security[C]//Proceedings of International Conference on Theory and Applications of Cryptographic Techniques.Berlin, Germany: Springer, 2003: 294-311.
[2]
ZHANG Zheng, WANG Shunfan, DONG Lei. CAPTCHA recognition based on deep learning[J]. Journal of Hubei University of Technology, 2018, 33(2): 5-8, 25. (in Chinese)
张铮, 王顺帆, 董雷. 基于深度学习的验证码识别[J]. 湖北工业大学学报, 2018, 33(2): 5-8, 25. DOI:10.3969/j.issn.1003-4684.2018.02.002
[3]
CHEN Jun, LUO Xiangyang, LIU Yingying, et al. Selective learning confusion class for text-based CAPTCHA recognition[J]. IEEE Access, 2019, 7: 22246-22259. DOI:10.1109/ACCESS.2019.2899044
[4]
MA Wentao, QIN Jiaohu, XIANG Xuyu, et al. Adaptive median filtering algorithm based on divide and conquer and its application in CAPTCHA recognition[J]. Computers, Materials and Continua, 2019, 58(3): 665-677. DOI:10.32604/cmc.2019.05683
[5]
ARAIN R H, SHAIKH R A, MAITLO A, et al. A deep learning model for recognition of complex text-based CAPTCHA[J]. International Journal of Computer Science and Network Security, 2018, 18(2): 103-107.
[6]
QIN Bo, GU Naijie, ZHANG Xiaoci, et al. Image CAPTCHA recognition based on convolutional neural network[J]. Computer Systems & Applications, 2018, 27(11): 144-150. (in Chinese)
秦波, 顾乃杰, 张孝慈, 等. 基于卷积神经网络的图像验证码识别[J]. 计算机系统应用, 2018, 27(11): 144-150.
[7]
ROBERTSON S, PENN G, WANG Y.Exploring spectro-temporal features in end-to-end convolutional neural networks[EB/OL].[2019-05-10].https://arxiv.org/abs/1901.00072?context=cs.LG.
[8]
LI Wenxiang. Modeling and verification of a temperature control system based on temporal Petri nets[J]. Journal of Shandong University of Technology(Natural Science Edition), 2018, 32(6): 24-28. (in Chinese)
李文翔. 温控系统的时序Petri网建模与验证[J]. 山东理工大学学报(自然科学版), 2018, 32(6): 24-28. DOI:10.3969/j.issn.1672-6197.2018.06.006
[9]
VAN D A W, WEIJTERS T, MARUSTER L. Workflow mining:discovering process models from event logs[J]. IEEE Transactions on Knowledge and Data Engineering, 2004, 16(9): 1128-1142. DOI:10.1109/TKDE.2004.47
[10]
SMIRNOV S, WEIDLICH M, MENDLING J.Business process model abstraction based on behavioral profiles[C]//Proceedings of International Conference on Service-Oriented Computing.Berlin, Germany: Springer, 2010: 1-16.
[11]
SOBOCINSKI P, STEPHENS O.Penrose: putting compositionality to work for petri net reachability[C]//Proceedings of International Conference on Algebra and Coalgebra in Computer Science.Berlin, Germany: Springer, 2013: 346-352.
[12]
ZHAO Yang, LI Tong, LIU Qing. A performance analysis method for software process modeling based on the extended Petri net[J]. Computer Engineering and Applications, 2004, 40(26): 70-72. (in Chinese)
赵杨, 李彤, 柳青. 一种基于扩展Petri网的软件过程模型性能分析方法[J]. 计算机工程与应用, 2004, 40(26): 70-72. DOI:10.3321/j.issn:1002-8331.2004.26.022
[13]
TAX N, SIDOROVA N. Discovering more precise process models from event logs by filtering out chaotic activities[J]. Journal of Intelligent Information Systems, 2019, 52(1): 107-139.
[14]
XU Yuyin.Discussion on Petri net activity determination method[D].Jinan: Shandong University of Science and Technology, 2006.(in Chinese)
徐誉尹.Petri网活性判定方法的探讨[D].济南: 山东科技大学, 2006.
[15]
ZHANG Jianping. Application of Petri net dynamic workflow in OA system of mining company[J]. China's Manganese Industry, 2019, 37(2): 107-110. (in Chinese)
张建平. Petri网动态工作流在矿业公司OA系统中的应用[J]. 中国锰业, 2019, 37(2): 107-110.
[16]
REISIG W. Petri nets:an introduction[M]. Berlin, Germany: Springer, 2012.
[17]
MARSAN M A, BALBO G, CONTE G, et al. Modelling with generalized stochastic Petri nets[M]. [S.1.]: John Wiley & Sons, Inc, 1994.
[18]
GUERAR M, MERLO A, MIGLIARDI M. Completely automated public physical test to tell computers and humans apart:a usability study on mobile devices[J]. Future Generation Computer Systems, 2018, 82: 617-630. DOI:10.1016/j.future.2017.03.012
[19]
GOTO M, SHIRATO T, UDA R.Text-based CAPTCHA using phonemic restoration effect and similar sounds[C]//Proceedings of the 38th IEEE International Computer Software and Applications Conference Workshops.Washington D.C., USA: IEEE Press, 2014: 270-275.
[20]
HUANG G, LIU Z, VAN D M L, et al.Densely connected convolutional networks[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2017: 4700-4708.
[21]
PLEISS G, CHEN D, HUANG G, et al.Memory-efficient implementation of densenets[EB/OL].[2019-05-10].https://www.researchgate.net/publication.
[22]
HE Kaiming, SUN Jian.Convolutional neural networks at constrained time cost[C]//Proceedings of IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2015: 5353-5360.