亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于雙層孿生神經(jīng)網(wǎng)絡(luò)的區(qū)塊鏈智能合約分類方法

        2024-04-11 07:29:52郭加樹李擇亞武夢德張紅霞
        電子與信息學(xué)報 2024年3期
        關(guān)鍵詞:分類智能模型

        郭加樹 王 琪 李擇亞 武夢德 張紅霞

        (中國石油大學(xué)(華東)青島軟件學(xué)院 青島 266580)

        (中國石油大學(xué)(華東)計算機科學(xué)與技術(shù)學(xué)院 青島 266580)

        1 引言

        智能合約[1]是以以太坊為代表的區(qū)塊鏈2.0時代的核心技術(shù),是一種部署在以太坊上,保障互不信任的參與節(jié)點之間進行通信交互的計算機協(xié)議,通常具有不可篡改和自動執(zhí)行的特性。隨著區(qū)塊鏈技術(shù)的應(yīng)用領(lǐng)域不斷加深,智能合約的數(shù)據(jù)量也日益龐大,研究統(tǒng)計[2],以太坊上平均每月發(fā)布的智能合約可以達到六位數(shù)。數(shù)量巨大的智能合約帶來了機遇和挑戰(zhàn),一方面智能合約的應(yīng)用類別已超過數(shù)百種,使得許多與智能合約和區(qū)塊鏈相結(jié)合的業(yè)務(wù)變得流行起來,比如:區(qū)塊鏈與云計算[3]、云存儲[4],智能合約與物聯(lián)網(wǎng)[5]、智慧醫(yī)療[6]等相結(jié)合;而另一方面,基于智能合約的騙局陷阱正變得日益猖獗[7],包括龐氏騙局[8]、蜜罐陷阱[9]等惡意欺詐型騙局合約。對于用戶來說,如何正確地檢索和管理龐大的智能合約數(shù)據(jù)變得越來越困難。智能合約的分類問題已成為一項新興的研究熱點。

        近年來,學(xué)者大多基于機器學(xué)習(xí)或者深度學(xué)習(xí)設(shè)計智能合約分類方法。例如,在智能合約的公共數(shù)據(jù)網(wǎng)站上爬取可用于模型訓(xùn)練的帶有標簽的數(shù)據(jù)集,通過引入智能合約語義信息以及相關(guān)交易信息作為數(shù)據(jù)特征,采用深度學(xué)習(xí)長短期記憶(Long-Short Term Memory, LSTM)模型或機器學(xué)習(xí)支持向量機(Support Vector Machine, SVM)算法等進行模型訓(xùn)練,合約分類。但目前的研究仍存在以下問題:(1)對合約類別不均衡以及數(shù)據(jù)重復(fù)問題考慮不充分,導(dǎo)致模型出現(xiàn)過擬合問題。(2)高精度的深度學(xué)習(xí)分類模型的前提是足夠的標簽訓(xùn)練數(shù)據(jù)量,但目前可用的標簽數(shù)據(jù)量過少,無法滿足較為復(fù)雜的深度神經(jīng)網(wǎng)絡(luò)的訓(xùn)練要求,導(dǎo)致訓(xùn)練的模型魯棒性較差。(3)當前所用智能合約數(shù)據(jù)長度過長,未進行有效處理,在模型訓(xùn)練和分類時無法捕獲合約自身的全局特征,導(dǎo)致分類效果不佳。

        本文通過分析智能合約的數(shù)據(jù)結(jié)構(gòu)特征,針對當前方法存在的問題,引入基于孿生神經(jīng)網(wǎng)絡(luò)[10]的度量學(xué)習(xí)方法,提出了小樣本場景下基于雙層孿生神經(jīng)網(wǎng)絡(luò)的區(qū)塊鏈智能合約分類方法。首先,對數(shù)據(jù)類別不均衡的智能合約數(shù)據(jù)集進行了欠采樣處理,每個類別僅保留相同數(shù)目且少量的合約數(shù)據(jù),旨在以此克服數(shù)據(jù)類別不均衡問題。其次,針對智能合約數(shù)據(jù)長度過長的特點,設(shè)計了可以分別獲取前后段合約特征的底層孿生網(wǎng)絡(luò)。最后,在底層孿生網(wǎng)絡(luò)的基礎(chǔ)上構(gòu)建了可以捕獲全局數(shù)據(jù)特征并進行合約對相似度判斷的雙層孿生神經(jīng)網(wǎng)絡(luò),提出了小樣本場景下基于雙層孿生神經(jīng)網(wǎng)絡(luò)的智能合約分類方法。對于智能合約分類問題,本文提出的分類方法借鑒了小樣本學(xué)習(xí)[11]和度量學(xué)習(xí)[12]的思想,訓(xùn)練環(huán)境對標注數(shù)據(jù)量的需求更低,僅需要少量的數(shù)據(jù)量便可以完成模型訓(xùn)練,并達到較高的分類性能。

        本文主要具有以下貢獻:

        (1)構(gòu)建用于智能合約分類的雙層孿生神經(jīng)網(wǎng)絡(luò)模型,可以有效處理較長的智能合約數(shù)據(jù),并準確判別輸入合約對的相似程度。

        (2)提出小樣本場景下基于雙層孿生神經(jīng)網(wǎng)絡(luò)的模型訓(xùn)練策略和智能合約分類方法,以克服數(shù)據(jù)類別不均衡和標簽數(shù)據(jù)量過少問題。

        (3)真實數(shù)據(jù)集的實驗結(jié)果表明,本文所提方法在小樣本場景下的分類效果優(yōu)于當前最先進的分類方法,同時訓(xùn)練過程對標簽數(shù)據(jù)的需求更低,僅需同類型其他方法約20%數(shù)據(jù)量。

        什么是和諧的教育生態(tài)?應(yīng)該是全面、均衡、開放、可持續(xù),其核心是親和性、融洽性、創(chuàng)造性、自主性—教師由灌輸知識轉(zhuǎn)變?yōu)殚_發(fā)和培養(yǎng)學(xué)生的創(chuàng)造性思維和能力;學(xué)生由被動的客體變成積極的主體;教材內(nèi)容由封閉、僵死變得開放、生動和更具包容性、新穎性;滿堂灌、填鴨式教學(xué)轉(zhuǎn)變?yōu)殪`活多樣的啟發(fā)、誘導(dǎo)、對話、討論;單純的認知、接受轉(zhuǎn)變?yōu)榭茖W(xué)研究、主動創(chuàng)造和大膽的“自我構(gòu)建”;進而實現(xiàn)求知向個人的興趣和愛好轉(zhuǎn)化。

        2 相關(guān)工作

        得益于區(qū)塊鏈技術(shù)的快速發(fā)展,區(qū)塊鏈以及智能合約技術(shù)與其他領(lǐng)域的結(jié)合應(yīng)用正變得越來越流行,部署在區(qū)塊鏈上的智能合約的數(shù)量和規(guī)模也正變得越來越龐大。由于智能合約數(shù)量的爆發(fā)式增長,一方面為了方便用戶檢索,另一方面為了緩解平臺信息泛濫問題,對于智能合約的分類已成為當前研究的熱點問題。

        Bartoletti等人[13]是智能合約分類領(lǐng)域的首批研究者之一,他們采用人工分析的方法研究了以太坊上811個智能合約和比特幣網(wǎng)絡(luò)23個智能合約的公開源代碼,并依照合約的功能特征對它們進行了分類,包括以下5個類別,金融、公證、游戲、錢包和圖書館。黃步添等人[14]提出了一種基于語義嵌入與交易信息的智能合約分類方法,為了更好地捕獲智能合約代碼中隱藏的語義信息,該方法引入了Word2Vec[15]詞向量嵌入模型進行向量轉(zhuǎn)換,之后將包含全局語義信息的詞向量表示輸入到長短期記憶神經(jīng)網(wǎng)絡(luò)LSTM模型中進行反復(fù)訓(xùn)練以獲取分類模型。此外,為了提高分類模型的準確性,作者還在模型訓(xùn)練過程中加入了智能合約中的賬戶信息特征。高飛[16]設(shè)計并實現(xiàn)了一種基于語義信息和相似性的智能合約分類系統(tǒng),該系統(tǒng)可以對智能合約數(shù)據(jù)進行特征提取,并選取其中具有代表性的特征詞條用以計算合約相似度,最后根據(jù)合約內(nèi)容輸出合約類別,實現(xiàn)合約分類。不同于之前的基于智能合約源代碼或是字節(jié)碼的研究方法,Sun等人[17]認為智能合約程序二進制接口(Application Binary Interface, ABI)含有包括智能合約功能和行為的關(guān)鍵信息,提出了一種基于ABI粒度的智能合約自動分類方法。該方法以ABI的詞頻和逆向文本頻率(Term Frequency-Inverse Document Frequency,TF-IDF)向量作為輸入,訓(xùn)練了一個基于傳統(tǒng)機器學(xué)習(xí)方法的智能合約分類模型。

        部分學(xué)者除關(guān)注到智能合約本身的數(shù)據(jù)信息,引入了注意力機制[18]到模型訓(xùn)練過程中以提高分類準確性。吳雨芯等人[19]提出了一種基于層級注意力和雙向長短期記憶神經(jīng)網(wǎng)絡(luò)(Bidirectional Long Short Term Memory, BiLSTM)[20]的智能合約分類模型基于源代碼和賬戶的分層注意力神經(jīng)網(wǎng)絡(luò)(Hierarchical Attention Neural Network with Source Code and Account, HANN-SCA)。該模型利用Bi-LSTM網(wǎng)絡(luò)同時捕獲智能合約源代碼和賬戶信息特征,在特征提取和模型訓(xùn)練過程中,分別從詞層面和句層面引入注意力機制,重點關(guān)注對分類模型建立有重要意義的句子和詞語。Tian等人[21]綜合考慮了智能合約數(shù)據(jù)的全局信息特征和數(shù)據(jù)中存在的語義稀疏問題,提出了一種基于Bi-LSTM模型和高斯隱含狄利克雷分布(Latent Dirichlet Allocation, LDA)的智能合約分類方法。該方法充分利用了智能合約中的輔助數(shù)據(jù),可以將多種信息作為模型特征輸入,包括源代碼、賬戶信息、標簽和注釋等。并且還引入了注意力機制和語義增強方法來分別關(guān)注數(shù)據(jù)中的重要信息特征和克服合約注釋存在的語義稀疏問題,以提高分類模型的可用性。

        目前國內(nèi)外的研究側(cè)重于采用基于文本數(shù)據(jù)的機器學(xué)習(xí)和深度學(xué)習(xí)進行智能合約分類方法設(shè)計,包括引入合約數(shù)據(jù)的上下文信息、語義信息和賬戶特征等輔助數(shù)據(jù),以及加入注意力機制、語義增強方法等來提高合約分類模型的準確性。但當前的大多數(shù)研究都僅是將傳統(tǒng)的文本分類方法簡單應(yīng)用到智能合約領(lǐng)域,并未考慮到區(qū)塊鏈領(lǐng)域和智能合約數(shù)據(jù)的特殊性,導(dǎo)致訓(xùn)練出的模型存在應(yīng)用場景限制和分類性能不佳等問題。針對當前存在的問題,本文通過分析智能合約數(shù)據(jù)以及數(shù)據(jù)集的特點,提出了小樣本場景下基于雙層孿生神經(jīng)網(wǎng)絡(luò)的智能合約分類方法。

        3 智能合約分類數(shù)據(jù)分析

        智能合約數(shù)據(jù)區(qū)別于傳統(tǒng)的文本數(shù)據(jù),是以太坊平臺上該合約用戶下所有信息的集合,包括合約主體、合約注釋、關(guān)鍵字信息、賬戶信息和歷史交易數(shù)據(jù)等,具有特殊性和復(fù)雜性的特征。智能合約的主體指的是采用高級編程語言 Solidity編寫的智能合約源代碼,源代碼中包含了豐富的語義信息以及注釋信息。但由于每個合約創(chuàng)建者的代碼編程習(xí)慣不同以及注釋信息的存在,若要深度發(fā)掘合約主體中包含的語義信息用以建立特征,對于合約主體的預(yù)處理過程極為重要。

        3.1 數(shù)據(jù)獲取及預(yù)處理

        由于不是每一個智能合約都包含有足夠的賬戶信息用于特征提取,考慮到模型應(yīng)用過程中數(shù)據(jù)特征的可用性,本文僅采用智能合約源代碼進行數(shù)據(jù)分析和模型訓(xùn)練。本文通過以太坊以及區(qū)塊鏈去中心化應(yīng)用平臺獲取了帶有類別標簽的智能合約數(shù)據(jù)3 458份。進行數(shù)據(jù)整合時發(fā)現(xiàn)數(shù)據(jù)集存在嚴重的合約復(fù)制[22]現(xiàn)象,如果不進行處理,大量的重復(fù)數(shù)據(jù)會影響最終的分類結(jié)果。在進行去重以及刪除自毀數(shù)據(jù)后得到了2 957份具有唯一精準字節(jié)碼匹配的合約數(shù)據(jù)。僅包含有源代碼數(shù)據(jù)和注釋信息的原始合約主體無法直接用于模型訓(xùn)練,需要進行反編譯處理為操作碼格式。本文通過以太坊虛擬機數(shù)據(jù)包完成這一轉(zhuǎn)換,圖1展示了反編譯后的操作碼文件,其中包含兩種不同類型的數(shù)據(jù)信息,包括操作碼和指令地址,模型訓(xùn)練僅需保留操作碼。

        圖1 操作碼文件

        3.2 數(shù)據(jù)集分析

        通過檢查經(jīng)過預(yù)處理后的原始數(shù)據(jù)集,本文發(fā)現(xiàn)數(shù)據(jù)集存在嚴重的類別不均衡以及數(shù)據(jù)量過少問題,某些類別包含近千條數(shù)據(jù),比如游戲類別的智能合約具有864條數(shù)據(jù);而有些類僅包含幾條數(shù)據(jù),比如保險和存儲類別的智能合約都僅有個位數(shù)的數(shù)據(jù)。每個類別包含的數(shù)據(jù)量比例,如圖2所示。

        圖2 智能合約數(shù)據(jù)類別比例

        本文從以太坊以及去中心化應(yīng)用平臺所獲取的原始數(shù)據(jù)集共包含21個類別,涵蓋了當前智能合約應(yīng)用的大多數(shù)領(lǐng)域,具體的類別名稱和所含數(shù)據(jù)量,如表1所示。其中DEFI為去中心化金融類別,NFT為非同質(zhì)化通證類別,F(xiàn)arm為挖礦類別,Tools為工具類別。對于深度學(xué)習(xí)模型的訓(xùn)練來說,過少的標簽數(shù)據(jù)量無法滿足最優(yōu)化權(quán)值參數(shù)的訓(xùn)練過程,容易出現(xiàn)模型過擬合現(xiàn)象。同時,數(shù)據(jù)類別不均衡問題也極易導(dǎo)致分類結(jié)果出現(xiàn)偏差,嚴重影響模型的整體分類性能。

        表1 智能合約類別名稱及數(shù)據(jù)量

        本文對反編譯后的智能合約數(shù)據(jù)長度(智能合約包含的操作碼數(shù)量)進行檢查時發(fā)現(xiàn),大部分的智能合約是較長的,而過長的數(shù)據(jù)對傳統(tǒng)的算法模型來說通常是難以處理的,因為模型無法精準地學(xué)習(xí)到序列數(shù)據(jù)中的長期依賴關(guān)系,甚至?xí)谀P陀?xùn)練過程中出現(xiàn)梯度爆炸問題,導(dǎo)致最終的分類效果不理想。

        4 基于雙層孿生神經(jīng)網(wǎng)絡(luò)的分類方法設(shè)計

        針對以上數(shù)據(jù)分析中存在的問題,本文提出并設(shè)計了小樣本場景下基于雙層孿生神經(jīng)網(wǎng)絡(luò)的區(qū)塊鏈智能合約分類方法。下面將詳細介紹本文針對數(shù)據(jù)類別不均衡問題的數(shù)據(jù)欠采樣處理,針對數(shù)據(jù)長度過長以及數(shù)據(jù)量過少問題設(shè)計的基于雙層孿生神經(jīng)網(wǎng)絡(luò)的模型訓(xùn)練策略和智能合約分類方法的實現(xiàn)細節(jié)。

        4.1 數(shù)據(jù)集欠采樣

        為了克服數(shù)據(jù)類別不均衡問題,本文進行了數(shù)據(jù)集欠采樣處理。首先重新進行了數(shù)據(jù)整合,去除了因為標簽網(wǎng)站長時間不更新而不具有參考價值的合約數(shù)據(jù)以及合并了一些數(shù)據(jù)量過少的類別,最后共有15個類別的智能合約,每個類別僅保留50條數(shù)據(jù)。具體的數(shù)據(jù)集類別名稱,如表2所示。

        表2 數(shù)據(jù)集類別

        4.2 雙層孿生神經(jīng)網(wǎng)絡(luò)模型

        為了能夠有效處理長度過長的智能合約數(shù)據(jù),本文構(gòu)建了用于智能合約分類的雙層孿生神經(jīng)網(wǎng)絡(luò)模型。孿生神經(jīng)網(wǎng)絡(luò)是當前深度學(xué)習(xí)領(lǐng)域常用的框架結(jié)構(gòu),多用于處理兩個及兩個以上類似輸入的相似度判別問題。考慮到智能合約的數(shù)據(jù)特點以及可用數(shù)據(jù)的稀缺性,本文參考了小樣本學(xué)習(xí)和度量學(xué)習(xí)的思想,引入了孿生網(wǎng)絡(luò)來處理合約分類問題。通過雙層的孿生網(wǎng)絡(luò)充分利用較長智能合約數(shù)據(jù)的全局上下文信息,以實現(xiàn)智能合約精準匹配分類。模型的總體設(shè)計,如圖3所示。

        圖3 雙層孿生神經(jīng)網(wǎng)絡(luò)模型

        總體來看,模型可以分為5層、兩部分。自底向上來看,分別是最底層的合約輸入層、向量表示層、向量拼接層、距離計算層以及最上層的概率輸出層。兩部分包括處理合約的底層孿生神經(jīng)網(wǎng)絡(luò)以及類別判斷的上層孿生神經(jīng)網(wǎng)絡(luò),其中底層孿生神經(jīng)網(wǎng)絡(luò)部分包括底部的合約輸入層和向量表示層,其余3層為上層孿生神經(jīng)網(wǎng)絡(luò)部分。

        最底層是合約輸入層,輸入數(shù)據(jù)來自一對智能合約數(shù)據(jù),包括ContractA和ContractB,根據(jù)數(shù)據(jù)分析發(fā)現(xiàn)大部分的智能合約是較長的,普遍包含大量的操作碼,為了更好地捕獲輸入智能合約的全局序列特征,本文參考了文獻[23]中的模型構(gòu)造方法在輸入層將輸入的智能合約數(shù)據(jù)進行了對半切割處理,對半切割后的4個前后智能合約段,分別為ContractA1, ContractA2, ContractB1, ContractB2。

        之后是向量表示層,為了精準獲取合約操作碼的語義信息,本文選用了智能合約領(lǐng)域語料預(yù)訓(xùn)練后的Bert模型用于詞向量嵌入。該模型的限定最長輸入長度是512個字符,而本文所使用數(shù)據(jù)集中大部分數(shù)據(jù)長度是大于512個字符的,在經(jīng)過合約輸入層對半切割處理后的智能合約段符合Bert模型的輸入長度限制。輸入到Bert模型中進行詞向量嵌入表示,在該層可以獲取4個合約段ContractA1,ContractA2, ContractB1, ContractB2的向量表示u1,v1,u2,v2。

        然后是向量拼接層,在該層將之前獲取的來自同一合約數(shù)據(jù)的前后段向量表示進行拼接處理,分別得到一對合約數(shù)據(jù)的全局向量表示E1和E2,可以表示為

        拼接層之上是距離計算層,本文使用L1距離即曼哈頓距離來計算一對合約數(shù)據(jù)的向量距離,希望通過模型訓(xùn)練使得屬于同一類別合約的向量距離盡可能小,分屬不同類別的向量距離盡可能大,其中L1距離及該層的向量距離公式可以表示為

        最頂層是概率輸出層,在該層通過多個線性層以及Sigmoid激活函數(shù)輸出合約數(shù)據(jù)對屬于同一類別的概率,輸出范圍為[0,1],其中0表示不屬于同一類別,1表示屬于同一類別,可以表示為

        4.3 模型訓(xùn)練及分類方法設(shè)計

        針對智能合約數(shù)據(jù)量過少的問題,本文提出小樣本場景下基于孿生神經(jīng)網(wǎng)絡(luò)的數(shù)據(jù)對形式的模型訓(xùn)練策略,可以對原始數(shù)據(jù)集實現(xiàn)平方級的數(shù)據(jù)擴充,并基于此設(shè)計了智能合約分類方法。

        首先,本文選取數(shù)據(jù)集中每個類別80%的數(shù)據(jù)用于組成數(shù)據(jù)對進行模型訓(xùn)練,其中同一類別的合約數(shù)據(jù)所組成的數(shù)據(jù)對視為正類數(shù)據(jù)對,標簽置為1;而分屬不同類別的合約數(shù)據(jù)所組成的數(shù)據(jù)對視為負類數(shù)據(jù)對,標簽置為0,同時將訓(xùn)練數(shù)據(jù)的正負數(shù)據(jù)對數(shù)量之比控制為1:1。通過匹配組合正負數(shù)據(jù)對形式的訓(xùn)練策略可以對原有數(shù)據(jù)集進行有效擴充增強。

        然后,在基于雙層孿生神經(jīng)網(wǎng)絡(luò)的模型訓(xùn)練過程中,Bert詞向量嵌入模型的參數(shù)也不固定,同樣參與模型的反向傳播,進行參數(shù)更新。目的是希望通過數(shù)據(jù)對形式的模型訓(xùn)練策略,最終屬于同一類別的智能合約輸出的向量表示在空間上是相鄰的,屬于不同類別的合約向量表示是彼此遠離的。

        最后,剩余的20%數(shù)據(jù)用于合約分類,匹配測試。在進行合約分類測試時,待測試的合約數(shù)據(jù)通過訓(xùn)練好的智能合約分類模型與每個類別帶有標簽的支撐數(shù)據(jù)進行類別相似度計算,通過相似概率疊加的方式得到相似度得分,其中相似度得分最高的類別即作為測試合約的類別。訓(xùn)練及分類過程,如圖4所示。

        圖4 模型訓(xùn)練及分類流程圖

        在使用基于度量學(xué)習(xí)的方法進行分類時需遵循一個假設(shè):即相同類別的數(shù)據(jù)應(yīng)保持相同的數(shù)據(jù)分布情況。詞云圖可以直觀地通過圖片的方式展示文本詞匯的頻率情況,通過比較數(shù)據(jù)集中相同類別智能合約的操作碼詞云圖,如圖5所示,本文發(fā)現(xiàn)相同類別的合約具有相似的操作碼類型和頻率。兩幅圖中的操作碼詞云圖中均包含大量高頻的表示跳轉(zhuǎn)類型的操作碼指令,如SWAP和JUMP等。因此可以認為相同類別的智能合約保持相同的數(shù)據(jù)分布情況,數(shù)據(jù)集遵循假設(shè),符合度量學(xué)習(xí)的使用條件。

        圖5 操作碼詞云圖

        5 實驗與分析

        本節(jié)所有實驗均處于相同的硬件環(huán)境下,模型的訓(xùn)練和測試工作是在開源的深度學(xué)習(xí)框架Keras下進行的。實驗的推薦參數(shù)設(shè)置如下:學(xué)習(xí)率設(shè)置為0.001,批量大小設(shè)置為16,訓(xùn)練輪次設(shè)置為80,Bert模型的輸入最大句長設(shè)置為510(其中還需要包括[CLS]和[SEP]字符)。對于實驗的評價標準,本文采用了3種較為常見的評價指標來定量評估每類實驗中的分類性能,包括F1值、精確率(Precision)和召回率(Recall)。

        5.1 Bert模型微調(diào)預(yù)訓(xùn)練分析

        在雙層孿生神經(jīng)網(wǎng)絡(luò)模型的向量表示層,本文引入了Bert模型[24]進行詞向量嵌入轉(zhuǎn)換。本文選取的是輕量級英文語料預(yù)訓(xùn)練的Bert模型。為了得到合適的詞向量嵌入表示,本文參考了文獻[25]關(guān)于Bert模型微調(diào)預(yù)訓(xùn)練的建議,通過獲取海量的智能合約數(shù)據(jù),重新在基于通用英文語料訓(xùn)練的Bert模型進行了基于智能合約領(lǐng)域語料的微調(diào)預(yù)訓(xùn)練。為了驗證對Bert模型進行領(lǐng)域語料微調(diào)預(yù)訓(xùn)練是否有效,即驗證加入先驗知識是否會使得Bert模型更加適應(yīng)于智能合約領(lǐng)域的訓(xùn)練環(huán)境,在本節(jié)設(shè)計了Bert模型是否進行領(lǐng)域語料微調(diào)預(yù)訓(xùn)練的實驗,實驗結(jié)果如圖6所示,其中Finetune-Bert為經(jīng)過智能合約領(lǐng)域語料微調(diào)預(yù)訓(xùn)練后的Bert模型,Bert為通用語料訓(xùn)練的Bert模型。

        圖6 模型預(yù)訓(xùn)練損失值對比

        通過對通用語料訓(xùn)練的Bert模型以及加入智能合約領(lǐng)域語料微調(diào)預(yù)訓(xùn)練后的Finetune-Bert模型進行損失值下降速率對比,發(fā)現(xiàn)經(jīng)過微調(diào)預(yù)訓(xùn)練后的Finetune-Bert模型在訓(xùn)練過程中損失值下降速率要更快一些,因此可以認為基于智能合約操作碼微調(diào)預(yù)訓(xùn)練后輸出的向量表示在詞向量空間上要更加準確、貼切,更加適用于智能合約領(lǐng)域的分類任務(wù),本文在后續(xù)實驗部分均采用了基于智能合約操作碼微調(diào)預(yù)訓(xùn)練后的Finetune-Bert模型。

        5.2 單層/雙層孿生神經(jīng)網(wǎng)絡(luò)模型分析

        為了驗證本文所提出的雙層孿生神經(jīng)網(wǎng)絡(luò)模型是否在智能合約分類時發(fā)揮作用,在本節(jié)設(shè)計了單層/雙層孿生神經(jīng)網(wǎng)絡(luò)模型的對比實驗。其中Single-Siamese模型指的是未加入處理合約的底層孿生神經(jīng)網(wǎng)絡(luò)部分,對大于輸入限制的合約數(shù)據(jù)進行舍棄處理的單層孿生神經(jīng)網(wǎng)絡(luò)智能合約分類模型,而Double-Siamese即本文提出的完整的雙層孿生神經(jīng)網(wǎng)絡(luò)智能合約分類模型。實驗結(jié)果如表3和圖7所示。

        表3 單雙層孿生網(wǎng)絡(luò)模型實驗結(jié)果對比

        圖7 單雙層孿生網(wǎng)絡(luò)模型損失值變化

        通過對比兩類模型訓(xùn)練時的收斂速度以及訓(xùn)練完成后用于合約分類時的實驗性能,驗證了本文所提出的完整的雙層孿生神經(jīng)網(wǎng)絡(luò)模型是有效的,在進行合約分類時性能有所提升。雙層孿生神經(jīng)網(wǎng)絡(luò)模型在進行數(shù)據(jù)對訓(xùn)練時達到高精度的速度要明顯快于單層孿生神經(jīng)網(wǎng)絡(luò)模型,而且合約分類時的準確率也要明顯高于單層孿生神經(jīng)網(wǎng)絡(luò)模型,證明完整的雙層孿生神經(jīng)網(wǎng)絡(luò)模型獲取到的合約特征信息要更加全面,可以有效捕獲智能合約數(shù)據(jù)的全局特征,提升分類的準確性。

        5.3 向量拼接方式分析

        為了探究如何才能更好地捕獲智能合約數(shù)據(jù)的全局信息特征,本文設(shè)置了向量拼接層的向量拼接方式的性能比較實驗。本實驗比較的向量拼接方式包括 (u,v) , (|u-v|) , (u×v) , (u,v,u×v) ,(|u-v|,u×v) 以及 (u,v,|u-v|) ,其中u,v指的是來自同一合約數(shù)據(jù)的前后段向量表示。實驗結(jié)果如表4所示。

        表4 向量拼接方式實驗結(jié)果對比

        通過比較以上向量拼接方式的分類性能,本文發(fā)現(xiàn) (u,v,|u-v|)的向量拼接方式具有最好的實驗效果,相比于其他的向量拼接方式,該拼接方式的設(shè)計能夠更為有效地捕獲并輸出前后段合約的關(guān)鍵信息,在之后用于合約分類的效果也要更好。

        5.4 數(shù)據(jù)量參數(shù)分析

        本節(jié)主要實驗數(shù)據(jù)量參數(shù)對于分類模型的性能影響。實驗中均采用了相同數(shù)量數(shù)據(jù)對訓(xùn)練好的模型進行合約分類實驗,但改變了每個類別用于合約分類測試的數(shù)據(jù)量,分別設(shè)置為10(8/2), 20(16/4),30(24/6), 40(32/8), 50(40/10)條數(shù)據(jù),同時保持相同的劃分比例8:2,即當類別數(shù)據(jù)量設(shè)置為50時,每個類別會劃分出10條測試數(shù)據(jù)與40條帶有標簽的支撐數(shù)據(jù)進行合約分類測試。實驗結(jié)果,如表5所示。

        表5 類別數(shù)據(jù)量實驗結(jié)果

        本文發(fā)現(xiàn)隨著類別數(shù)據(jù)量的增加,合約分類的準確率也在提升,數(shù)據(jù)量參數(shù)設(shè)置為50時具有最佳的分類性能,分類準確率達到了94.7%,召回率達到了94.6%,F(xiàn)1值也達到了94.6%。本文通過分析認為,在數(shù)據(jù)量參數(shù)設(shè)置為50時由于需要匹配計算的每個類別的支撐數(shù)據(jù)在增加,可以有效避免與錯誤類別匹配成功的偶然性,直接提升了總體的分類性能。但同時因為數(shù)據(jù)量參數(shù)設(shè)置的提升,需要遍歷匹配的數(shù)據(jù)量在增加,合約分類所需要花費的時間也在增長??梢愿鶕?jù)合約分類對于準確性與消耗時間需求的衡量,靈活選擇用于分類的類別數(shù)據(jù)量。為了達到最優(yōu)的分類性能,本文實驗部分選擇的類別數(shù)據(jù)量為50。

        5.5 分類性能分析

        最后為了驗證本文所提方法的實驗性能,與其他論文所提方法以及基線方法進行了對比實驗。其中,基于智能合約分類的雙向長短時記憶網(wǎng)絡(luò) (Bi-LSTM for Smart Contract Classification, SCCBiLSTM)為文獻[21]提出的方法,該方法采用了語義增強以及引入了注意力機制的Bi-LSTM模型來實現(xiàn)智能合約分類;支持向量機+交易信息以及神經(jīng)網(wǎng)絡(luò)+交易信息為文獻[14]提出的方法,這兩種方法采用了傳統(tǒng)的機器學(xué)習(xí)算法并引入了智能合約中的交易信息特征來構(gòu)建智能合約分類模型;HANN-SCA為文獻[19]提出的一種基于層級注意力機制與Bi-LSTM神經(jīng)網(wǎng)絡(luò)的智能合約自動分類模型。Double-Siamese為本文提出的基于雙層孿生神經(jīng)網(wǎng)絡(luò)的智能合約分類方法。其中對比方法遵循原論文的實驗環(huán)境設(shè)置,所用數(shù)據(jù)是在以太坊或者區(qū)塊鏈去中心化應(yīng)用平臺獲取的原始的類別不均衡的智能合約數(shù)據(jù)集,本文所提方法是在小樣本數(shù)據(jù)環(huán)境下進行的,對數(shù)據(jù)進行了過采樣處理,每個類別都僅保留50條合約數(shù)據(jù)。與其他方法的分類性能比較如表6所示。

        表6 合約分類對比實驗結(jié)果

        實驗結(jié)果表明,相比于其他方法,本文所提方法具有最優(yōu)的分類性能。但值得注意的是,為了達到最佳的分類效果,本文所提方法對內(nèi)存的要求較高,因為該方法需要存儲所有的帶有標簽的支撐數(shù)據(jù),同時在合約分類預(yù)測階段也需要花費較多時間,因為該方法需要遍歷所有的支撐數(shù)據(jù),逐一匹配計算相似性。但本文所提方法可以根據(jù)分類性能高低與耗費時間長短的不同任務(wù)需要,通過靈活調(diào)整用于分類匹配的數(shù)據(jù)量參數(shù)來實現(xiàn)不同場景下的不同需求。

        6 結(jié)論

        本文針對當前智能合約分類領(lǐng)域存在的問題,提出基于雙層孿生神經(jīng)網(wǎng)絡(luò)的智能合約分類模型,并通過分析智能合約數(shù)據(jù)集的特點,設(shè)計了小樣本場景下的智能合約分類方法。首先,進行數(shù)據(jù)欠采樣處理,對每個類別的智能合約僅保留相同數(shù)目少量的合約數(shù)據(jù)。其次,針對智能合約數(shù)據(jù)長度過長的特點,設(shè)計了可以分別獲取前后段合約特征的底層孿生網(wǎng)絡(luò)部分。然后,為了捕獲全局數(shù)據(jù)特征,構(gòu)建了可以進行向量拼接、合約對相似度判斷的上層孿生神經(jīng)網(wǎng)絡(luò)部分。最后,提出了小樣本場景下基于雙層孿生神經(jīng)網(wǎng)絡(luò)的模型訓(xùn)練策略和智能合約分類方法,并通過實驗驗證了本文所提方法的可行性和有效性。

        猜你喜歡
        分類智能模型
        一半模型
        分類算一算
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        分類討論求坐標
        智能前沿
        文苑(2018年23期)2018-12-14 01:06:06
        智能前沿
        文苑(2018年19期)2018-11-09 01:30:14
        智能前沿
        文苑(2018年17期)2018-11-09 01:29:26
        智能前沿
        文苑(2018年21期)2018-11-09 01:22:32
        數(shù)據(jù)分析中的分類討論
        亚洲精品中文字幕一二三四| 亚洲免费天堂| 亚洲无码vr| 国产毛片视频一区二区三区在线| 丝袜人妻一区二区三区| 麻豆精品传媒一二三区| 毛片无码高潮喷白浆视频| 尤物成av人片在线观看| 不卡一区二区黄色av| 国产免费av片在线播放| 在线视频 亚洲精品| av在线男人的免费天堂| 国产精品国产三级国产av中文| 成人午夜福利视频镇东影视| 一国产区在线观看| 国产毛片一区二区三区| 国产偷国产偷亚洲高清视频| 精品无码日韩一区二区三区不卡 | 亚洲二区三区在线播放| 国产精品网站91九色| 亚洲人精品亚洲人成在线| 国内精品一区视频在线播放 | 影视av久久久噜噜噜噜噜三级| 美女大量吞精在线观看456| 无码精品人妻一区二区三区98| 日韩精品极品系列在线免费视频 | 日本久久久久| 亚洲av永久一区二区三区| 国产后入清纯学生妹| 成人片黄网站色大片免费观看app 亚洲av无码专区亚洲av | 欧美日韩亚洲中文字幕二区| 亚洲精品国产美女久久久| 亚洲国产日韩综一区二区在性色 | 亚洲成av人片在线观看| 国产成年女人特黄特色毛片免| 国产中文字幕乱码在线| 国产蜜桃传媒在线观看| 人妻少妇精品视频专区| 无码gogo大胆啪啪艺术| 吃奶还摸下面动态图gif| 人妻少妇中文字幕久久69堂|