本發(fā)明涉及一種基于大語言模型的通用圖任務(wù)方法,屬于計算機智能科學(xué)中模式識別。
背景技術(shù):
1、圖作為一種應(yīng)用廣泛且具有深度影響力的數(shù)據(jù)結(jié)構(gòu),在當(dāng)今各領(lǐng)域的數(shù)據(jù)分析與處理中占據(jù)了重要的地位?,F(xiàn)實世界中,有許多圖數(shù)據(jù)的應(yīng)用場景,比如在社交網(wǎng)絡(luò)中,節(jié)點通常代表了社交用戶而邊通常代表用戶之間的好友關(guān)系,通過分析社交網(wǎng)絡(luò)數(shù)據(jù),可以獲得用戶的行為偏好,從而為用戶進行更精確的社交推薦;在蛋白質(zhì)網(wǎng)絡(luò)中,節(jié)點代表蛋白質(zhì)而邊通常代表蛋白質(zhì)之間的交互方式,通過分析蛋白質(zhì)網(wǎng)絡(luò)數(shù)據(jù),可以研究不同蛋白質(zhì)的相互作用關(guān)系,有助于從系統(tǒng)的角度研究疾病分子機制、發(fā)現(xiàn)新藥靶點。隨著大數(shù)據(jù)時代的到來,圖數(shù)據(jù)的規(guī)模愈發(fā)龐大,蘊含的潛在信息也愈發(fā)豐富,因此,準確、高效地挖掘圖數(shù)據(jù)并合理利用數(shù)據(jù)中的信息能夠有效推動產(chǎn)業(yè)發(fā)展、改善生活質(zhì)量并提高經(jīng)濟收益。
2、最近,隨著預(yù)訓(xùn)練大模型的興起,人們對基礎(chǔ)模型通用方法的關(guān)注達到了高潮,例如計算機視覺中的sam(segment?anything?model)通過學(xué)習(xí)大規(guī)模無標注或弱標注數(shù)據(jù)集中的底層特征,來獲得對于圖像內(nèi)容的高度理解能力,使得其能夠?qū)Ω鞣N類型的物體進行有效識別和分割;自然語言處理中的chatgpt基于transformer架構(gòu)并經(jīng)過大量文本數(shù)據(jù)訓(xùn)練,不僅能夠生成流暢、連貫且有上下文邏輯的對話,還能夠完成代碼編寫、問題解答、文本創(chuàng)作等多種復(fù)雜任務(wù)。chatgpt的成功應(yīng)用展示了預(yù)訓(xùn)練大模型如何將人工智能的交互性和實用性提升到了新的水平,這使得通過領(lǐng)域遷移的方式來構(gòu)造圖大模型的方法成為可能。
3、目前,有一些前沿研究也在關(guān)注如何使用llm(large?language?model)來解決圖領(lǐng)域的相關(guān)任務(wù)。有部分研究人員為各種具有隱式圖結(jié)構(gòu)的任務(wù)設(shè)計了相應(yīng)的提示文本,僅根據(jù)大模型生成的輸出文本獲得推理結(jié)果。他們的工作成果地證明了語言大模型在圖領(lǐng)域的強大潛力,然而他們并沒有考慮到圖復(fù)雜的屬性特征和拓撲特征,他們所提出的方法只能對諸如邏輯排序、最大流和哈密爾頓回路等簡單的圖任務(wù)有效。因此,(1)未考慮圖復(fù)雜的屬性特征和拓撲特征(2)大部分圖任務(wù)沒有對應(yīng)文本特征,這兩個關(guān)鍵問題使得現(xiàn)有語言大模型難以直接應(yīng)用于復(fù)雜的圖任務(wù)。
技術(shù)實現(xiàn)思路
1、為解決上述問題,本發(fā)明提出一種基于大語言模型的通用圖任務(wù)方法,能夠利用大語言模型的能力,完成復(fù)雜的圖分類、節(jié)點分類任務(wù),并且在保障精度的情況下,效率可被接受。
2、為了達到上述目的,本發(fā)明提供如下技術(shù)方案:
3、一種基于大語言模型的通用圖任務(wù)方法,所述方法包括以下步驟:
4、步驟1,給定圖結(jié)構(gòu)數(shù)據(jù)g=(v,a,e),其中v=v1,v2,v3,…,vn為節(jié)點集合,n=|v|,e為邊集合,對應(yīng)的鄰接矩陣a∈{0,1}n×n,當(dāng)節(jié)點i和節(jié)點j之間有邊連接時,aij=1,否則aij=0。首先使用基于改進隨機游走的位置編碼rwpe(random?walk?positional?embedding)或基于拉普拉斯分解的位置編碼lape(laplacian?positional?embedding)對圖結(jié)構(gòu)數(shù)據(jù)進行通用序列化,兩種位置編碼構(gòu)造與序列化過程如下。
5、步驟1-1,rwpe位置編碼構(gòu)建,給定包含n個節(jié)點的圖gm,rwpe位置編碼采用k步的隨機游走進行定義:
6、
7、其中rw=ad-1為隨機游走算子,pi代表了第i個節(jié)點的隨機游走位置編碼,代表了第m個圖的位置編碼。此處僅考慮每個節(jié)點游走到其自身的概率,當(dāng)k足夠大時,rwpe提供每個節(jié)點的唯一節(jié)點表示。
8、步驟1-2,lape位置編碼構(gòu)建,具體來說,首先定義圖拉普拉斯的因式分解為其中in是n×n的單位矩陣,d是n×n的度矩陣,λ和u分別表示特征值和特征量,給定包含n個節(jié)點的圖gm,lape位置編碼選用k鄰域進行定義:
9、
10、pi代表了第i個節(jié)點的位置編碼,代表了第m個圖的拉普拉斯位置編碼。
11、步驟2,根據(jù)步驟1構(gòu)建的兩種位置編碼作為輸入,采用基于任務(wù)的序列化過程對數(shù)據(jù)進行進一步處理,具體包括如下子步驟:
12、步驟2-1,針對圖分類任務(wù)進行數(shù)據(jù)序列化,給出一組包含m個圖的集合和通過公式(2)和公式(4)獲得的位置編碼p={p1,p2,…,pm},通過mlp映射可以獲得初始節(jié)點嵌入x={x′1,x′2,…,x′m},其中x′m=mlp(xm)+mlp(pm),代表了第m張圖的節(jié)點數(shù)量。隨后,將圖集合進行排序獲得序列化特征
13、步驟2-2,針對節(jié)點分類任務(wù)進行數(shù)據(jù)序列化,給出圖和其對應(yīng)的位置編碼pm后,與步驟1相同操作可以獲得初始節(jié)點嵌入隨后,對于節(jié)點v,采樣其k鄰域其中d(u,v)代表了節(jié)點v和節(jié)點u之間的最短距離,k代表了k跳鄰域。對于節(jié)點v,其k跳鄰域表示可以表示為:
14、
15、其中代表了k次圖消息傳遞,并且對于每個節(jié)點v通過上述公式(5)可以獲得每個節(jié)點的k鄰域表示隨后對個節(jié)點進行排列可以獲得序列化特征
16、步驟3,模型凍結(jié)與微調(diào),選用llama2作為預(yù)訓(xùn)練大模型,為了保留多頭注意力層(mha)和前饋網(wǎng)絡(luò)層(ffn)的大量預(yù)訓(xùn)練知識,因此在微調(diào)時凍結(jié)mha和ffn,微調(diào)模型其他部分,在獲得步驟2中的序列化特征s后,微調(diào)過程可以表示為:
17、
18、其中l(wèi)n(·)代表了rmsnorm,l=1,...,l代表了使用的llama2的模塊數(shù)量,當(dāng)l=1時,(為步驟2的結(jié)果)。
19、步驟4,下游任務(wù)微調(diào),對于圖分類任務(wù)和節(jié)點分類任務(wù),設(shè)計不同的模塊進行分類,具體包括如下子步驟:
20、步驟4-1,圖分類,為了確保每個圖在計算過程中不會相互影響,構(gòu)造了一個僅由0和1組成的掩碼矩陣m,并且使用歸納式方法進行圖注意力計算。當(dāng)xm均屬于一個圖時,將掩碼矩陣m的對應(yīng)部分設(shè)置為1,否則設(shè)置為0。隨后,公式(6)中模型的mha模塊可以更新為:
21、
22、其中q代表了查詢值,k代表了鍵值,v代表了鍵值,是投影矩陣,dq代表了隱藏層維度,m為掩碼矩陣,最后,選擇全局平均池化作為讀出層,表達成如下:
23、
24、其中為l=l時的結(jié)果。
25、步驟4-2,節(jié)點分類,獲得序列化特征s后,對每一跳信息進行注意力計算,讀出層表示為如下:
26、
27、
28、其中wa代表了轉(zhuǎn)化矩陣,sk代表了每個節(jié)點的k跳表示,αk代表了權(quán)重系數(shù)矩陣,exp()代表了自然指數(shù)函數(shù)。
29、步驟5,在步驟4完成之后,采用交叉熵損失函數(shù)進行模型訓(xùn)練,具體可以表示為:
30、
31、其中l(wèi)ce代表了交叉熵損失,和yi分別代表了預(yù)測值和標簽,在節(jié)點分類中n代表了節(jié)點數(shù)量,在圖分類任務(wù)中n代表了圖的數(shù)量。
32、在模型訓(xùn)練完成后,使用訓(xùn)練好的模型即可進行不同的任務(wù)(圖分類任務(wù),節(jié)點分類任務(wù))。
33、與現(xiàn)有技術(shù)相比,本發(fā)明具有如下優(yōu)點和有益效果:
34、本發(fā)明通過將大語言模型的強大泛化能力遷移到圖任務(wù)中,在復(fù)雜的圖分類、節(jié)點分類任務(wù)上超越了最新的方法;可處理數(shù)據(jù)覆蓋廣泛,包括引文網(wǎng)絡(luò)、商品購買關(guān)系網(wǎng)絡(luò)、合著者網(wǎng)絡(luò)、在線論壇網(wǎng)絡(luò)、蛋白質(zhì)網(wǎng)絡(luò)和分子化合物等;在數(shù)據(jù)量較少的情況下(正常數(shù)據(jù)量的10%),本發(fā)明提出的方法能提高7%以上的精度。