一种基于生成对抗网络的可信电子交易放行机制的制作方法

文档序号:18082932发布日期:2019-07-06 10:14阅读:314来源:国知局
一种基于生成对抗网络的可信电子交易放行机制的制作方法

本发明涉及互联网金融网络支付的反欺诈检测。



背景技术:

移动互联网是一柄双刃剑,在给人们生活带来便利的同时随之也带来了种种隐患,例如线上交易的支付平台可以让人足不出户的甚至随时随地的就可以进行购物以及支付,但是这种便利和快捷也让一些不法的攻击者有机可乘,攻击者通过窃取用户的账户信息,盗取用户的个人隐私信息,甚至伪装成用户本身进行交易或者转账来完成欺诈。因此为了有效的保障用户以及公司的个人利益安全,需要建立切实有效的网络支付欺诈检测系统。

在互联网金融的交易数据中,通常欺诈的数据是占特别少的比率的,因为大部分的用户的交易是正常的,只有那些极少的一部分是欺诈,而在这个领域中绝大部分的方法是去抓贼,即预测欺诈数据,但是预测的过程通常是非常耗时的,我们知道,时间就是损失,能越快的找到欺诈交易就能越早的避免用户的损失,针对预测模型比较耗时的这个过程,并且在欺诈与非欺诈数据极度不均衡的这种情况下要训练出一个可以预测欺诈交易的模型几乎是不可能的。



技术实现要素:

本发明改以逆向思路考虑采用大量的非欺诈数据利用生成对抗网络来学习正常用户的交易分布,得到的判别模型能够较好的识别非欺诈数据,这样就能对可信的电子交易采取放行机制,剩下的无法判别的数据再交给预测模型来做预测就能节省大量的时间。

具体实现,技术方案为:

依次包括四个步骤:1.预处理;2.建模;3.训练;4.放行;

所述建模

生成对抗网络gan,包含生成模型g、判别模型d,两个模型的作用:生成模型g:不断学习训练集中的真实数据的概率分布,目标是将输入的随机噪声转换成可以以假乱真的数据;判别模型d:判断一条记录是否是真实的数据,目标是将生成模型g产生的“假”的数据与数据中的“真”数据区分开。

所述训练

训练的过程首先是将真实数据标记为1,随机生成的数据标记为0,同时放到判别模型d中去训练,更新d中的参数,然后将损失函数中的损失反馈给生成模型g,调整g中的参数,然后开始训练g,两个模型的训练交替进行,直到最后的模型收敛。

所述放行

将已经收敛的生成对抗网络中的生成模型g单独拿出来,作为样本生成器,而将判别模型d单独拿出来,作为分类判别器用于对预测数据进行判定并将确定出的非欺诈数据予以放行。

进一步公开,本发明模型结构为:包括生成模型g、判别模型d,所述生成模型g输出连接判别模型d的输入;首先生成模型g的结构设计如下:预处理完的每一条记录均为一个30维的向量,因此输入层采用30个神经元的lstm层,然后是一个包含100个神经元的全连接层,后续连接一个包含100个神经元的lstm层,接着是一个包含30个神经元的全连接层,采用softmax作为激活函数,整个生成模型采用交叉熵作为损失函数;而判别模型d的结构设计如下:输入层为包含30个神经元的全连接层,接下来是一个包含200个神经元的lstm层,然后是一个包含100个神经元的全连接层,后续连接一个包含100个神经元的lstm层,最后是一个包含2个神经元的全连接层,整个判别模型采用交叉熵作为损失函数。接下来的训练过程通过相互竞争让这两个模型同时得到增强。由于判别模型d的存在,使得g在没有大量先验知识以及先验分布的前提下也能很好的去学习逼近真实数据,并最终让模型生成的数据达到以假乱真的效果(即d无法区分g生成的数据与真实数据,从而g和d达到某种纳什均衡)。

上述技术方案提出了基于生成对抗网络的可信电子交易的放行机制,在不丢失信息量的情况下,并且在欺诈与非欺诈数据极度不均衡导致无法训练出正常的预测模型时,利用大量的非欺诈数据训练得到的生成对抗网络能对可信的交易数据采取放行机制。得益于当前互联网金融产生的丰富交易信息数据,我们可以分析并以此作为基础,设计反欺诈检测系统,保护用户和企业的安全。

附图说明

图1本发明基于生成对抗网络的可信电子交易放行机制系统结构图;

图2本发明基于生成对抗网络的可信电子交易放行机制模型。

图3判别模型d和生成模型g博弈示意图。

图4生成模型g的结构。

图5判别模型d的结构。

具体实施方式

本发明在现有的生成对抗网络的框架下融入了长短期记忆网络(longshorttermmemory),即生成对抗网络中的生成模型和判别模型分别为两个不同的lstm神经网络,生成对抗网络在图像生成等领域有着重要的作用,而lstm在自然语言处理等领域发挥着重要的作用,但目前还未见有文献将生成对抗网络与lstm融合并用在互联网金融数据的反欺诈研究上。关于生成对抗网络以及lstm的具体结构后文有详细介绍,本发明的生成对抗网络的线上交易欺诈实时检测方法四个模块,它们分别是:1.预处理;2.建模;3.训练;4.放行。

下面介绍每一个模块的主要功能。

1.预处理

虽然目前的互联网金融已经产生了许多丰富的交易数据,但是基于现实世界中的数据大体上都是不完整的不一致的脏数据,无法直接参与模型的计算,因此我们必须对原始的数据进行预处理。

(1)数据清理:通过填写缺失值,光滑噪声数据,识别或解决不一致的清理数据。主要是达到以下的目标:数据的格式化标准(如时间等),异常数据的清除,错误纠正,重复数据的清除;

(2)数据集成:数据集成主要是将多个数据源中的数据结合起来并统一存储,建立数据仓库;

(3)数据变换:通过平滑聚集,数据概化,规范化等方式将数据转换成学习模型需要的形式。

2.建模

生成对抗网络(generativeadversarialnetworks)简称gan,其中包含两个重要的模型,即一个是生成模型g,另一个是判别模型d,两个模型的作用:

(1)生成模型g:不断学习训练集中的真实数据的概率分布,目标是将输入的随机噪声转换成可以以假乱真的数据(生成的数据与真实数据越相似越好)。

(2)判别模型d:判断一条记录是否是真实的数据,目标是将生成模型g产生的“假”的数据与数据中的“真”数据区分开。

现有的gan的实现方法是让d和g进行博弈如图3所示,而本发明的模型是在现有的gan的框架下,对模型本身做了改变,本发明模型结构具体表征为:包括生成模型g、判别模型d,所述生成模型g输出连接判别模型d的输入;

所述生成模型g包括依次连接的第一lstm层、第一全连接层、第二lstm层、第二全连接层;所述第一lstm层为输入层,包括30个神经元,其输出连接第一全连接层;所述第一全连接层包含100个神经元,其输出连接第二lstm层;所述第二lstm层包含100个神经元,其输出连接第二全连接层;所述第二全连接层包含2个神经元,其共同输出连接判别模型d的输入,具体结构为图4所示。

所述判别模型d包括依次连接的第一全连接层、第一lstm层、第二全连接层、第二全lstm层、第三全连接层;所述第一全连接层为输入层,包括30个神经元,其输出连接第一lstm层;所述第一lstm层包含200个神经元,其输出连接第二全连接层;所述第二全连接层包含100个神经元,其输出连接第二lstm层;所述第二lstm层包含100个神经元,其输出连接第三全连接层;所述第三全连接层包含2个神经元,其共同输出为判别模型d的输出,具体结构为图5所示。

首先生成模型g的结构设计如下:预处理完的每一条记录均为一个30维的向量,因此输入层采用30个神经元的lstm层,然后是一个包含100个神经元的全连接层,后续连接一个包含100个神经元的lstm层,接着是一个包含30个神经元的全连接层,采用softmax作为激活函数,整个生成模型采用交叉熵作为损失函数;

而判别模型d的结构设计如下:输入层为包含30个神经元的全连接层,接下来是一个包含200个神经元的lstm层,然后是一个包含100个神经元的全连接层,后续连接一个包含100个神经元的lstm层,最后是一个包含2个神经元的全连接层,整个判别模型采用交叉熵作为损失函数。

接下来的训练过程通过相互竞争让这两个模型同时得到增强。由于判别模型d的存在,使得g在没有大量先验知识以及先验分布的前提下也能很好的去学习逼近真实数据,并最终让模型生成的数据达到以假乱真的效果(即d无法区分g生成的数据与真实数据,从而g和d达到某种纳什均衡)。

由于我们需要让生成模型学习到真实数据的分布,考虑到互联网欺诈交易的时序性(即随着时间的交易序列是对一个人的行为的刻画),我们需要捕捉到这种行为特性,因此我们的生成模型g和判别模型d均是一个多层的长短期记忆网络(longshorttermmemory)简称lstm。因为lstm是一种时间递归网络,适合处理和预测时间序列中间隔阂延迟相对较长的重要事件。皆知,所述lstm是循环神经网络中一个优秀的变种模型,其继承了大部分循环神经网络模型的特性,同时解决了梯度反转过程由于逐渐减少而产生的梯度爆炸的问题。具体应用到自然语言处理任务中,lstm非常适合用于处理与时间序列高度相关的问题,例如机器翻译,对话生成等等。而所述gan这种框架首次应用出现在图像处理的领域。本发明首次设计并实现了将二者的结合,克服了lstm和gan同时只适用于处理连续型随机变量的处理和预测的问题,本发明将两者设计融合并首次转适用于处理网络交易离散数据,因此这也是在本发明领域出现的首次成功案例。发明人在模型训练的过程中,利用梯度下降的方法不断地修正参数(包括神经元的数量以及模型的层数),并且gan框架下的理论收敛条件是达到纳什均衡,而这个条件是非常难以达到的。最终,在训练的过程中,给出当判别模型d犯错的概率小于0.3时模型达到收敛(即生成模型已经能够充分的学习到数据的分布,并且该数据是可用的)。

3.训练

训练的过程首先是将真实数据标记为1,随机生成的数据标记为0,同时放到判别模型d中去训练,更新d中的参数,然后将损失函数中的损失反馈给生成模型g,调整g中的参数,然后开始训练g,两个模型的训练交替进行,直到最后的模型收敛。

后面的部分我们将分别详细介绍生成模型g和判别模型d更新参数的过程。

4.放行

将已经收敛的生成对抗网络中的生成模型g单独拿出来,就可作为我们的样本生成器了,在这个过程中由于我们需要解决的是样本中欺诈数据和非欺诈数据的极度不均衡的局面,因此在训练过程中引入的数据仅为真实的非欺诈数据,后面为了验证判别模型d的放行率。通过训练中已经收敛的生成对抗网络中的判别模型d作为分类判别器,对预测数据进行分类,对非欺诈数据的判别。gan的收敛意味着判别模型可以学习到非欺诈数据的真实分布。

(案例)

本方法中的主要模块的具体实施如下:

预处理,预处理的过程就是将原始的数据转化成模型可以用来计算的数值型数据,并对缺失值进行填充。数据的原始字段如表1所示:

表1原始字段以及处理后的字段

从表1中可以看出可用的原始字段大部分为字符串类型,而作为概率图模型本身则只能对离散型的变量做处理,因此预处理不仅包含前面提到的数据清理和数据集成,并且在数据变换过程中,还将连续型浮点数转换成概率图模型可计算的离散型变量。

建模算法,其过程如下:

算法环境:

python,numpy,keras

输入:

1.m是一个超参数,表示的是模型的抽样数量,一般不会事先给出,得根据特定的实验环境而定,一般机器配置较好的情况下可以适当的将该数值给大一些。

2.k也是一个超参数,通常是来控制判别模型的训练次数,在本实施例给定k=1。

输出:

1.生成模型g

2.判别模型d

算法伪代码:

(1)当模型未收敛时;

(2)m的取值加1;

(3)循环k次:

(4)从生成模型g生成的数据中抽出m个样本{z(1),…,z(m)}。

(5)从真实的欺诈数据中抽出m个样本{x(1),…,x(m)}。

(6)计算下面的公式用随机梯度下降来更新判别模型d:

(7)循环结束

(8)从生成模型g生成的数据中抽出m个样本{z(1),…,z(m)}。

(9)计算下面的公式用随机梯度下降来更新生成模型g:

(10)算法结束。

在上述算法的步骤(3)-(7)中主要是来更新判别模型d的参数(θd表示判别模型d中的参数),判别模型的目标是要尽量的将真实数据和生成模型生成的数据区分开来,因此判别模型更新参数的状态是要尽量朝着犯错的反方向来更新参数,即梯度提升的方向;而判别模型犯错的方式有两种情况

1.无法区分真实样本;

2.无法区分生成模型g生成的样本,因此公式(1)中即是两种错误的损失函数之和。

算法的步骤(8)-(10)主要是来更新生成模型g的参数(θg表示生成模型g中的参数),而生成模型要做的就是尽量要让判别模型犯错,即如果生成模型g生成的数据越来越接近真实数据的分布,那么判别模型d犯错的可能性就会越大,所以生成模型更新参数的方向是沿着判别模型犯错的梯度下来更新的,因此判别模型需要沿着公式(2)中计算的梯度下来更新参数。

训练模块,其过程如下:

训练的过程主要是控制模型的收敛,而纳什均衡所达到的均衡状态通常是理想状态下的,即判别模型已经无法分辨真实数据和生成模型生成的数据,即判别模型犯错的概率为50%,但是实际上这种状态可能很难达到,因此训练过程可以进行人为的干预。在此次实验中我们设定的阈值为30%左右,即当判别模型犯错的概率达到30%我们即可认为模型收敛了。

模型评估,其过程如下:

模型环境:

python,keras,pandas,numpy

输入:

测试集:其中非欺诈数据1003539条记录,欺诈数据24898

输出:

测试集中每条记录的标签,以及一系列的度量指标。

(1)在上一步中得到的收敛的gan中的判别模型d,本实施例用d作为预测模型。

(2)针对预测的评估结果我们引入了以下的三个指标:准确率precision,召回率recall,以及误判率falsepositiverate(fpr)。同时我们还将引入以下的几个概念tp:模型将正类判定为正类的数量;fp:模型将负类判定为正类的数量;fn:模型将正类判定为负类的数量;tn:模型将负类判定为负类的数量。精确率的定义如下:

召回率的定义如下:

打扰率的定义如下:

当模型对所有的测试集预测完之后,分别根据公式(3),(4)和(5)统计输出精确率,召回率以及误判率。

本发明通过在真实电子交易数据集上进行检测证明,本发明已经验证在不同的打扰率下模型的准确率和召回率,并且在训练集中只有非欺诈数据的情况下,还能有较高的放行率。

本项目的创新点

1.由于在互联网金融的交易欺诈中大部分的是正常的交易用户,只有少量的异常,在机器学习中如果数据偏移比较大(每一个类别的数据分布不均衡),对预测结果会造成非常大的影响,甚至会出现无法建模的现象,而本方法在保证没有信息量丢失的情况下,甚至在训练集中没有欺诈交易的记录的情况下,还能训练出一个合适预测模型,将可信的电子交易记录给与放行。

2.在互联网金融中,由于欺诈交易的少量特性,基于本方法可以利用这些少量的珍贵的欺诈样本作为“种子数据”来生成更多的欺诈数据,可以为后续研究欺诈特征做基础。

批注:本发明中的有关术语以及对于先前的主要技术可参见如下资料。

[1]a.ratner,s.bachandh.ehrenberg.snorkel:rapidtrainingdatacreationwithweaksupervision.inpvldb,11(3):269-282,2017.

[2]a.ratner,c.desa,s.wu,d.selsam,andc.r′e.dataprogramming:creatinglargetrainingsets,quickly.inneuralinformationprocessingsystems(nips),2016.

[3]t.rekatsinas,m.joglekar,h.garcia-molina,a.parameswaran,andc.r′e.slimfast:guaranteedresultsfordatafusionandsourcereliability.inacmsigmodinternationalconferenceonmanagementofdata(sigmod),2017.

[4]s.h.bach,b.he,a.ratner,andc.r′e.learningthestructureofgenerativemodelswithoutlabeleddata.ininternationalconferenceonmachinelearning(icml),2017.

[5]b.zhao,b.i.rubinstein,j.gemmell,andj.han.abayesianapproachtodiscoveringtruthfromconflictingsourcesfordataintegration.inpvldb,5(6):550–561,2012.

[6]wangh,wangjandwangj.graphgan:graphrepresentationlearningwithgenerativeadversarialnets.inaaai,2017.

[7]zhouz,andzhoua.briefintroductiontoweaklysupervisedlearning.nationalsciencereview(nsr),5(01):44-53,2018.

[8]a.grover.andj.leskovec.node2vec:scalablefeaturelearningfornetworks.inkdd,2016.

[9]l.wangandz.h.zhou.cost-savingeffectofcrowdsourcinglearning.inijcai,2016.

[10]m.abadi,p.barham,j.chen,z.chen,a.davis,j.dean,m.devin,s.ghemawat,g.irving,m.isard,etal.tensorflow:asystemforlarge-scalemachinelearning.inusenixsymposiumonoperatingsystemsdesignandimplementation(osdi),2016.

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1