1东北大学工商管理学院,沈阳,110000 2东北大学软件学院,沈阳,110000
摘要:随着数字货币的迅猛发展,其便捷性、匿名性和海量数据给现有的监管体系带来了极大的风险与挑战。文章以Elliptic比特币数据集为例,研究了多种图神经网络的消息传递机制对于非法交易识别的效果,并将其与传统的机器学习模型进行对比。实验结果表明:门控图神经网络基于GRU的经典空域消息传递模式对异常交易的识别效果最好,其准确率为0.9604,召回率为0.6270,F1得分为0.7587,对规范交易行为,维护网络安全,维护数字货币市场稳定具有重要意义。
关键词:人工智能;数字货币;图神经网络;金融科技
1 引言
数字货币的含义较为丰富,种类繁多,但依照其功能可以划分为货币型、证券型和功能型,文章所指的数字货币包含所有相关类型的加密数字资产。当前,数字货币开拓了一种全新的在线支付方式,但大多类型的数字货币却不受到各国中央银行或类似机构的监管与干预,这导致了数字货币风险和监管挑战的出现[1]。
针对以上数字货币存在的风险与挑战,文章重点关注数字货币中存在的异常交易,而机器学习、深度学习在数据挖掘领域的发展和应用也为识别数字货币中的异常交易提供了新的手段:
传统的异常交易识别研究主要通过对一定时期内的交易行为数据进行学习和探索,发掘其行为模式中存在的规律和趋势;但这样的技术往往是基于交易数据本身的数据特征,忽略了交易行为与行为之间的关联。随着数字货币的兴起,其交易中产生的海量数据,为构建交易网络提供了极大的便利;而图神经网络的出现,其能通过节点嵌入的方式,捕获数字货币交易图中节点与节点之间的联系,弥补传统方法存在的不足。
本研究聚焦于数字货币中异常交易的识别任务,探究了传统机器学习和几种不同节点嵌入机制的图神经网络在识别任务上的效果,发现门控图神经网络基于GRU的经典空域消息传递最有效地识别数字货币中存在的异常交易行为。
本文的数据集采用Elliptic公司提供的比特币交易数据集[2],基于交易节点的自身信息,文章首先采用了逻辑回归,多层感知机,决策树和支持向量机等传统的机器学习方法对数据集中的异常交易进行了识别,实验结果表明,决策树和多层感知机在异常交易行为的准确率和召回率上均有较好的表现。
但在实际的数字货币交易过程中,异常交易往往以群体聚集的形式存在,异常交易节点与其邻居节点间往往会存在或显性或隐性的关联,传统的机器学习模型只利用到了节点自身的信息,忽略了节点与节点之间的关联。有相关的研究[3]表明,邻域信息的使用可以提高机器学习的性能。所以,文章利用比特币交易的时间戳和比特币在交易节点间的流向构建了比特币交易图,并且采用了图卷积神经网络(GCN)、图注意力网络(GAT)、GraphSAGE、拓普自适应图神经网络(TAGCN)、门控图神经网络(GGNN)等不同的图神经网络模型捕获交易节点与交易节点之间的关系。
实验结果表明,GGNN基于GRU的经典空域消息传递模式在捕获交易节点之间的关联上具有较好的效果,其准确率为0.9604,召回率为0.6270,F1得分为0.7587,效果最优,能更加有效地识别数字货币交易中存在的异常行为,有利于规范加密货币市场及其内部的交易行为,具有推广应用价值。最后文章还展望了一种将门控图神经网络的全连接层替换为反向传播的决策树模型提高模型效果的方法。
2 基于图神经网络的异常交易识别模型
2.1构建交易网络的图结构
对Elliptic公司的比特币交易数据集构建交易图,其中n个交易节点
,
表示节点
和节点
之间发生的交易, 其中
,
是该交易网络的邻接矩阵,其中
。
2.2门控图神经网络(GGNN)
GGNN[15]是一种基于GRU的经典空域消息传递模型,它使用与RNN的相似原理来实现图形中的信息传输。
(1.) |
式5是节点的初始状态,
是
维向量,当节点的特征
维度小于
时,其余部分用0填充。
(a) |
| (c) |
图1:(a)示例图,颜色和线条表示不同边的类型;(b)GGNN的一个时间步长; (c)递归矩阵。A’表示A型的反向边。
(2.) |
在等式(6)中,是从图1(c)的矩阵
中选出对应节点
的两列,
是
维,
是
维。后面的
是将
时刻所有节点特征拼接形成的
维向量。因此
是
维向量,表示节点和相邻接点间通过图的边相互作用的结果。因为计算时对
取了in和out两列,故这里计算的结果考虑了双向的信息传递(图1(b))。
(3.) |
(4.) |
(5.) |
(6.) |
式(7)-(10)类似GRU的计算过程:
控制更新信息,
控制前一个隐藏状态
的信息。式(9)中
决定产生的新信息包含哪些过去的信息。式(10)中
选择遗忘哪些过去的信息,
选择记住哪些新产生的信息。
是新产生的信息。
是最终更新的节点状态。
所以,对于每一个节点,我们可以获得门控图神经网络层的输出
。
3 实验
3.1数据来源及分析
3.1.1数据来源
2019年区块链分析公司Elliptic发布了Elliptic数据集,该匿名数据集实际上来源于一个从比特币区块链中收集的交易图,其包含了比特币交易中合法类别的实体(交易所、钱包提供商、矿工、合法服务等)与非法实体(诈骗、恶意软件、恐怖组织、勒索软件、庞氏骗局等)的相关数据交易图的一个节点表示一个交易,一个边缘可以看作是一个交易和另一个交易之间的比特币流。每个节点都有166个特征,并被标记为“合法”、“非法”或“未知”[4]。
3.1.2数据分析
该数据集由203769个节点和234355条边组成,约2%(4545)的节点被标记为非法,约21%(42019)被标记为合法,其余的交易没有贴上合法与非法的标签。
图2:不同时间戳的交易量统计图
图2展示了49个时间戳上非法、合法和未知交易的数量分布,时间戳从1到49,平均间隔约两周,每个时间步都包含一个单独的交易,这些交易在三个小时内出现在区块链上。
数据集中,每一个交易节点拥有166个特征。其中,前94个特征表示有关交易的本地信息,后72个特征是从中心节点向后/向前一个节点所获取的交易信息、
文章基于时间戳划分交易,并采用Gephi对其进行可视化:
图3:时间戳20的数据可视化
由交易网络的可视化可知,异常交易节点往往以聚集的形式出现,说明异常交易节点与其邻居节点间往往会存在或显性或隐性的关联;同时,未标记节点占比较大,将未标记节点纳入建模会提供更多信息,从而提高识别的效果,所以文章考虑将图神经网络模型引入模型的构建。
3.2数据处理
在数据处理过程中,本文使用了Python的Numpy和Pandas库。首先,仅保留节点本身的特征(前94个特征);为了构建数据的网络结构,我们使用DGL Dataset处理数据,并根据时间步长按7:3划分数据集,以获得训练集(前34个时间步)和测试集(后15个时间步)。
3.3模型训练及优化
3.3.1传统机器学习模型
我们基于实验4.2中处理的数据,使用Python中的scikit learn库构建决策树、逻辑回归、支持向量机模型,通过网格搜索进行超参数调整,并确定以下的参数组合:
表1:机器学习模型最优参数
机器学习模型 | 参数组合 |
决策树 | max_depth=8, criterion='entropy', random_state=30, splitter='random', class_weight={0:3,1:7}, min_samples_leaf=1, min_samples_split=3 |
逻辑回归 | penalty="l2", solver="liblinear", max_iter=1000, class_weight = {0:0.3, 1:0.7}, C=12 |
支持向量机 | kernel='rbf', cache_size=5000, gamma=0.017, class_weight={0:9, 1:1}, probability=True |
我们使用当前的最佳参数组合来构建逻辑回归模型,并测试训练后的模型,以获得表3中模型对于非法交易节点的准确率、召回率和F1分数。
3.3.2图神经网络与多层感知机
使用4.2中处理的实验数据,我们通过Pytorch构建了多层感知机,构建了GCN,GAT,GraphSAGE,TAGNN,GGNN。
表2:图神经网络和多层感知机结构及参数
机器学习模型 | 模型结构及参数 |
多层感知机 | 全连接隐藏层数:1;损失函数:二元交叉熵损失函数;优化器:Adam;epoch:500;学习率:0.001;学习率调整:ReduceLROnPlateau函数;隐藏层神经元数:50 |
图卷积神经网络(GCN) | GCN层数:1;全连接隐藏层数:1;损失函数:二元交叉熵损失函数;优化器:Adam;epoch:500;学习率:0.001;学习率调整:ReduceLROnPlateau函数;GCN节点嵌入大小:110;隐藏层神经元数:50 |
图注意力网络(GAT) | GAT层数:1;全连接隐藏层数:2;损失函数:二元交叉熵损失函数;优化器:Adam;epoch:500;学习率:0.001;学习率调整:ReduceLROnPlateau函数;GAT节点嵌入大小:110;多头注意力机制参数:3;隐藏层神经元数:160(第一层),50(第二层) |
GraphSAGE | GraphSAGE层数:1;全连接隐藏层数:1;损失函数:二元交叉熵损失函数;优化器:Adam;epoch:500;学习率:0.001;学习率调整:ReduceLROnPlateau函数;GraphSAGE节点嵌入大小:110;聚合器类型:MEAN;隐藏层神经元数:50 |
拓扑自适应图神经网络[14](TAGNN) | TAGNN层数:1;全连接隐藏层数:1;损失函数:二元交叉熵损失函数;优化器:Adam;epoch:500;学习率:0.001;学习率调整:ReduceLROnPlateau函数;TAGNN节点嵌入大小:110;卷积核数量:2;隐藏层神经元数:50 |
门控图神经网络(GGNN) | GGNN层数:1;全连接隐藏层数:1;损失函数:二元交叉熵损失函数;优化器:Adam;epoch:500;学习率:0.001;学习率调整:ReduceLROnPlateau函数;GGNN节点嵌入大小:110;递归次数:1;图结构的边类型数:2;隐藏层神经元数:50 |
我们将训练后的模型应用于测试集数据,以获得多层感知机、GCN、GAT、GraphSAGE、TAGNN、GGNN非法节点的准确率、召回率和F1分数,如表3所示。
4 实验结果及分析
机器学习和图神经网络模型在测试集上的如表3所示:
表3:图神经网络的实验结果
图神经网络模型 | 准确率 | 召回率 | F1得分 |
逻辑回归 | 0.5048 | 0.6842 | 0.5809 |
决策树 | 0.8858 | 0.6233 | 0.7317 |
支持向量机(rbf) | 0.5265 | 0.6519 | 0.5825 |
多层感知机 | 0.6648 | 0.6667 | 0.6657 |
GCN | 0.6231 | 0.5725 | 0.5967 |
GraphSAGE | 0.7952 | 0.6491 | 0.7148 |
GAT | 0.6783 | 0.5900 | 0.6311 |
TAGNN | 0.7580 | 0.6593 | 0.7052 |
GGNN | 0.9604 | 0.6270 | 0.7587 |
从表3的实验结果可以看出,GraphSAGE、TAGNN和GGNN对非法节点具有较好的识别效果,其中GGNN的识别效果最好,F1得分高达0.7587。
实验结果表明,利用某些图神经网络的信息聚合方法(如GraphSAGE、TAGCN、GGNN等)可以有效地聚合交易节点的邻居信息,将邻居节点的交易信息纳入模型可以有效地提高模型对非法节点的识别效果。
文章构造的图神经网络模型中使用的分类器仍然是多层感知机,可以视为广义logistic回归,相较于单一的多层感知机,采用图神经网络聚合邻居节点的信息能够有效提高模型对于非法节点的识别效果。
为了进一步分析模型对非法交易的识别效果,我们在测试集中的每个时间步可视化了图神经网络模型对于非法节点的F1得分,结果如下图所示:
在35到43个时间步长之间,我们发现GGNN对非法交易节点的总体识别效果最好,明显优于其他模型。对于第43个时间步开始,所有模型的识别效果均下降,主要原因在于在实际的比特币市场中,比特币交易的黑市在时间步长43时关闭。但在另一方面,在第43个时间步长后,GGNN,GraphSAGE,尤其是GGNN还是能够识别出一些非法节点,这也体现了有监督学习模型的局限性,因为新事件不会被模型学习,所以新事件的发生将降低模型对非法交易的识别效果。
5 结论与展望
文章将多种图神经网络应用于比特币异常交易识别的任务中,由识别效果可知,应用GraphSAGE、拓普自适应图神经网络以及门控图神经网络的节点嵌入机制均有效提高了多层感知机对于非法交易节点的识别效果。其中门控图神经网络对捕获交易节点邻居节点的信息有着最好的效果,其准确率为0.9604,召回率为0.6270,F1得分为0.7587。
在文章的实验中,决策树的树类模型对异常交易行为的识别效果也明显优于逻辑回归,而图神经网络的分类器使用sigmoid函数对经过图神经层后的数据进行分类,其输出层本质上也是逻辑回归。所以在未来的工作中文章将考虑采用树类的集成模型替换神经网络的分类器,目前一个可行的思路是构建一个由门控图神经网络和通过反向传播进行训练的决策树组成的融合模型。门控图神经网络用于提取和聚合事务节点的相邻节点特征,树模型负责对图神经网络提取的特征进行分类,有望解决了图神经网络和传统树集成模型不能共享学习参数和一起训练的问题,实现了端到端学习,提高模型对数字货币非法交易的识别效果。
参考文献:
[1]张焞.加密数字货币风险及规制[J].证券市场导报,2021(02):72-79.
[2]汤俊,王妍.基于行为模式识别的可疑金融交易监控体系的构建与完善[J].西南金融,2015(02):15-18.
[3]Elliptic. (2019) Bitcoin Transaction Graph. https://www.kaggle.com/ellipticco/elliptic-data-set.
[4]沈蒙,桑安琪,祝烈煌,孙润庚,张璨.基于动机分析的区块链数字货币异常交易行为识别方法[J].计算机学报,2021,44(01):193-208.