建立风险识别模型的方法及对应装置与流程

文档序号:32053815发布日期:2022-11-04 20:09阅读:145来源:国知局
建立风险识别模型的方法及对应装置与流程

1.本说明书一个或多个实施例涉及人工智能技术领域,尤其涉及一种建立风险识别模型的方法及对应装置。


背景技术:

2.在互联网技术日益发展的今天,用户在使用互联网的各种行为中出现各种风险。例如可能存在诸如网络交易诈骗、虚假兼职诈骗、网络交友诈骗等各种各样的欺诈形式。在实际的风险控制场景中,图神经网络模型是目前应用比较广泛的一种深度神经网络模型。图神经网络在对图结构中节点之间的关联关系进行建模方面表现出强大的学习和表征能力。基于图神经网络的风险识别模型可以降低风险控制的成本,减少风控决策对于专家的依赖,从而提高风险控制的效率。
3.然而研究表明图神经网络容易受到对抗攻击的干扰,通过对图结构或节点特征进行细微的扰动即可极大地改变风险识别模型的预测结果。因此,提高风险识别模型的鲁棒性成为目前亟待解决的问题之一。


技术实现要素:

4.有鉴于此,本说明书一个或多个实施例公开了一种建立风险识别模型的方法及对应装置,以便于提高风险识别模型的鲁棒性。
5.根据第一方面,本公开提供了一种建立风险识别模型的方法,该方法包括:
6.获取利用用户的网络行为数据构建的异构网络图对应的图邻接矩阵,所述异构网络图包括节点和边,所述节点包括行为主体和行为对象,所述边依据行为主体和行为对象之间的行为关系确定;
7.利用所述图邻接矩阵生成训练样本,以及对所述图邻接矩阵的特征值和/或特征向量进行扰动生成对抗样本;
8.利用所述训练样本和所述对抗样本训练图神经网络,得到风险识别模型;其中训练目标包括:最小化所述图神经网络针对所述训练样本和对抗样本中的样本对象输出的识别结果与该样本对象被标注的标签之间的差异,所述样本对象包括节点或边。
9.根据本技术实施例中一可实现的方式,利用所述图邻接矩阵生成训练样本包括:
10.对所述图邻接矩阵进行特征分解,得到第一特征值和第一特征向量;
11.利用所述第一特征值和所述第一特征向量进行重构,得到第一图邻接矩阵;
12.将所述第一图邻接矩阵作为训练样本。
13.根据本技术实施例中一可实现的方式,对所述图邻接矩阵的特征值和/或特征向量进行扰动生成对抗样本包括:
14.对所述图邻接矩阵进行特征分解,得到第一特征值和第一特征向量;
15.对所述第一特征值添加扰动得到第二特征值,利用所述第二特征值和所述第一特征向量重构得到第二图邻接矩阵;
16.对所述第一特征向量添加扰动得到第二特征向量,利用所述第一特征值和所述第二特征向量重构得到第三图邻接矩阵;
17.将所述第二图邻接矩阵和/或所述第三图邻接矩阵作为对抗样本。
18.根据本技术实施例中一可实现的方式,对所述第一特征值添加扰动得到第二特征值包括:确定所述训练样本输入所述图神经网络得到的第一训练损失,利用所述第一训练损失对所述第一特征值的梯度生成特征值扰动,对所述第一特征值添加所述特征值扰动得到第二特征值;
19.对所述第一特征向量添加扰动得到第二特征向量包括:确定所述训练样本输入所述图神经网络得到的第一训练损失,利用所述第一训练损失对所述第一特征向量的梯度生成特征向量扰动,对所述第一特征向量添加所述特征向量扰动得到第二特征向量。
20.根据本技术实施例中一可实现的方式,利用所述第一训练损失对所述第一特征值的梯度生成特征值扰动包括:
21.利用生成特征值扰动,其中,g1为所述第一训练损失对所述第一特征值的梯度,所述ε1为预设的超参数,所述|| ||2为求取二次范数;
22.利用所述第一训练损失对所述第一特征向量的梯度生成特征向量扰动包括:
23.利用生成特征向量扰动,其中,g2为所述第一训练损失对所述第一特征向量的梯度,所述ε2为预设的超参数。
24.根据本技术实施例中一可实现的方式,利用所述训练样本和所述对抗样本训练图神经网络包括:
25.在每一轮迭代中确定总训练损失,所述总训练损失由第一训练损失、第二训练损失和第三训练损失确定,所述第一训练损失为所述训练样本输入所述图神经网络得到的训练损失,所述第二训练损失为所述第二图邻接矩阵输入所述图神经网络得到的训练损失,所述第三训练损失为所述第三图邻接矩阵输入所述图神经网络得到的训练损失;利用所述总训练损失的值更新所述图神经网络的模型参数,直至达到预设的训练结束条件。
26.根据本技术实施例中一可实现的方式,所述风险识别模型用以对所述异构网络图中的待识别节点或边进行风险识别。
27.第二方面,提供了一种建立风险识别模型的装置,该装置包括:
28.矩阵获取单元,被配置为获取利用用户的网络行为数据构建的异构网络图对应的图邻接矩阵,所述异构网络图包括节点和边,所述节点包括行为主体和行为对象,所述边依据行为主体和行为对象之间的行为关系确定;
29.样本生成单元,被配置为利用所述图邻接矩阵生成训练样本,以及对所述图邻接矩阵的特征值和/或特征向量进行扰动生成对抗样本;
30.模型训练单元,被配置为利用所述训练样本和所述对抗样本训练图神经网络,得到风险识别模型;其中训练目标包括:最小化所述图神经网络针对所述训练样本和对抗样本中的样本对象输出的识别结果与该样本对象被标注的标签之间的差异,所述样本对象包括节点或边。
31.根据第三方面,本公开提供了一种计算机可读存储介质,其上存储有计算机程序,
当所述计算机程序在计算机中执行时,令计算机执行如上所述的方法。
32.根据第四方面,本公开提供了一种计算设备,包括存储器和处理器,其特征在于,所述存储器中存储有可执行代码,所述处理器执行所述可执行代码时,实现如上所述的方法。
33.根据本技术提供的具体实施例,本技术可以具备以下技术效果:
34.1)本技术通过对图邻接矩阵的特征值和/或特征向量进行扰动以生成对抗样本,以对图神经网络进行对抗训练,能够有效提高风险识别模型的鲁棒性。
35.2)本技术实际上是对图数据的谱域进行扰动生成对抗样本,避免了图的离散性问题,并且经过特征分解后,特征向量实际上进行了降维,因此大大减小了对抗训练的计算开销。
36.3)本技术中对抗样本的构造仍然基于图结构,因此训练得到的风险识别模型相比较基于特征扰动的对抗训练,能够更加有效地对抗扰动攻击,具有更好的鲁棒性。
附图说明
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
38.图1示出了可以应用本公开实施例的示例性系统架构图;
39.图2为本公开实施例提供的建立风险识别模型的方法流程图;
40.图3为本技术实施例提供的生成对抗样本的方法流程图;
41.图4为本技术实施例提供的模型训练过程的示意图;
42.图5示出根据本公开一个实施例的建立风险识别模型的装置的结构图。
具体实施方式
43.下面结合附图,对本说明书提供的方案进行描述。
44.在本发明实施例中使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。
45.应当理解,本文中使用的术语“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。另外,本文中字符“/”,一般表示前后关联对象是一种“或”的关系。
46.取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”或“响应于检测”。类似地,取决于语境,短语“如果确定”或“如果检测(陈述的条件或事件)”可以被解释成为“当确定时”或“响应于确定”或“当检测(陈述的条件或事件)时”或“响应于检测(陈述的条件或事件)”。
47.目前广泛用于提高模型鲁棒性的方法是对抗训练。对抗训练作为一种有效的正则化方法,其基本原理是通过添加扰动构造对抗样本,并且把对抗样本融入到模型的训练过程中,以攻为守,从而防止过度拟合并提高模型的泛化性能,更重要的是提高模型在遇到对
抗攻击时的鲁棒性。在对抗训练被提出的初级阶段,主要是应用于计算机视觉和自然语言处理领域。将对抗训练迁移到图神经网络的难点在于对抗样本的生成。目前主要存在以下两种方式:
48.1)对图的结构进行扰动,例如增加或者删除图结构中的某些边来构造对抗样本。然而由于图结构的离散型,在生成对抗样本后模型需要对生成的扰动进行离散化,容易导致生成的对抗样本陷入次优解。另外,由于图中节点数目较大,这种添加扰动的方式会导致计算开销较大。
49.2)对图中的节点特征或隐藏层向量表示进行扰动,从而构造特征级别的对抗样本。由于节点的特征维度一般比较低,因此这种方式相比较第一种方式计算开销较低。但由于目前对于图的对抗攻击大多是面向结构的攻击,因此基于特征的对抗训练方法对于提升模型的鲁棒性较为局限。
50.本技术提供了一种全新的扰动方式,为了方便对本技术的理解,首先对本技术所基于的系统架构进行介绍。图1示出了可以应用本公开实施例的示例性系统架构。该系统主要包括建立风险识别模型的装置和风险识别装置。其中,建立风险识别模型的装置从数据仓库中获取批量的用户网络行为数据,对用户网络行为数据进行分析,训练风险识别模型。
51.风险识别装置利用训练得到的风险识别模型,对待识别的用户或者网络行为进行风险识别。
52.上述系统中的建立风险识别模型的装置和风险识别装置可以在服务器端实现。该服务器端可以是单一服务器,也可以是多个服务器构成的服务器群组,还可以是云服务器。云服务器又称为云计算服务器或云主机,是云计算服务体系中的一项主机产品,以解决传统物理主机与虚拟专用服务器(vps, virtual private server)服务中存在的管理难度大,业务扩展性弱的缺陷。除了在服务器端实现之外,也可以在具有强大计算能力的计算机终端实现。
53.应该理解,图1中的建立风险识别模型的装置、风险识别装置和数据仓库的数目仅仅是示意性的。根据实现需要,可以具有任意数目的建立风险识别模型的装置、风险识别装置和数据仓库。
54.图2为本公开实施例提供的建立风险识别模型的方法流程图。可以理解,该方法可以通过图1所示系统中的建立风险识别模型的装置来执行。参见图 2,该方法包括:
55.步骤202:获取利用用户的网络行为数据构建的异构网络图对应的图邻接矩阵,异构网络图包括节点和边,节点包括行为主体和行为对象,边依据行为主体和行为对象之间的行为关系确定。
56.步骤204:利用图邻接矩阵生成训练样本,以及对图邻接矩阵的特征值和/ 或特征向量进行扰动生成对抗样本。
57.步骤206:利用训练样本和对抗样本训练图神经网络,得到风险识别模型;其中训练目标包括:最小化图神经网络针对训练样本和对抗样本中的样本对象输出的识别结果与该样本对象被标注的标签之间的差异,样本对象包括节点或边。
58.由以上实施例提供的技术内容可以看出,本技术通过对图邻接矩阵的特征值和/或特征向量进行扰动以生成对抗样本,以对图神经网络进行对抗训练,能够有效提高风险识别模型的鲁棒性。
59.下面对图2所示的各个步骤进行说明。
60.首先结合实施例对上述步骤201即“获取利用用户的网络行为数据构建的异构网络图对应的图邻接矩阵”进行详细描述。
61.用户在使用网络的过程中被服务器端记录了大量的网络行为数据,这些网络行为数据通常记录于数据仓库中,体现了大量行为主体和行为对象之间的关联。其中一些行为是具有风险的,具有一些行为的用户也是具有风险的。
62.通常进行的风险识别是针对特定场景的,在特定场景下要关注和分析的行为主体、行为对象和网络行为的类型也是特定的。因此可以从数据仓库中获取目标场景所对应行为主体类型、行为对象类型和网络行为类型的行为主体、行为对象和网络行为,用以构建异构网络图。这种基于特定场景构建异构网络图的方式可以大大降低图数据的规模。异构网络图包括节点和边,节点包括行为主体和行为对象,边依据行为主体和行为对象之间的网络行为关系确定。
63.其中,目标场景所对应的主体类型、行为对象类型和网络行为类型可以预先根据经验设置。
64.以网络交易风险为例,行为主体可能是账户、银行卡等。行为对象也可能是账户、银行卡等,还可能是红包id等。也就是说,行为主体和行为对象是与金融类相关的主体和对象。节点之间的边可以是行为主体和行为对象之间发生的支付行为、存取款行为、签约绑定行为、收发红包行为等等与金融类相关的行为关系。
65.以网络交友诈骗风险为例,行为主体可能是社交网络账户、实时通信工具账户、金融账户、主机地址、客户端标识等等。节点之间的边可以是发送好友请求的行为、添加好友的行为、聊天行为、转账行为、收发红包行为、发送链接的行为,等等。
66.若本技术实施例的风险识别模型是对风险行为进行识别,则可以在异构网络图中可以对其中一些已知具有风险或者不具有风险的边进行标注。
67.数据仓库中的用户行为数据是历史数据,存在一些用户行为数据是已经明确知道是风险行为还是安全行为的。例如,可以从诸如公安、法院等官方机构的数据库中可以获取到消息指明一些用户行为是违反法律、法规等的行为,或者产生的结果是违反法律、法规等,可以将这些消息所指明的用户行为确定为已知风险行为,并在异构网络中确定对应的边并进行标注。再例如,一些用户行为被投诉,则可以认为该用户行为为已知风险行为,并在异构网络中确定对应的边并进行标注。再例如,通过一些已有的高准确性地检测工具检测出一些用户行为是风险行为,或者,可以通过人工鉴别的方式鉴别出一些风险行为,在异构网络中确定对应的边,并进行标注。
68.类似地,也存在一些用户行为是明确为安全行为的。例如,从一些官方渠道获取到消息指明一些用户行为是被高度推荐或赞许的,例如慈善行为、对城市建设起推动作用的投资行为等等,这些行为被确定为已知安全行为,并在异构网络中确定对应的边。再例如,能够通过一些已有的高准确性地检测工具检测出一些用户行为是安全行为,或者,可以通过人工鉴别的方式鉴别出一些安全行为,在异构网络中确定对应的边并进行标注。
69.若本技术实施例的风险识别模型是对风险用户进行识别,则可以在异构网络图中对一些已知具有风险或者不具有风险的节点进行标注。
70.例如,可以从诸如公安、法院等官方机构的数据库中可以获取到消息指明一些用
户是违法用户、违规用户、低信用用户等,可以将这些消息所指明的用户确定为已知风险用户,并在异构网络中确定对应的节点并进行标注。再例如,一些用户频繁被投诉,则可以认为该用户为已知风险用户,并在异构网络中确定对应的节点并进行标注。再例如,通过一些已有的高准确性地检测工具检测出一些用户是风险用户,或者,可以通过人工鉴别的方式鉴别出一些风险用户,并在异构网络中确定对应的节点并进行标注。
71.类似地,也存在一些用户是明确为安全用户的。例如,从一些官方渠道获取到消息指明一些用户是被高度推荐或赞许的,或者是高信誉度用户,例如存在大量慈善行为、对城市建设起推动作用的用户、被评选为模范等等,这些用户被确定为已知安全用户,在异构网络中确定对应的节点并进行标注。再例如,能够通过一些已有的高准确性地检测工具检测出一些用户是安全用户,或者,可以通过人工鉴别的方式鉴别出一些安全用户,在异构网络中确定对应的节点并进行标注。
72.对于构建的异构网络图可以获取其对应的图邻接矩阵,所谓图邻接矩阵是表示图中节点之间相邻关系的矩阵,是对图结构的一种刻画。
73.下面结合实施例对上述步骤204即“利用图邻接矩阵生成训练样本,以及对图邻接矩阵的特征值和/或特征向量进行扰动生成对抗样本”进行详细描述。
74.其中,利用图邻接矩阵生成训练样本的方式沿用现有技术,即训练样本为原始的图邻接矩阵,以及对训练样本中的样本对象进行的标注。其中,如果本技术要建立的风险识别模型用以识别风险用户,则上述的样本对象为用户即异构网络图中的部分节点。如果本技术要建立的风险识别模型用以识别风险行为,则上述的样本对象为网络行为即异构网络图中的部分边。
75.但作为一种更为优选的实施方式,可以对图邻接矩阵进行特征分解,得到第一特征值和第一特征向量;利用第一特征值和所述第一特征向量进行重构,得到第一图邻接矩阵;将第一图邻接矩阵作为训练样本。
76.特征分解(eigendecomposition)又称为谱分解,是将矩阵分解为由特征值和特征向量表示的矩阵之积的方法。鉴于特征分解是目前已有的技术,在此不做详述。对于图邻接矩阵a,经过特征分解后,得到特征值矩阵λ和对应的特征向量矩阵u。其中,λ={λ1,λ2,

,λn},u={u1,u2,

,un},n为异构网络图中的节点数量。
77.经过上述特征分解和重构之后,实际上是取出了图邻接矩阵中重要的特征再进行矩阵重构,得到第一图邻接矩阵,是一种“降维”方式。这种训练样本的获取方式能够在保证模型训练的效果的基础上,有效降低后续训练过程的计算量。
78.不同于现有技术中在图结构中直接增加或删除某些边的方式,也不同于现有技术中对图中的节点特征或隐藏层向量表示进行扰动的方式,本技术实际上是对图数据的谱域进行扰动生成对抗样本。具体地,可以对图邻接矩阵的特征值进行扰动,也可以对图邻接矩阵的特征向量进行扰动。
79.为了方便理解,首先对本技术生成对抗样本的理论基础进行简单描述。矩阵扰动理论是用于估计对某一矩阵添加微小扰动后,其对应的特征值与特征向量的变化情况。具体可以表示为以下公式:
80.(a+δa)(ui+δui)=(λi+δλi)(ui+δui)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
81.其中,a和δa表示为图邻接矩阵与对应的扰动矩阵,ui和δui表示图邻接矩阵a的
特征向量以及对应的扰动,λi和δλi表示图邻接矩阵a的特征值以及对应的扰动,下标i表示节点i。
82.矩阵扰动理论描述了特征值与特征向量的变化情况,可以表示为:
[0083][0084][0085]
和表示扰动后的矩阵δa对应的特征值与特征向量。uk和λk是第k个节点的特征向量和特征值。
[0086]
从上述公式可以看出,矩阵扰动理论说明了对于图邻接矩阵的扰动可以对应到其特征与特征向量层面,因此,可以通过对图邻接矩阵的特征值和/ 或特征向量进行扰动以快速构建对抗样本。由于图邻接矩阵是对图结构的刻画,其本质上实现的也是对图结构的扰动。
[0087]
作为其中一种可实现的方式,生成对抗样本的过程可以如图3中所示,具体包括以下步骤:
[0088]
步骤302:对图邻接矩阵进行特征分解,得到第一特征值和第一特征向量。
[0089]
本步骤的特征分解与上面提及的特征分解过程一致,在此不做详述。对于图邻接矩阵a,经过特征分解后,得到特征值矩阵λ和对应的特征向量矩阵 u。
[0090]
需要说明的是,本公开中涉及的“第一”、“第二”等限定并不具备大小、顺序和数量等方面的限制,仅仅用以在名称上加以区分,例如“第一特征值”和“第二特征值”用以在名称上区分两个特征值。
[0091]
步骤304:对第一特征值添加扰动得到第二特征值,利用第二特征值和第一特征向量重构得到第二图邻接矩阵。
[0092]
在本步骤中可以对第一特征值随机添加扰动,得到第二特征值。但作为一种优选的实施方式,可以采用最大化第一损失函数来构造扰动样本的过程。具体地,可以确定训练样本输入图神经网络得到的第一训练损失利用该第一训练损失对第一特征值的梯度来生成特征值扰动,对第一特征值添加特征值扰动得到第二特征值。
[0093]
对抗攻击的目的是尽可能地影响模型的识别效果,相应地,对抗样本的目标是尽可能大地对模型的识别效果产生影响,即可以依据对抗样本能够对图神经网络对训练样本的识别效果所产生的负向贡献来选择,其中负向贡献可以体现在对第一训练损失的影响上。例如,可以采用如下公式来生成特征值扰动
[0094][0095]
其中,ε1为预设的超参数,||||2为求取二次范数。g1为第一训练损失对第一特征值的梯度,可以表示为:
[0096][0097]
[0098]vtrain1
为训练样本(即第一图邻接矩阵)中样本对象的集合,vj为第j 个样本对象,yj为第j个样本对象的标签,f
θ
(u,λ,x)为模型在第一图邻接矩阵基础上的预测结果。x为节点特征矩阵,包括异构网络图中各节点的特征数据。
[0099]
上述的梯度可以采用朴素梯度,也可以采用其他诸如积分梯度等。
[0100]
在第一特征值矩阵上添加扰动,得到第二特征值的矩阵可以表示为:在第一特征值矩阵上添加扰动,得到第二特征值的矩阵可以表示为:然后利用和u进行重构,得到第二图邻接矩阵a2。
[0101]
步骤306:对第一特征向量添加扰动得到第二特征向量,利用第一特征值和第二特征向量重构得到第三图邻接矩阵。
[0102]
在本步骤中可以对第一特征向量随机添加扰动,得到第二特征向量。但作为一种优选的实施方式,可以采用最大化第一损失函数来构造扰动样本的过程。具体地,可以确定训练样本输入图神经网络得到的第一训练损失,利用第一训练损失对第一特征向量的梯度生成特征向量扰动,对第一特征向量添加特征向量扰动得到第二特征向量。
[0103]
类似地,可以采用如下公式来生成特征向量扰动
[0104][0105]
其中,ε2为预设的超参数,g2为第一训练损失对第一特征向量的梯度,可以表示为:
[0106][0107]
在第一特征向量的矩阵上添加扰动,得到第二特征向量的矩阵可以表示为:然后利用和λ进行重构,得到第三图邻接矩阵a3。
[0108]
上述步骤304和步骤306之间的执行顺序在此不加以限制,可以以任意的顺序先后执行,也可以同时执行。
[0109]
步骤308:获取第二图邻接矩阵和/或第三图邻接矩阵作为对抗样本。
[0110]
可以将第二图邻接矩阵作为对抗样本,也可以将第三图邻接矩阵作为对抗样本,但为了更好地提高训练得到的模型的鲁棒性,优选将第二图邻接矩阵和第三图邻接矩阵都作为对抗样本。
[0111]
下面结合实施例对上述步骤206即“利用训练样本和对抗样本训练图神经网络,得到风险识别模型”进行详细描述。
[0112]
训练过程中,训练样本和对抗样本都会分别被输入风险识别模型,风险识别模型针对训练样本和对抗样本分别输出识别结果。训练目标包括最小化所述图神经网络针对训练样本和对抗样本中的样本对象输出的识别结果与该样本对象被标注的标签之间的差异。
[0113]
训练目标可以表示为如下公式:
[0114][0115]
其中,v
train
表示训练样本和对抗样本构成的集合。ε表示模型参数,表示训练样本和对抗样本构成的集合。ε表示模型参数,为模型在第一图邻接矩阵、第二图邻接矩阵和第三图邻接矩阵基础上的预测结果。表示训练过程中训练损失所采用的函数。
[0116]
在本说明书实施例中,可以依据上述训练目标构造总训练损失,在每一轮迭代中
利用总训练损失的取值,采用诸如梯度下降等方式更新模型参数,直至满足预设的训练结束条件。其中训练结束条件可以包括诸如总训练损失的取值小于或等于预设的损失阈值,迭代次数达到预设的次数阈值等。
[0117]
作为其中一种可实现的方式,上述总训练损失可以由第一训练损失、第二训练损失和第三训练损失确定。其中,第一训练损失为训练样本输入图神经网络得到的训练损失,第二训练损失为第二图邻接矩阵输入图神经网络得到的训练损失,第三训练损失为第三图邻接矩阵输入图神经网络得到的训练损失。
[0118]
其中,第一训练损失为可以表示为上面的公式(6)。
[0119]
第二训练损失可以表示为如下公式:
[0120][0121]
第三训练损失可以表示为如下公式:
[0122][0123]
其中,v
train2
为第二图邻接矩阵中样本对象的集合,v
train3
表示第三图邻接矩阵中样本对象的集合。
[0124]
总训练损失loss可以将上述三个训练损失进行加权求和的方式确定,例如采用如下公式:
[0125][0126]
其中,α与β分别为权重系数,属于超参数。可以通过调整α与β来调整不同谱成分的对抗训练损失的影响大小,具体训练时可以采用试验值或经验值。
[0127]
在此需要说明的是,在模型训练的过程中,除了输入图邻接矩阵之外,同时会输入图中各节点的特征数据,或者进一步输入边的特征数据,模型实际上是结合图邻接矩阵、节点和边的特征数据来输出识别结果的。上述节点的特征数据可以是诸如节点类型、注册时长、对应用户的相关属性信息等。边的特征可以是诸如行为类型、行为时间、行为地点、行为次数等等。鉴于本技术对于这部分并未进行改动,在此不做详述。
[0128]
上述训练过程可以如图4中所示。
[0129]
本技术实际上是对图数据的谱域进行扰动生成对抗样本,避免了图的离散型问题,并且经过特征分解后,特征向量实际上进行了降维,因此大大减小了对抗训练的计算开销。但对抗样本的构造仍然基于图结构,因此训练得到的风险识别模型能够有效地对抗扰动攻击,具有很好的鲁棒性。
[0130]
上述实施例中涉及的图神经网络可以是采用任意算法的图神经网络,包括但不限于:图卷积神经网络、图自编码器、图生成网络、图循环网络、图注意力网络,等等。
[0131]
完成上述风险识别模型的训练后,训练得到的风险识别模型可以用以进行风险识别,即用以对异构网络图中的待识别节点或边进行风险识别。例如将待识别节点的信息、上述异构网络图的图邻接矩阵和节点特征矩阵输入风险识别模型,由风险识别模型输出针对待识别节点的风险识别结果,例如是否具有预设类型的风险。
[0132]
以网络交易风险为例,依据用户网络行为数据获取的异构网络图包括诸如账户、银行卡、红包id等等节点,节点之间的边是账户、银行卡、红包id等之间发生的支付行为、存
取款行为、签约绑定行为、收发红包行为等与金融类相关的行为关系。在该异构网络图中已经有一些节点是被明确标注为安全用户和风险用户的。
[0133]
首先对上述异构网络图的图邻接矩阵进行特征分解,得到第一特征值和第一特征向量,再利用第一特征值和第一特征向量进行重构得到第一图邻接矩阵,该第一图邻接矩阵作为训练样本。
[0134]
对第一特征值添加扰动得到第二特征值,利用第二特征值和第一特征向量重构得到第二图邻接矩阵;对第一特征向量添加扰动得到第二特征向量,利用第一特征值和第二特征向量重构得到第三图邻接矩阵。第二图邻接矩阵和第三图邻接矩阵作为对抗样本。这部分对抗样本的生成是对图数据的谱域进行扰动生成对抗样本,对抗样本的构造仍然基于图结构,是对图结构进行的微小扰动。
[0135]
利用训练样本和对抗样本训练图神经网络,得到针对网络交易风险的风险识别模型。训练目标包括最小化所述图神经网络针对训练样本和对抗样本中的样本对象输出的识别结果与该样本对象被标注的标签之间的差异。
[0136]
训练结束后,将上述异构网络图的图邻接矩阵、节点特征矩阵以及待识别节点的信息输入风险识别模型,就能够得到风险识别模型针对待识别节点输出的识别结果,例如风险用户或安全用户。其中节点特征矩阵包含异构网络图中各节点的特征数据,例如节点类型、注册时长、对应用户的相关属性信息等。
[0137]
以上是对本公开所提供方法进行的详细描述,下面对本公开所提供的装置进行详细描述。
[0138]
图5示出根据本公开一个实施例的建立风险识别模型的装置的结构图,如图5所示,该装置500可以包括:矩阵获取单元501、样本生成单元502和模型训练单元503。其中各组成单元的主要功能如下:
[0139]
矩阵获取单元501,被配置为获取利用用户的网络行为数据构建的异构网络图对应的图邻接矩阵,异构网络图包括节点和边,节点包括行为主体和行为对象,边依据行为主体和行为对象之间的行为关系确定。
[0140]
样本生成单元502,被配置为利用图邻接矩阵生成训练样本,以及对图邻接矩阵的特征值和/或特征向量进行扰动生成对抗样本。
[0141]
模型训练单元503,被配置为利用训练样本和对抗样本训练图神经网络,得到风险识别模型;其中训练目标包括:最小化图神经网络针对训练样本和对抗样本中的样本对象输出的识别结果与该样本对象被标注的标签之间的差异,样本对象包括节点或边。
[0142]
作为其中一种可实现的方式,上述样本生成单元502在利用图邻接矩阵生成训练样本时,可以具体执行:
[0143]
对图邻接矩阵进行特征分解,得到第一特征值和第一特征向量;
[0144]
利用第一特征值和第一特征向量进行重构,得到第一图邻接矩阵;
[0145]
将第一图邻接矩阵作为训练样本。
[0146]
作为其中一种可实现的方式,上述样本生成单元502在对图邻接矩阵的特征值和/或特征向量进行扰动生成对抗样本时,可以具体执行:
[0147]
对图邻接矩阵进行特征分解,得到第一特征值和第一特征向量;
[0148]
对第一特征值添加扰动得到第二特征值,利用第二特征值和第一特征向量重构得
到第二图邻接矩阵;
[0149]
对第一特征向量添加扰动得到第二特征向量,利用第一特征值和第二特征向量重构得到第三图邻接矩阵;
[0150]
将第二图邻接矩阵和/或第三图邻接矩阵作为对抗样本。
[0151]
作为其中一种优选的实施方式,上述样本生成单元502可以确定训练样本输入图神经网络得到的第一训练损失,利用第一训练损失对第一特征值的梯度生成特征值扰动,对第一特征值添加特征值扰动得到第二特征值。
[0152]
例如,可以利用生成特征值扰动,其中,g1为第一训练损失对第一特征值的梯度,ε1为预设的超参数,|| ||2为求取二次范数。
[0153]
作为另一种优选的实施方式,上述样本生成单元502可以确定训练样本输入图神经网络得到的第一训练损失,利用第一训练损失对第一特征向量的梯度生成特征向量扰动,对第一特征向量添加特征向量扰动得到第二特征向量。
[0154]
例如,可以利用生成特征向量扰动,其中,g2为第一训练损失对第一特征向量的梯度,ε2为预设的超参数。
[0155]
作为其中一种可实现的方式,上述模型训练单元503在每一轮迭代中确定总训练损失,总训练损失由第一训练损失、第二训练损失和第三训练损失确定,第一训练损失为训练样本输入图神经网络得到的训练损失,第二训练损失为第二图邻接矩阵输入图神经网络得到的训练损失,第三训练损失为第三图邻接矩阵输入图神经网络得到的训练损失;利用总训练损失的值更新图神经网络的模型参数,直至达到预设的训练结束条件。
[0156]
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0157]
本领域技术人员应该可以意识到,在上述一个或多个示例中,本发明所描述的功能可以用硬件、软件、固件或它们的任意组合来实现。当使用软件实现时,可以将这些功能存储在计算机可读介质中或者作为计算机可读介质上的一个或多个指令或代码进行传输。
[0158]
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的技术方案的基础之上,所做的任何修改、等同替换、改进等,均应包括在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1