1. 引言
高新技术企业(简称“高企”)即在国家重点支持的高新技术领域内,持续进行研究开发与技术成果转化,形成企业自主知识产权,并以此为基础开展生产经营活动,在中国境内(不包括港、澳、台地区)注册一年以上的企业 [1]。为鼓励高新技术产业发展,促进高新技术企业进行持续的技术研发和科技成果转化,提高企业自主创新能力,2008年4月,科技部、财政部、国家税务总局联合发布了《高新技术企业认定管理办法》。2016年1月,科技部、财政部、国家税务总局联合印发修订后的《高新技术企业认定管理办法》,对高新技术企业认定条件、认定程序、申请条件、税收优惠、监督管理等方面均作了修订,加大了对更多中小微创新型企业的倾斜扶持力度,是供给侧结构性改革的重要举措 [2]。
自2008年国家颁布《高新技术企业认定管理办法》以来,广东省结合自身科技能力和经济基础,制定了一系列相关配套政策措施 [3]。广东省科技厅对高企认定业务资源配置方式、管理流程、结构设置、管理设计等都进行了全面改革 [1]。2015年,广东省科技厅对广东省科技业务综合管理系统进行全面的升级改造,将高新技术企业认定业务全面纳入了升级改造后的广东省科技业务管理阳光政务平台中,按照“横向到边、纵向到底”全覆盖原则和“省市两级平台、三级管理”架构,完善了与国家和地市平台对接,推动了与省直部门数据共享应用 [4],实现了高新技术企业认定、新型研发机构评审、企业研发补助资金核定、科技金融服务、科技项目审批等业务的全流程一体化管理。
高新技术企业认定包括申报通知、企业申报、地市审核、企业提交材料、专家评审认定、复核答辩、认定结果公布等环节 [1],认定程序非常复杂,企业需要填报的数据繁多。由于需要填报的数据繁多,企业填报时容易出现误填、漏填、数据出错、数据不一致等一系列问题。这些问题不仅增加了管理部门工作负担,更严重影响了高新技术企业认定工作的正常进行。
总体来说,数据误填、漏填、出错和不一致等可统一归为数据异常,对误填、漏填、出错和不一致数据的检测统称为异常数据检测。
2. 相关研究
数据异常检测是数据挖掘的一个热门研究方向,其目标是寻找与多数数据对象明显不同的样本点。在数据的分布图中,这些样本点与其他数据点距离较远,所以也被称为离群点 [5]。常用的数据异常检测方法一般分为机器学习方法和深度学习方法。传统机器学习算法可以分为以下三类:无监督机器学习、基于聚类算法和基于距离的方法 [6],聚类算法依赖于聚类效果,其主要目的是聚类并不是为了异常检测,对计算开销大。基于距离的方法对于局部异常点不易找到,且较适合高维数据 [7]。深度学习方法中主要是利用长短时记忆网络来捕获时序数据之间的依赖关系,从而可以在不同时段对高企申请数据进行异常检测。但一些时间序列异常检测算法缺少定义的异常模式,输入数据的噪声会影响算法的性能 [8]。另外,还存在一些基于重构的深度学习算法,Wang等人 [9] 引入变分自动编码器,利用编码器的编码和解码结构对异常数据进行深度的检测,但该方法在检测过程会存在一些偏差,不利于数据样本的生成与捕获。基于生成对抗网络的异常检测是一个新兴的研究领域 [10],该模型使用对抗性训练过程建模正常行为,并测量异常评分来检测异常。为了提升高新技术企业申请认定过程中异常数据的检测能力,针对上述方法各自存在的问题,本文提出将门控循环神经网络和生成对抗网络相结合的异常检测模型,通过训练两组网络来构建高企申报材料中企业注册登记表、主要指标情况表和知识产权列表等正常样本模式,检测企业在申报过程中填报的一些异常数据,及时发现并解决问题,提高企认定的质量,完善和提升当前的科技业务审计和监管水平。
3. 异常检测模型
3.1. 申报数据序列异常定义
高企申报数据是具有时序的序列,而时序数据具有数据体量巨大且拥有多变量的时序特性,无法简单通过基于规则的方法来准确判别异常的特点 [11]。高企申报数据序列异常是指某个企业在某个申请时间段内的申报数据出现异常点,即申请表数据存在异常模式的子序列。序列异常检测首先构建每个高企认定表中各个认定数据项的正常序列数据,然后根据生成对抗网络构建的模型去检测不符合条件的异常行为序列 [12]。首先对2010~2019年近10年来高企认定登记表中的申报数据进行划分,每个自然年作为一个时间序列,假如t时间段内高企申报的数据为
,其中,
为登记表中的每条高企申数据,
表示在i时刻高企申报数据中的每个字段,其大小为一维向量。序列异常检测的目标是从时序X中找到异常序列集合
表示某段时间内登记表中每条高企数据的异常数据项字段序列。基于GAN的高企申报数据异常检测的方法是构建高企申报表中正常数据序列模式,通过正常序列模式识别申报数据中存在的异常序列数据。
3.2. 基于GAN网络的异常检测模型
3.2.1. 基本原理介绍
对抗生成网络的原理就是通过生成网络G (Generator)和判别网络D (Discriminator)的不断博弈,从而使G学习到正常数据的分布 [13]。生成网络G (Generator)能够接收一个随机噪声,通过这个噪声生成逼真的高企申报数据样本达到欺骗判别网络的目的;判别网络D (Discriminator)用来判别一个高企数据是不是“真实的”。在训练阶段中,生成网络G生成逼真的高企申报数据去欺骗判别网络D,D根据判别函数辨别G生成假的申报数据和真实的数据之间的差距。模型的学习过程就是G和D构成的一个动态“博弈过程” [14],经过若干次迭代之后最终达到平衡。网络的整体结构如图1所示。
本模型采用门控循环单元(GRU)作为基础网络,GRU是循环神经网络的一种变体。相比长短期记忆网络,使用GRU能够更好的捕获时序数据的特征,并且由GRU具有结构具有参数量少、易于训练等特点,因此,本文选用GRU作为基础网络来提高模型训练效率。GRU基础网络结构如图2所示。
Figure 1. GAN network architecture diagram
图1. GAN网络架构图
从GRU门控网络图中可以看出,在t时刻,GRU隐藏层的输入向量为
,输出向量为
,记忆单元为
。其公式可以形式化为(1)所示:其中,
(1)
其中,W表示权重,
是sigmod函数,tanh是正切函数。通过更新门控制前边记忆信息能够继续保留到当前时刻的数据量,即决定有多少前一时间步的信息和当前时间步的信息要被继续传递到未来;重置门则控制要遗忘多少过去的信息。
3.2.2. 异常检测网络目标函数
经典对抗生成网络的损失函数采用Wasserstein对抗损失 [8],如式(2)所示:
(2)
其中,E表示期望,
为判别映射函数,
为生成映射函数,
为真实数据分布,
为原始噪声分布。
由于模型可能存在梯度爆炸的风险,为了避免这个问题,本文采用Wasserstein损失函数WL来训练网络的目标损失,针对两个生成函数和判别函数分别设计目标损失函数,使得模型能够更好地进行异常检测。
对于生成函数
和判别函数
,目标损失函数
设为:
(3)
其中,
。
表示1-Lipschitz连续函数集,即:对
(4)
本模型对连续函数值的上界进行约束,使得网络权重在更新过程中不会发生激烈变化,避免模型在优化过程中发生梯度爆炸的风险;同时,判别函数将生成的逼真高企申报数据与真实认定数据进行拟合判断,得到模型训练结果。
对于生成函数
和判别函数
,目标函数损失
设为:
(5)
其中,
。
采用生成对抗网络模型有利于时序数据的重构,为了平衡以上两个损失函数的搜索空间,引入循环一致性损失函数进行约束,如式(6)所示:
(6)
其中,
表示原始样本与重构样本
差的L2范式。
综合上式可得到对抗生成网络的目标损失函数如式(7)所示:
(7)
3.2.3. 训练过程
首先,从标准正态分布中采样得到随机时序噪声,将噪声输入生成器G中,用以生成假的高企申报数据;然后,使用判别网络判别真实样本数据和G生成的假数据;最后,通过计算由生成函数和判别函数组成的目标函数对网络进行微调,直至达到纳什平衡。
生成网络G由
和
两个映射函数构成,函数
对高企申报真实训练样本X降维到子空间Z中,函数
是将子空间Z随机生成X,Z服从
多元正态分布,通过
和
两个映射函数对X进行重构,即:
(8)
判别网络D由
和
所构成,
用来判断真实数据样本的概率为P,尽可能判别真实数据和随机生成数据样本之间的差距;
判定给定的向量Z编码得到真实数据样本的概率P,区分编码生成的潜在向量和随机样本之间的差距。同时,网络模型还将引入Mask层和Dropout层解决异常数据拟合问题,提高训练网络的稳定性。
3.3. 异常检测模型
在进行多轮的迭代训练后,将训练好的鉴别器和生成器用于申报数据异常检测。异常检测部分以真实高企申报数据测试样本
为输入,然后分别计算生成网络的重构损失RL和判别网络的判别损失DL,然后根据计算的异常分数来判断是否为异常数据序列。异常检测过程如图3所示。
本文提出的高企申报数据异常检测算法描述如下:
4. 实验结果与分析
4.1. 实验设计
4.1.1. 实验内容
对于本文所提出的GRU-GAN异常检测算法,从给定高企认定事项管理实验数据集上验证性能,与K-Means、LSTM、Auto-Encoder 3个异常检测算法进行性能分析。K-Means算法是一种基于聚类的方法,采用计算数据每个元素到聚集中心点的距离方式判断异常值。LSTM算法是一种基于深度学习的异常检测方法,它能够有效识别出时间序列中的异常数据,降低计算复杂度。Auto-Encoder是一种基于自动编码器的异常检测算法方法,它使用重建误差作为异常评分。
4.1.2. 评价指标
本实验将会在以下四个检测指标出发来衡量模型的可行性及可靠性,准确率(Accuracy, Acc)、精确率(Precision, Pre)、召回率(Recall, Rec)和F1分数四个评估指标的计算公式分别如下所示:
(9)
(10)
(11)
(12)
其中,TP表示结果为正样本,实际也为正样本,即正样本被正确识别的数量;FP表示预测结果为正样本,实际为负样本,即误报的负样本数量;TN表示结果为负样本,实际为负样本,即负样本被正确识别的数量;FN表示结果为负样本,实际为正样本,即漏报的正样本数量。
准确率一般用来预测算法的检测结果,但有时候会存在数据样本分布不平衡的情况,正常样本类别会影响准确率的生成,本文将通过其他一些指标来评判;精确率可以衡量算法正确检测正样本精度的能力;召回率可以正确预测为正的占全部实际为正的比例;为了平衡精确率和召回率的相互影响,引入F1分数来综合评估GRU-GAN模型的异常检测性能。
4.1.3. 实验数据
为了验证本研究所构建的基于GAN的高企申报数据异常检测算法的科学性和有效性,选取2010~2019年广东省高新技术企业认定登记表(表1)中的申报数据做实证分析,数据来源为广东省科技厅,申报高新技术企业的数量为1000家企业样本。实验选取申报登记表中的企业注册登记表(B1)、知识产权详细汇总表(B2)、研发活动情况表(B3)、成果转化表(B4)这四个子表的数据作为异常数据样本检测研究,以评价算法的异常检测性能。对上述表进行数据清洗以及特征预处理等操作,以此得到较为正常的实验数据作为实验正样本;异常数据选取历史检测工作中通过预警记录、人工筛查等方式确认的部分异常数据。最后将正常数据的80%作为实验训练集,20%正常数据和异常数据共同作为测试集。
Table 1. High enterprise declaration and registration table
表1. 高企申报登记表
4.1.4. 实验环境
实验环境配置如下:硬件配置i7-8700K处理器,32 G内存;PyCharm开发环境,TensorFlow深度学习框架,使用Python编程语言编程。
4.1.5. 实验参数设置
GAN中的生成网络和判别网络分别采用深度为20的GRU。批量处理数据量设为50,模型的迭代次数设为1000次,网络学习率设为0.001,模型采用Adam进行优化,并且选择ReLU激活函数进行网络的训练。不同时间窗口长度大小对算法性能有一定的影响,本文将对原始时序采用滑动窗口进行划分,在实验中将窗口大小设置为2的倍数,分5组进行交叉实验,窗口大小为
,潜在空间的维度设置为20。
4.2. 结果分析
4.2.1. 异常检测性能对比
分别采用K-Means、LSTM、Auto-Encoder和GRU-GAN异常检测算法识别B1、B2、B3、B4这些子表中的各个字段数据进行异常检测,每个异常检测性能指标如下图所示。
实验结果表明,GRU-GAN的异常检测准确率最高,比Auto-Encoder约高2.6%,比LSTM约高1.9%,比K-Means约高4.2%,由图4可以看出,GRU-GAN在识别B1的异常序列中准确率达到95.8%。对于精确率指标,如图5所示,GRU-GAN的精确率比K-Means、LSTM和Auto-Encoder方法高三到五个百分点,约为90%。召回率指标由图6得出,GRU-GAN的召回率高于其他对比方法,并且在识别B1的异常序列中召回率达到94.2%。同样F1分数指标也是GRU-GAN取得最好的效果。综合以上实验结果可知,由于GRU-GAN结合LSTM和Auto-Encoder两者的优势,GRU-GAN在四个指标中的得分值都是最高的,比K-Means、LSTM和Auto-Encoder高出约2%~6%,促进异常检测性能的提升。
4.2.2. 目标函数分析
图7显示了判别损失
、
以及重构损失
随着网络迭代次数对整个网络的目标函数值变化的影响。
从图8可得出,刚开始迭代的时候,目标损失值会迅速下降,第2次往后迭代开始,目标函数损失值在趋于平稳的情况下进行下降直到达到收敛。在三个损失函数约束下,异常检测模型展现出稳定的性能,进一步验证了本文所提数据异常检测模型的稳定性。
Figure 8. Graph of the change of objective function value with the number of network iterations
图8. 目标函数值随网络迭代次数变化图
5. 结论
本文为了解决企业申报过程中出现的一些数据异常问题,对广东省高新技术企业认定系统已有数据研究分析,提出一种基于门控循环神经网络和生成对抗网络的高新技术企业认定申报数据异常检测模型。本模型设计生成网络、判别网络以及重构网络来循环构建数据样本,利用生成对抗网络来避免拟合异常数据的风险。实验结果表明,本文提出的异常检测算法有利于异常数据的检测,提高了异常检测的能力,并且有效避免了网络梯度爆炸的问题。本文提出的算法模型较好地解决了高企认定申报材料过程中的一些异常数据检测问题,可以对高企认定填报过程以及认定申请之后带来实时的数据支持。在未来的研究中探索能否结合其他神经网络提高模型效率,并且使训练过程更加稳定的异常检测方法。
基金项目
广东省软科学研究计划项目:基于广东“数字政府”平台建设的科研审计与监管研究——以高新技术企业认定事项管理为例(2020B1010010010)、广东省科技计划(项目)管理风险防范机制研究(2020A1010020007)。