CN117408698A - 一种基于Transformer的对比多视图下庞氏骗局检测方法 - Google Patents

一种基于Transformer的对比多视图下庞氏骗局检测方法 Download PDF

Info

Publication number
CN117408698A
CN117408698A CN202311361188.8A CN202311361188A CN117408698A CN 117408698 A CN117408698 A CN 117408698A CN 202311361188 A CN202311361188 A CN 202311361188A CN 117408698 A CN117408698 A CN 117408698A
Authority
CN
China
Prior art keywords
view
model
features
poincare
encoder
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311361188.8A
Other languages
English (en)
Inventor
王鑫
王中泽
覃琴
唐益东
冯意
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guilin University of Electronic Technology
Original Assignee
Guilin University of Electronic Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guilin University of Electronic Technology filed Critical Guilin University of Electronic Technology
Priority to CN202311361188.8A priority Critical patent/CN117408698A/zh
Publication of CN117408698A publication Critical patent/CN117408698A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • G06Q20/4016Transaction verification involving fraud or risk level assessment in transaction processing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • G06N3/0455Auto-encoder networks; Encoder-decoder networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/0499Feedforward networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/0895Weakly supervised learning, e.g. semi-supervised or self-supervised learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/77Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
    • G06V10/80Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level
    • G06V10/806Fusion, i.e. combining data from various sources at the sensor level, preprocessing level, feature extraction level or classification level of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Health & Medical Sciences (AREA)
  • Software Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Biomedical Technology (AREA)
  • Computational Linguistics (AREA)
  • Multimedia (AREA)
  • Mathematical Physics (AREA)
  • General Engineering & Computer Science (AREA)
  • Molecular Biology (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Biophysics (AREA)
  • Business, Economics & Management (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Medical Informatics (AREA)
  • Accounting & Taxation (AREA)
  • Databases & Information Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Complex Calculations (AREA)

Abstract

本发明公开了一种基于Transformer的对比多视图下庞氏骗局检测方法,包括:1)数据预处理;2)特征提取;3)对比学习;4)模型评估。这种方法能够半监督训练,能准确识别庞氏骗局,同时检测庞氏骗局合约具有实时性。

Description

一种基于Transformer的对比多视图下庞氏骗局检测方法
技术领域
本发明涉及计算机-视图检测技术,具体是一种基于Transformer的对比多视图下庞氏骗局检测方法。
背景技术
智能合约是一段可以实现特定功能的代码,它是匿名的参与者进行价值转移的协议,当满足协议预设条件的时候,就会自动触发执行,智能合约一旦执行便无法更改永不失效,既无法人工终止,也不依赖于任何第三方机构。这使得很多投资者认为:一个持续运行的且能够不断获得收益的智能合约项目,不存在类似庞氏骗局的风险。实则不然,许多庞氏骗局都是在智能合约的掩护下进行伪装,让投资者损失了数百万美元。因此,检测以太坊上的庞氏骗局是一项紧迫的任务。
在以太坊中拥有的账户类型包括对外拥有的账户和合同账户。骗子的行为通常体现在外部拥有的账户和相关交易。因此,Bartoletti等人根据历史交易信息提取出相应的特征来检测庞氏骗局,但是该类方法不能在发布智能合约的早期被识别,且需要大量相关账户交易特征信息进行模型的训练。智能合约中骗子常常利用智能合约的自动执行功能,发布令人信服的项目计划,让投资认为他们可以及时获得奖金,获得投资者的信任。因此,Bian等人通过分析智能合约的操作码、字节码和二进制接口(ABI)作为基本特性来检测庞氏骗局。该方法虽然可以在交易之前防止类似庞氏骗局的广泛使用。然而,在智能合约中的庞氏骗局检测仍然存在以下问题:
(1)信息丢失:如果较早的输入源代码很长的合约会导致信息在传输过程中丢失,使模型不能完全理解语义的上下文信息,因此我们需要一个能捕捉视图特征的长距离依赖关系的模型;
(2)源代码不足:在Etherscan数据集上大约只有25%的智能合约有操作码、字节码和ABI;
(3)庞氏骗局的智能合约数据获取困难:在Etherscan数据集上庞氏骗局智能合约和非庞氏骗局的智能合约比例大约在1:3,庞氏骗局标注困难,而传统的深度学习模型需要大规模的数据,才能使模型准确的识别出有问题的智能合约。
发明内容
本发明的目的是针对现有技术的不足,而提供一种基于Transformer的对比多视图下庞氏骗局检测方法。这种方法能够半监督训练,能准确识别庞氏骗局,同时检测庞氏骗局合约具有实时性。
实现本发明目的的技术方案是:
一种基于Transformer的对比多视图下庞氏骗局检测方法,所述方法为:首先采用Vision Transformer即ViT、Transformer、Bidirectional Encoder Representation fromTransformer即BERT模型学习合约代码视图特征和账户交易视图特征的特征嵌入,获得视图特征的全局结构和语义特征,捕获视图特征Token之间的远程依赖关系,然后采用对比学习的方法,将视图特征进行映射,如果视图特征都在相同的类别非庞氏骗局或者庞氏骗局,特征嵌入分别都映射附件相邻的点即欧几里德距离测量,而不同类别的视图特征映射到较远的点,具体包括如下步骤:
1)数据预处理:给定一组多视图的智能合约特征,通过在嵌入空间中将同一类别下庞氏骗局或者非庞氏骗局的视图特征聚集在一起,同时将不同类别的视图特征远离,学习不同视图特征的深度表示,每个视图的编码可以被连接以形成相同类别的完整特征表示,用I0、T0和J0表示非庞氏骗局的智能合约视图,I1、T1和J1表示庞氏骗局的智能合约视图,建立一个有效的庞氏骗局检测模型,采用Farrugia等人提供的智能合约数据集、该数据集包含庞氏骗局合约2179份,非庞氏骗局合约7662份,其中,账户交易视图特征中庞氏骗局的账户交易特征包含以下三个特点:
第一:账户活跃期长、交易量大、合同余额低,因为庞氏骗局总是试图保持高的回报率的形象;
第二:极少部分的账户回报数大于投资数,因为合约创始者会对投资者的交易收取高额手续费;
第三:庞氏骗局账户的第一笔交易时间和最后一笔交易时间间隔短,因此在该数据集中每个账户共包含42个特征,其中大部分特征跟Chen和Hirshman等人提出的类似,如known rate,balance,N_investment,N_payment,difference index,paid rate,and N_maxpay等特征,完成上述数据预处理,包括:
1-1)字节码视图:从以太坊上直接获取公开的智能合约源代码,同时采用编译器编译获取字节码,智能合约的字节码视图是由一串十六进制数表示,按照字节码的排序将字节码转换成二进制数字、并将二进制数字转换成像素,生成224×224的灰度图像,这样能减少模型提取字节码视图特征的时间;
1-2)操作码视图:根据从以太坊上获得的智能合约的操作码,为每一个不同的操作码建立一个英文字典序列,字典中的英文序列与操作码一一对应,每个单词序列用[SOS]和[EOS]的Token括起来;
2)特征提取:在TranMulti-View Net中,利用Vision Transformer即ViT、Transformer、Bidirectional Encoder Representation from Transformer即BERT模型将预处理后的操作码视图、账户交易视图特征和字节码视图分别传入操作码编码器、账户交易特征编码器和字节码编码器进行编码,并进行多视图的特征映射,其中:
操作码编码器:将操作码视图传入操作码编码器中,操作码编码器采用BERT模型,BERT模型中采用的是具有8个关注头以及12层的宽度为512的Transformer模型,在Transformer模型中账户交易视图特征都会经过归一化处理,再建立Token之间具有长距离依赖关系的特征图,并线性投射到多视图的嵌入空间,在操作码编码器的Transformer中,叠加采用Token Embeddings和Position Embeddings,Token Embeddings采用词嵌入模型,Token Embeddings是将经过字典处理后的单词序列进行词嵌入学习,每个序列中的词即Tokens将转换为固定维度的词向量,Positional Embeddings表示句子中单词的位置信息,从而学习操作码视图的文本结构信息,另外,在操作码编码器中对操作码视图增加Mask自注意力机制,从而增强模型的建模能力,并辅助BERT提取视图中的关键特征;
字节码编码器:将字节码视图传入字节码编码器进行线性映射,在字节码编码器中采用ViT模型,在ViT模型中采用和BERT模型相同的Transformer参数,在Transformer模型接受的1D序列的嵌入输入,处理2维的字节码图像采用Patch Embedding将图像x∈RH×W×C扁平为一系列其中(H,W)表示原始图像的分辨率,(P,P)表示每个图像Token的分辨率,N=HW/P2为ViT中Transformer输入的有效序列长度,另外ViT中也包含Position Embedding,Position Embedding给Patch加上相对位置,这样减少了Patch特征提取中位置信息的丢失;
账户交易特征编码器:对账户交易特征信息编码时,采用Transformer模型,该模型的Transformer参数和ViT中的Transformer参数一样,另外没有在账户编码器中加入Position Embedding,因为输入的账户交易特征只有45个维度加入Position Embedding是没有意义的;
Transformer:若智能合约中存在源码偏长,则可能导致在模型特征提取过程中特征信息丢失的情况,使模型不能完全理解语义的上下文信息,因此,在TranMulti-View Net采用Transformer,Transformer以并行的方式处理输入的数据,并且有效地解决长时依赖问题,显著减少训练和预测时间,Transformer已经在多个领域展现了在数据处理方面的显著优势,如除雨、目标识别等;Transformer模型由Position Embedding模块、多头注意力机制和前馈网络组成,在多头主力机制中自注意力机制占据主要作用,自注意力机制通过K、Q、V向量来学习特征信息,其中K和V向量记录已经学到的信息,并通过查询Q来得到注意力权重,自注意力机制输出向量的计算方式如公式(1)所示:
其中利用K、Q进行视图特征之间的相似度计算,并获得相似度权重矩阵,V表示对相似度权重矩阵进行缩放调节,k表示维度,控制内积不至于太大,softmax函数是对相似度权重进行归一化,归一化的权重和相应的V进行加权求和得到注意力输出,自注意力机制可以“动态”地生成不同连接的权重,从而可以处理视图特征的长距离依赖关系,多头注意力机制是将k个自注意力机制进行组合,每个自注意力模块都关注相同的K、Q、V,每个模块对应最终输出序列的子空间,并且输出序列互相独立,多头注意力机制模块能同时关注表征子空间的不同位置的不同信息,多头注意力机制计算方式如公式(2)、公式(3)所示:
Headi=attention(QWi Q,KWi K,VWi V) (2),
MutiHead(Q,K,V)=concat(head1,…,headh)W (3),
其中k表示有k组K、Q、V向量,k表示K、Q、V的权重参数,每组k都不相同,concat表示将自注意力机制的结果连接起来,连接起来的权重乘上一个权重向量Wo可以得到多头注意力机制的输出结果;
前馈网络:Transformer中的前馈网络是由1个Multilayer Perceptron即MLP层、GRU层和1个Relu激活函数组成,其中GRU可以使模型更容易学习到视图特征的长依赖;
3)对比学习:定义对比学习损失函数,对比学习损失函数可以衡量同一类别的多视图特征之间的相似性和不同类别的多视图特征之间的差异性,采用对比学习损失函数对模型进行训练,使模型能够从多视图特征中学习到判别庞氏骗局的特征,将同一类别的视图分布与相同的特征空间合并到模型最后一层,然后接入全连接层,再利用余弦相似度处理后的视图特征进行预测,最后得到庞氏骗局的分类结果,具体地:
针对多视图特征,将同一种类别下的视图特征的特征表达在同一空间,这样在缺少其中任意一种视图的情况下,模型也能很好地进行庞氏骗局的预测,模型加入对比学习的方式学习多视图特征即账户交易视图特征、操作码视图特征和字节码视图特征,在确保拥有一种或者几种视图的情况下,都能预测同一类别下的庞氏骗局,确保表达的语义信息的一致性,利用对比学习的技术,可以缩小表达的语义信息的差异,通过加入对比学习训练模型,从而达到使多视图特征分布在同一特征空间,用I表示字节码视图,T表示操作码视图,J表示账户交易视图特征,分别提取视图特征如下所示:
If=ViTEncoder(I) (4),
Tf=BERTEncoder(T) (5),
Jf=TransformerEncoder(J) (6),
Ie=WV 2σ(WV 1If) (7),
Te=WB 2σ(WB 1Tf) (8),
Je=WT 2σ(WT 1Jf) (9),
其中If、Tf和Jf分别是字节码视图、操作码视图和账户交易视图特征经过ViT、BERT和Transformer的输出,W1和W2分别为可训练参数,Ie、Te和Je为视图的特征表达,按照如下对比损失训练模型:
其中sim(u,v)=uTv/||u|| ||v||,B代表训练批次样本数目,τ取值为0.5,对模型进行半监督训练的时,不仅采用对比学习中的损失函数训练,还将If、Tf和Jf进行特征融合,将融合后的特征输入进一个全连接,训练分类损失函数,在庞氏骗局的数据中,非庞氏骗局合约远大于庞氏骗局合约数量,导致训练时样本分布不平衡,使目标检测损失值容易被非庞氏骗局合约样本损失值影响,采用Focal Loss,减少了非庞氏骗局合约的影响,FocalLoss通过在交叉熵损失函数中设定权重,从而控制总的损失函数,计算方式如公式(12)所示:
其中α∈[0,1]表示当庞氏骗局合约较少,α的数值越大,庞氏骗局合约贡献的损失值会越大,γ表示调节因子降低非庞氏骗局的权重,集中训练庞氏骗局样本,p∈[0,1]表示预测样本的类别概率,y表示样本为庞氏骗局和非庞氏骗局的样本标签,若y=1,则表示庞氏骗局样本;若y=0,则表示非庞氏骗局样本,最终,本模型的损失函数如公式(13)所示:
loss=η*lossI,T+γ*lossI,J+λFocal_loss(p,y) (13),
在公式(13)中采用半监督训练时,W1和W2分别等于0.1时,则Ie等于1;
4)模型评估:模型评估指标选取为了方便本技术方案的模型与其它模型对庞氏骗局进行检测识别的性能比较,查准率Precision、查全率Recall和F-score 3个指标对模型的性能进行度量,3个指标的具体定义如下:
其中TP表示实际为正样本、且被判别为正样本的样本数量,FP表示实际为负样本,但被判别为正样本的样本数量,FN表示实际为正样本,但被判别为负样本的样本数量。
本技术方案采用基于Transformer的多视图下对比学习方法,首先采用VisionTransformer(ViT)、Transformer、Bidirectional Encoder Representation fromTransformer(BERT)模型学习合约代码视图特征和账户交易视图特征的特征嵌入,获得视图特征的全局结构和语义特征,捕获视图特征Token之间的远程依赖关系,然后采用对比学习的方法,将视图特征进行映射,如果视图特征都在相同的类别(非庞氏骗局或者庞氏骗局),特征嵌入分别都映射附件相邻的点(欧几里德距离测量),而不同类别的视图特征映射到较远的点。
本技术方案的优点是:
1)通过ViT、BERT和Transformer模型相结合提供一种新的模型TranMulti-ViewNet来检测庞氏骗局:在ViT模型将合约代码视图特征中的字节码进行编码,在BERT模型中,将操作码视图特征进行编码,Transformer将账户交易视图特征进行编码,ViT模型、BERT模型和Transformer模型编码的多视图特征可以捕获视图特征Token标记之间的长期依赖关系,加深了对庞氏骗局语义信息的理解;
2)提供一种半监督学习进行模型的训练方式:该方式主要采用了对比学习的方式,将同一类别的多视图特征在投影在相近的特征值空间,利用对比学习能使模型提取到更好的多种视图融合特征,加强模型对语义信息的理解;
3)模型可以检测出合约代码隐藏的庞氏骗局:本技术方案的模型可以从合约代码视图特征和账户交易视图特征提取特征进行预测,即使合约代码视图特征和账户交易视图特征其中有一个是被有意隐藏的,也能检测出智能合约中的庞氏骗局。
这种方法能够半监督训练,能准确识别庞氏骗局,同时检测庞氏骗局合约具有实时性。
附图说明
图1为实施例中的多视图特征表示学习示意图;
图2为实施例中的基于TranMulti-View Net的庞氏骗局检测方法的示意图;
图3为实施例中不同视图下模型检测庞氏骗局合约的时间示意图;
图4为实施例中不同视图下的庞氏骗局的智能合约和非庞氏骗局的智能合约特征的分布示意图。
具体实施方式
下面结合附图和实施例对本发明的内容作进一步的阐述,但不是对本发明的限定。
实施例:
参照图1,一种基于Transformer的对比多视图下庞氏骗局检测方法,所述方法为:首先采用Vision Transformer即ViT、Transformer、Bidirectional EncoderRepresentation from Transformer即BERT模型学习合约代码视图特征和账户交易视图特征的特征嵌入,获得视图特征的全局结构和语义特征,捕获视图特征Token之间的远程依赖关系,然后采用对比学习的方法,将视图特征进行映射,如果视图特征都在相同的类别非庞氏骗局或者庞氏骗局,特征嵌入分别都映射附件相邻的点即欧几里德距离测量,而不同类别的视图特征映射到较远的点,如图2所示,具体包括如下步骤:
1)数据预处理:给定一组多视图的智能合约特征,通过在嵌入空间中将同一类别下庞氏骗局或者非庞氏骗局的视图特征聚集在一起,同时将不同类别的视图特征远离,学习不同视图特征的深度表示,每个视图的编码可以被连接以形成相同类别的完整特征表示,用I0、T0和J0表示非庞氏骗局的智能合约视图,I1、T1和J1表示庞氏骗局的智能合约视图,建立一个有效的庞氏骗局检测模型,采用Farrugia等人提供的智能合约数据集、该数据集包含庞氏骗局合约2179份,非庞氏骗局合约7662份,其中,账户交易视图特征中庞氏骗局的账户交易特征包含以下三个特点:
第一:账户活跃期长、交易量大、合同余额低,因为庞氏骗局总是试图保持高的回报率的形象;
第二:极少部分的账户回报数大于投资数,因为合约创始者会对投资者的交易收取高额手续费;
第三:庞氏骗局账户的第一笔交易时间和最后一笔交易时间间隔短,因此在该数据集中每个账户共包含42个特征,其中大部分特征跟Chen和Hirshman等人提出的类似,如known rate,balance,N_investment,N_payment,difference index,paid rate,and N_maxpay等特征,完成上述数据预处理,包括:
1-1)字节码视图:从以太坊上直接获取公开的智能合约源代码,同时采用编译器编译获取字节码,智能合约的字节码视图是由一串十六进制数表示,按照字节码的排序将字节码转换成二进制数字、并将二进制数字转换成像素,生成224×224的灰度图像,这样能减少模型提取字节码视图特征的时间;
1-2)操作码视图:根据从以太坊上获得的智能合约的操作码,为每一个不同的操作码建立一个英文字典序列,字典中的英文序列与操作码一一对应,每个单词序列用[SOS]和[EOS]的Token括起来;
2)特征提取:在TranMulti-View Net中,利用Vision Transformer即ViT、Transformer、Bidirectional Encoder Representation from Transformer即BERT模型将预处理后的操作码视图、账户交易视图特征和字节码视图分别传入操作码编码器、账户交易特征编码器和字节码编码器进行编码,并进行多视图的特征映射,其中:
操作码编码器:将操作码视图传入操作码编码器中,操作码编码器采用BERT模型,BERT模型中采用的是具有8个关注头以及12层的宽度为512的Transformer模型,在Transformer模型中账户交易视图特征都会经过归一化处理,再建立Token之间具有长距离依赖关系的特征图,并线性投射到多视图的嵌入空间,在操作码编码器的Transformer中,叠加采用Token Embeddings和Position Embeddings,Token Embeddings采用词嵌入模型,Token Embeddings是将经过字典处理后的单词序列进行词嵌入学习,每个序列中的词即Tokens将转换为固定维度的词向量,Positional Embeddings表示句子中单词的位置信息,从而学习操作码视图的文本结构信息,另外,在操作码编码器中对操作码视图增加Mask自注意力机制,从而增强模型的建模能力,并辅助BERT提取视图中的关键特征;
字节码编码器:将字节码视图传入字节码编码器进行线性映射,在字节码编码器中采用ViT模型,在ViT模型中采用和BERT模型相同的Transformer参数,在Transformer模型接受的1D序列的嵌入输入,处理2维的字节码图像采用Patch Embedding将图像x∈RH×W×C扁平为一系列其中(H,W)表示原始图像的分辨率,(P,P)表示每个图像Token的分辨率,N=HW/P2为ViT中Transformer输入的有效序列长度,另外ViT中也包含Position Embedding,Position Embedding给Patch加上相对位置,这样减少了Patch特征提取中位置信息的丢失;
账户交易特征编码器:对账户交易特征信息编码时,采用Transformer模型,该模型的Transformer参数和ViT中的Transformer参数一样,另外没有在账户编码器中加入Position Embedding,因为输入的账户交易特征只有45个维度加入Position Embedding是没有意义的;
Transformer:若智能合约中存在源码偏长,则可能导致在模型特征提取过程中特征信息丢失的情况,使模型不能完全理解语义的上下文信息,因此,在TranMulti-View Net采用Transformer,Transformer以并行的方式处理输入的数据,并且有效地解决长时依赖问题,显著减少训练和预测时间,Transformer已经在多个领域展现了在数据处理方面的显著优势,如除雨、目标识别等;Transformer模型由Position Embedding模块、多头注意力机制和前馈网络组成,在多头主力机制中自注意力机制占据主要作用,自注意力机制通过K、Q、V向量来学习特征信息,其中K和V向量记录已经学到的信息,并通过查询Q来得到注意力权重,自注意力机制输出向量的计算方式如公式(1)所示:
其中利用K、Q进行视图特征之间的相似度计算,并获得相似度权重矩阵,V表示对相似度权重矩阵进行缩放调节,k表示维度,控制内积不至于太大,softmax函数是对相似度权重进行归一化,归一化的权重和相应的V进行加权求和得到注意力输出,自注意力机制可以“动态”地生成不同连接的权重,从而可以处理视图特征的长距离依赖关系,多头注意力机制是将k个自注意力机制进行组合,每个自注意力模块都关注相同的K、Q、V,每个模块对应最终输出序列的子空间,并且输出序列互相独立,多头注意力机制模块能同时关注表征子空间的不同位置的不同信息,多头注意力机制计算方式如公式(2)、公式(3)所示:
Headi=attention(QWi Q,KWi K,VWi V) (2),
MutiHead(Q,K,V)=concat(head1,…,headh)W (3),
其中k表示有k组K、Q、V向量,k表示K、Q、V的权重参数,每组k都不相同,concat表示将自注意力机制的结果连接起来,连接起来的权重乘上一个权重向量Wo可以得到多头注意力机制的输出结果;
前馈网络:Transformer中的前馈网络是由1个Multilayer Perceptron即MLP层、GRU层和1个Relu激活函数组成,其中GRU可以使模型更容易学习到视图特征的长依赖;
3)对比学习:定义对比学习损失函数,对比学习损失函数可以衡量同一类别的多视图特征之间的相似性和不同类别的多视图特征之间的差异性,采用对比学习损失函数对模型进行训练,使模型能够从多视图特征中学习到判别庞氏骗局的特征,将同一类别的视图分布与相同的特征空间合并到模型最后一层,然后接入全连接层,再利用余弦相似度处理后的视图特征进行预测,最后得到庞氏骗局的分类结果,具体地:
针对多视图特征,将同一种类别下的视图特征的特征表达在同一空间,这样在缺少其中任意一种视图的情况下,模型也能很好地进行庞氏骗局的预测,模型加入对比学习的方式学习多视图特征即账户交易视图特征、操作码视图特征和字节码视图特征,在确保拥有一种或者几种视图的情况下,都能预测同一类别下的庞氏骗局,确保表达的语义信息的一致性,利用对比学习的技术,可以缩小表达的语义信息的差异,通过加入对比学习训练模型,从而达到使多视图特征分布在同一特征空间,用I表示字节码视图,T表示操作码视图,J表示账户交易视图特征,分别提取视图特征如下所示:
If=ViTEncoder(I) (4),
Tf=BERTEncoder(T) (5),
Jf=TransformerEncoder(J) (6),
Ie=WV 2σ(WV 1If) (7),
Te=WB 2σ(WB 1Tf) (8),
Je=WT 2σ(WT 1Jf) (9),
其中If、Tf和Jf分别是字节码视图、操作码视图和账户交易视图特征经过ViT、BERT和Transformer的输出,W1和W2分别为可训练参数,Ie、Te和Je为视图的特征表达,按照如下对比损失训练模型:
其中sim(u,v)=uTv/||u|| ||v||,B代表训练批次样本数目,τ取值为0.5,对模型进行半监督训练的时,不仅采用对比学习中的损失函数训练,还将If、Tf和Jf进行特征融合,将融合后的特征输入进一个全连接,训练分类损失函数,在庞氏骗局的数据中,非庞氏骗局合约远大于庞氏骗局合约数量,导致训练时样本分布不平衡,使目标检测损失值容易被非庞氏骗局合约样本损失值影响,采用Focal Loss,减少了非庞氏骗局合约的影响,FocalLoss通过在交叉熵损失函数中设定权重,从而控制总的损失函数,计算方式如公式(12)所示:
其中α∈[0,1]表示当庞氏骗局合约较少,α的数值越大,庞氏骗局合约贡献的损失值会越大,γ表示调节因子降低非庞氏骗局的权重,集中训练庞氏骗局样本,p∈[0,1]表示预测样本的类别概率,y表示样本为庞氏骗局和非庞氏骗局的样本标签,若y=1,则表示庞氏骗局样本;若y=0,则表示非庞氏骗局样本,最终,本模型的损失函数如公式(13)所示:
loss=η*lossI,T+γ*lossI,J+λFocal_loss(p,y) (13),
在公式(13)中采用半监督训练时,W1和W2分别等于0.1时,则Ie等于1;
4)模型评估:模型评估指标选取为了方便本技术方案的模型与其它模型对庞氏骗局进行检测识别的性能比较,查准率Precision、查全率Recall和F-score 3个指标对模型的性能进行度量,3个指标的具体定义如下:
其中TP表示实际为正样本、且被判别为正样本的样本数量,FP表示实际为负样本,但被判别为正样本的样本数量,FN表示实际为正样本,但被判别为负样本的样本数量。
实验结果表明,本例方法采用TranMulti-View Net模型获得了很好的预测庞氏骗局检测结果,Precision得分为98%,为了证明TranMulti-View Net添加的模块的有效性,通过表1分析了TranMulti-View Net中不同模块对它的影响,从表1第1行、第2行和第3行可以看出,本例方法在TranMulti-View Net模型的操作码编码器、账户交易特征编码器和字节码编码器中加入Transformer模块,使模型达到了很好的识别效果,说明Transformer能使模型捕获更多Token之间的远程依赖关系,从表1的第4行可以看出,本例方法将账户交易视图特征、操作码视图特征和字节码视图特征进行特征融合,TranMulti-View Net模型的Precision、Recall和F-score分别达到了95%,94%和94%,相对于单视图检测有着较好的提升效果,说明提供的视图越多,TranMulti-View Net模型的识别效果越好,在表1的第5行中,由于庞氏骗局合约数量不足,导致分类误差较大,从而影响本例方法模型的检测效果,因此,本例方法在TranMulti-View Net模型中加入了Focal Loss,然后,本例方法发现相对于CrossEntropy Loss,Recall和F-score的值分别提高了1%,说明Focal Loss对数据不平衡问题有一定的改善作用,但是Foca Loss提升效果不明显,是因为本例方法加入了多视图融合特征的方法,使视图特征可以相互学习特征信息,一定程度上减轻了数据不均衡问题;
最后本例方法将对比学习加入进了TranMulti-View Net模型中,使本例方法的方法能够半监督训练,发现本例方法的识别庞氏骗局的准确率达到了最高,几乎可以完全识别出庞氏骗局,说明TranMulti-View Net模型学习的效果,不仅取决于跨视图对比学习公共特征,还受益于视图间的特征空间信息共享,总之,TranMulti-View Net在召回率和F-score方面达了最优,受益于多个方面,这些方面的改进可能为智能合约的庞氏骗局提供新的思路,表1中不同模块在TranMulti-View Net模型中的表现,最佳的结果加粗显示:
表1
对比学习的性能分析:为了探究对比学习对模型学习的多视图特征有效性,将本例方法模型最后一层的全连接去掉,用Kmeans算法对特征层直接进行聚类分析,如表2所示,发现在Kmeans算法聚类下,加入了对比损失的模型能够在Kmeans算法获得更高的Precision,说明对比学习能够使同一类别的的多视图特征距离更近,不同类别的多视图特征让其距离更远,表2中采用Kmeans进行聚类后的结果(去掉了TranMulti-View Net中最后一层的全连接层),最佳的结果加粗显示:
表2
不同模块的时间消耗:为了探究实验的效率,分别计算了在TranMulti-View Net模型中操作码视图、字节码视图、账户交易视图特征和多视图检测的时间消耗,如图3所示,从图3可以看出TranMulti-View Net模型检测庞氏骗局的时间只有58ms,TranMulti-ViewNet模型利用多视图检测的时间相比于单视图检测时间消耗增加不多,进一步证明了本例方法检测庞氏骗局合约具有实时性;
特征可解释性分析:为了对模型提取的不同视图特征进行清晰的分析,采用TSNE技术对特征进行了降维以及特征可视化分析,图4是通过计算得到的庞氏骗局的智能合约和非庞氏骗局的智能合约的特征散点图,从图4可以看出,不论是单视图特征或者是多视图特征,庞氏骗局合约和非庞氏骗局合约的视图特征都具有规律性,从它们的视图特征可以看出它们的特征间隔有规律,如图4中(a)图所示,从字节码视图特征分布的角度来看,影响庞氏骗局合约图像分类结果的特征主要集中在右上侧和左下侧区域,且右上侧整体呈零星分布趋势,
如图4中(b)图、图4中(c)图所示,操作码视图特征分布和账户交易视图特征分布存在明显不同,可以看出账户交易视图特征和操作码的视图特征对庞氏骗局智能合约与非庞氏骗局智能合约的检测在逻辑上有明显的区别,另外,在账户视图特征分布中发现,庞氏骗局的智能合约和非庞氏骗局的智能合约的特征分布存在一部分重叠,说明只使用单一的账户视图检测并不能很好的检测出庞氏骗局智能合约;
如图4中(d)图所示,采用基于TranMulti-View Net模型学习多视图特征分布(并没有采用对比学习),发现分布的特征主要在左下区域和右区域,说明模型能利用多视图特征更好的使模型做出决策;
如图4中(e)图所示,将使用了半监督方法,增加了对比损失,发现多视图特征分布在左下区域和右区域,模型在同一类别下学习到的多视图特征分布几乎相同,模型更容易学习到的庞氏骗局智能合约特征和非庞氏骗局智能合约特征分布的区别。

Claims (1)

1.一种基于Transformer的对比多视图下庞氏骗局检测方法,其特征在于,所述方法为:首先采用Vision Transformer即ViT、Transformer、Bidirectional EncoderRepresentation from Transformer即BERT模型学习合约代码视图特征和账户交易视图特征的特征嵌入,获得视图特征的全局结构和语义特征,捕获视图特征Token之间的远程依赖关系,然后采用对比学习的方法,将视图特征进行映射,如果视图特征都在相同的类别非庞氏骗局或者庞氏骗局,特征嵌入分别都映射附件相邻的点即欧几里德距离测量,而不同类别的视图特征映射到较远的点,具体包括如下步骤:
1)数据预处理:给定一组多视图的智能合约特征,通过在嵌入空间中将同一类别下庞氏骗局或者非庞氏骗局的视图特征聚集在一起,同时将不同类别的视图特征远离,每个视图的编码被连接以形成相同类别的完整特征表示,用I0、T0和J0表示非庞氏骗局的智能合约视图,I1、T1和J1表示庞氏骗局的智能合约视图,建立一个有效的庞氏骗局检测模型,采用Farrugia等人提供的智能合约数据集、该数据集包含庞氏骗局合约2179份,非庞氏骗局合约7662份,其中,账户交易视图特征中庞氏骗局的账户交易特征包含以下三个特点:
第一:账户活跃期长、交易量大、合同余额低;
第二:极少部分的账户回报数大于投资数;
第三:庞氏骗局账户的第一笔交易时间和最后一笔交易时间间隔短,因此在该数据集中每个账户共包含42个特征,其中大部分特征跟Chen和Hirshman等人提出的类似,完成上述数据预处理,包括:
1-1)字节码视图:从以太坊上直接获取公开的智能合约源代码,同时采用编译器编译获取字节码,智能合约的字节码视图是由一串十六进制数表示,按照字节码的排序将字节码转换成二进制数字、并将二进制数字转换成像素,生成224×224的灰度图像;
1-2)操作码视图:根据从以太坊上获得的智能合约的操作码,为每一个不同的操作码建立一个英文字典序列,字典中的英文序列与操作码一一对应,每个单词序列用[SOS]和[EOS]的Token括起来;
2)特征提取:在TranMulti-View Net中,利用Vision Transformer即ViT、Transformer、Bidirectional Encoder Representation from Transformer即BERT模型将预处理后的操作码视图、账户交易视图特征和字节码视图分别传入操作码编码器、账户交易特征编码器和字节码编码器进行编码,并进行多视图的特征映射,其中:
操作码编码器:将操作码视图传入操作码编码器中,操作码编码器采用BERT模型,BERT模型中采用的是具有8个关注头以及12层的宽度为512的Transformer模型,在Transformer模型中账户交易视图特征都会经过归一化处理,再建立Token之间具有长距离依赖关系的特征图,并线性投射到多视图的嵌入空间,在操作码编码器的Transformer中,叠加采用Token Embeddings和Position Embeddings,Token Embeddings采用词嵌入模型,TokenEmbeddings是将经过字典处理后的单词序列进行词嵌入学习,每个序列中的词即Tokens将转换为固定维度的词向量,Positional Embeddings表示句子中单词的位置信息,从而学习操作码视图的文本结构信息,另外,在操作码编码器中对操作码视图增加Mask自注意力机制,并辅助BERT提取视图中的关键特征;
字节码编码器:将字节码视图传入字节码编码器进行线性映射,在字节码编码器中采用ViT模型,在ViT模型中采用和BERT模型相同的Transformer参数,在Transformer模型接受的1D序列的嵌入输入,处理2维的字节码图像采用Patch Embedding将图像x∈RH×W×C扁平为一系列其中(H,W)表示原始图像的分辨率,(P,P)表示每个图像Token的分辨率,N=HW/P2为ViT中Transformer输入的有效序列长度,另外ViT中也包含PositionEmbedding,Position Embedding给Patch加上相对位置;
账户交易特征编码器:对账户交易特征信息编码时,采用Transformer模型,该模型的Transformer参数和ViT中的Transformer参数一样,另外没有在账户编码器中加入Position Embedding;
Transformer:若智能合约中存在源码偏长,则可能导致在模型特征提取过程中特征信息丢失的情况,使模型不能完全理解语义的上下文信息,在TranMulti-View Net采用Transformer,Transformer以并行的方式处理输入的数据,Transformer模型由PositionEmbedding模块、多头注意力机制和前馈网络组成,在多头主力机制中自注意力机制占据主要作用,自注意力机制通过K、Q、V向量来学习特征信息,其中K和V向量记录已经学到的信息,并通过查询Q来得到注意力权重,自注意力机制输出向量的计算方式如公式(1)所示:
其中利用K、Q进行视图特征之间的相似度计算,并获得相似度权重矩阵,V表示对相似度权重矩阵进行缩放调节,k表示维度,softmax函数是对相似度权重进行归一化,归一化的权重和相应的V进行加权求和得到注意力输出,自注意力机制“动态”地生成不同连接的权重,多头注意力机制是将k个自注意力机制进行组合,每个自注意力模块都关注相同的K、Q、V,每个模块对应最终输出序列的子空间,并且输出序列互相独立,多头注意力机制模块能同时关注表征子空间的不同位置的不同信息,多头注意力机制计算方式如公式(2)、公式(3)所示:
Headi=attention(QWi Q,KWi K,VWi V) (2),
MutiHead(Q,K,V)=concat(head1,…,headh)W (3),
其中k表示有k组K、Q、V向量,k表示K、Q、V的权重参数,每组k都不相同,concat表示将自注意力机制的结果连接起来,连接起来的权重乘上一个权重向量Wo得到多头注意力机制的输出结果;
前馈网络:Transformer中的前馈网络是由1个Multilayer Perceptron即MLP层、GRU层和1个Relu激活函数组成,其中GRU使模型更容易学习到视图特征的长依赖;
3)对比学习:定义对比学习损失函数,对比学习损失函数衡量同一类别的多视图特征之间的相似性和不同类别的多视图特征之间的差异性,采用对比学习损失函数对模型进行训练,使模型从多视图特征中学习到判别庞氏骗局的特征,将同一类别的视图分布与相同的特征空间合并到模型最后一层,然后接入全连接层,再利用余弦相似度处理后的视图特征进行预测,最后得到庞氏骗局的分类结果,具体地:
用I表示字节码视图,T表示操作码视图,J表示账户交易视图特征,分别提取视图特征如下所示:
If=ViTEncoder(I) (4),
Tf=BERTEncoder(T) (5),
Jf=TransformerEncoder(J) (6),
Ie=WV 2σ(WV 1If) (7),
Te=WB 2σ(WB 1Tf) (8),
Je=WT 2σ(WT 1Jf) (9),
其中If、Tf和Jf分别是字节码视图、操作码视图和账户交易视图特征经过ViT、BERT和Transformer的输出,W1和W2分别为可训练参数,Ie、Te和Je为视图的特征表达,按照如下对比损失训练模型:
其中sim(u,v)=uTv/||u|| ||v||,B代表训练批次样本数目,τ取值为0.5,对模型进行半监督训练的时,不仅采用对比学习中的损失函数训练,还将If、Tf和Jf进行特征融合,将融合后的特征输入进一个全连接,训练分类损失函数,采用Focal Loss,Focal Loss通过在交叉熵损失函数中设定权重,从而控制总的损失函数,计算方式如公式(12)所示:
其中α∈[0,1]表示当庞氏骗局合约较少,α的数值越大,庞氏骗局合约贡献的损失值会越大,γ表示调节因子降低非庞氏骗局的权重,集中训练庞氏骗局样本,p∈[0,1]表示预测样本的类别概率,y表示样本为庞氏骗局和非庞氏骗局的样本标签,若y=1,则表示庞氏骗局样本;若y=0,则表示非庞氏骗局样本,最终,本模型的损失函数如公式(13)所示:
loss=η*lossI,T+γ*lossI,J+λFocal_loss(p,y) (13),
在公式(13)中采用半监督训练时,W1和W2分别等于0.1时,则Ie等于1;
4)模型评估:模型评估指标选取查准率Precision、查全率Recall和F-score 3个指标对模型的性能进行度量,3个指标的具体定义如下:
其中TP表示实际为正样本、且被判别为正样本的样本数量,FP表示实际为负样本,但被判别为正样本的样本数量,FN表示实际为正样本,但被判别为负样本的样本数量。
CN202311361188.8A 2023-10-20 2023-10-20 一种基于Transformer的对比多视图下庞氏骗局检测方法 Pending CN117408698A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311361188.8A CN117408698A (zh) 2023-10-20 2023-10-20 一种基于Transformer的对比多视图下庞氏骗局检测方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311361188.8A CN117408698A (zh) 2023-10-20 2023-10-20 一种基于Transformer的对比多视图下庞氏骗局检测方法

Publications (1)

Publication Number Publication Date
CN117408698A true CN117408698A (zh) 2024-01-16

Family

ID=89499443

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311361188.8A Pending CN117408698A (zh) 2023-10-20 2023-10-20 一种基于Transformer的对比多视图下庞氏骗局检测方法

Country Status (1)

Country Link
CN (1) CN117408698A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117593517A (zh) * 2024-01-19 2024-02-23 南京信息工程大学 基于互补感知跨视图融合网络的伪装目标检测方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117593517A (zh) * 2024-01-19 2024-02-23 南京信息工程大学 基于互补感知跨视图融合网络的伪装目标检测方法
CN117593517B (zh) * 2024-01-19 2024-04-16 南京信息工程大学 基于互补感知跨视图融合网络的伪装目标检测方法

Similar Documents

Publication Publication Date Title
CN111428071B (zh) 一种基于多模态特征合成的零样本跨模态检索方法
CN100414558C (zh) 基于模板学习的自动指纹识别系统和方法
CN109241536A (zh) 一种基于深度学习自注意力机制的句子排序方法
CN112766158A (zh) 基于多任务级联式人脸遮挡表情识别方法
CN113011973B (zh) 基于智能合约数据湖的金融交易监管模型的方法及设备
CN111881722B (zh) 一种跨年龄人脸识别方法、系统、装置及存储介质
CN111428853A (zh) 一种带噪声学习的负样本对抗生成方法
CN108520215B (zh) 基于多尺度联合特征编码器的单样本人脸识别方法
CN117408698A (zh) 一种基于Transformer的对比多视图下庞氏骗局检测方法
CN116994069B (zh) 一种基于多模态信息的图像解析方法及系统
CN110175248B (zh) 一种基于深度学习和哈希编码的人脸图像检索方法和装置
CN114549850B (zh) 一种解决模态缺失问题的多模态图像美学质量评价方法
CN110349229A (zh) 一种图像描述方法及装置
CN110210625A (zh) 基于迁移学习的建模方法、装置、计算机设备和存储介质
CN113298816A (zh) 一种遥感图像语义分割方法、装置和计算机设备
CN112200664A (zh) 基于ernie模型和dcnn模型的还款预测方法
Zhang et al. CNN-transformer based generative adversarial network for copy-move source/target distinguishment
CN116311323A (zh) 基于对比学习的预训练文档模型对齐优化方法
CN115422518A (zh) 基于无数据知识蒸馏的文本验证码识别方法
CN114579640A (zh) 一种基于生成式对抗网络的金融时间序列预测系统和方法
CN113222002A (zh) 一种基于生成式鉴别性对比优化的零样本分类方法
CN117350964A (zh) 一种基于跨模态多层次特征融合的电力设备检测方法
CN116663539A (zh) 基于RoBERTa和指针网络的中文实体与关系联合抽取方法及系统
CN114926702A (zh) 一种基于深度注意力度量的小样本图像分类方法
CN116629356B (zh) 基于编码器和高斯混合模型的少样本知识图谱补全方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination