日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

异构图-GTN(Graph Transformer Networks)

發布時間:2024/9/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 异构图-GTN(Graph Transformer Networks) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

上一節的HAN表示異構圖的Attention Network,通過手動設置Meta-path,然后聚合不同Meta-path下的節點attention,學到節點最終的表示。但是這個方法是手動選擇Meta-path的,因此可能無法捕獲每個問題的所有有意義的關系。同樣,元路徑的選擇也會顯著影響性能

而Graph Transformer Networks是自動聚合Meta-path,同時以端到端的學習方式轉換圖上的節點表示形式。

幾個概念

  • τv\tau ^vτv:節點的類型
  • τe\tau^eτe:邊的類型
  • ACM數據集包含:Paper(3025),Author(5835),Subject(56)個類型,τv=3,τe={PA,AP,PS,SP}\tau^v=3,\tau^e = \{PA, AP, PS, SP\}τv=3τe={PA,AP,PS,SP},需要注意的是Author和Subject之間沒有邊的連接, 所以沒有AS和SA的關系。
  • {Ak}kK=1,K=∣τe∣\{A_k\}^K_k=1, K = |\tau^e|{Ak?}kK?=1,K=τe:鄰接矩陣,例如Paper與Author的鄰接矩陣的大小是3025×58353025 \times 58353025×5835,而Paper與Subject的鄰接矩陣的大小是3025×563025 \times 563025×56,因此這兩個鄰接矩陣的shape大小不同。為了把shape統一到一起,需要將節點組合在一起,形成統一的一個鄰接矩陣。如下圖所示藍色的部分就是PA的鄰接矩陣,其余的地方數據為0,表示沒有邊的連接

  • 特征矩陣: 每個Paper都有自己的特征,例如Paper1 = [1,0,0,0,1,1,0,....,0,0],Paper2=[1,1,0,1,0,1,0,.....,0,0],而Author的特征是將對應的Paper特征拼在一起,例如Author1 = [Paper1, Paper2]=[1,1,0,1,0,1,0,....,0,0],同理Subject也是將對應的Paper拼在一起,例如Subject1 = [Paper1, Paper3] = [1,1,0,1,1,1,0...,0,0]。需要注意的是,這里并不一定是要拼接在一起,可以做均值Pooling、或者max pooling、或者求和,可以根據自己的任務來選擇。

GTN如何組合多元的Meta-path的

已知τe={PA,AP,PS,SP}\tau^e=\{PA,AP,PS,SP\}τe={PA,AP,PS,SP},想得到PAP這個Meta-path下,所形成的Paper和Paper之間的鄰接矩陣,那么就可以做AdjPA?AdjAPAdj_{PA} * Adj_{AP}AdjPA??AdjAP?,也就是meta-path={PAP}={PA,AP}=AdjPA?AdjAP\{PAP\}=\{PA, AP\}=Adj_{PA} * Adj_{AP}{PAP}={PA,AP}=AdjPA??AdjAP?,矩陣的相乘相當于節點的轉移,通過A節點得到P節點之間的連接關系。

反之,如果meta-path={PAP}={PA,PA}=AdjPA?AdjPA\{PAP\}=\{PA, PA\}=Adj_{PA} * Adj_{PA}{PAP}={PA,PA}=AdjPA??AdjPA?,這樣是沒有一個具體的物理意義,同理{PA,PS},{AP,SP}=Nan\{PA,PS\},\{AP,SP\}=Nan{PA,PS},{AP,SP}=Nan,(在鄰接矩陣上相乘得到0矩陣)。

meta-path={APA}={AP,AP}=AdjAP?AdjAP=AA\{APA\}=\{AP, AP\}=Adj_{AP} * Adj_{AP}={AA}{APA}={AP,AP}=AdjAP??AdjAP?=AA得到的和Paper無關,因為我們的任務是做Paper的分類,對結果沒有影響。

算法流程


矩陣A表示多種Meta-path下的鄰接矩陣,利用可學習的參數w?1w_\phi^1w?1?做softmax,得到的向量,與矩陣A相乘

例如:τe={t1,t2,t3,t4}\tau^e=\{t_1,t_2, t_3,t_4\}τe={t1?,t2?,t3?,t4?},有四個鄰接矩陣A={A1,A2,A3,A4}A = \{A_1, A_2,A_3,A_4\}A={A1?,A2?,A3?,A4?},創建四個可學習的參數W?1={α11,α21,α31,α41},W?2={α12,α22,α32,α42}W_\phi^1=\{\alpha_1^1, \alpha_2^1,\alpha_3^1,\alpha_4^1\},W_\phi^2=\{\alpha_1^2, \alpha_2^2,\alpha_3^2,\alpha_4^2\}W?1?={α11?,α21?,α31?,α41?},W?2?={α12?,α22?,α32?,α42?},然后將W?1W_\phi^1W?1?W?2W_\phi^2W?2?做一次softmax,然后與鄰接矩陣相乘,得到Q1=α11?A1+α21?A2+α31?A3+α41?A4Q_1=\alpha_1^1 * A_1 + \alpha_2^1 * A_2 + \alpha_3^1 * A_3+\alpha_4^1 * A_4Q1?=α11??A1?+α21??A2?+α31??A3?+α41??A4?相當于對A矩陣進行了一次加權求和,同理得到Q2Q_2Q2?矩陣,然后將Q1Q_1Q1?Q2Q_2Q2?相乘的到A1=Q1?Q2A^1 = Q_1 * Q_2A1=Q1??Q2?A1A_1A1?相當于聚合了一次Meta-path之后的到的鄰接矩陣,也就是上面講的meta-path={PAP}={PA,PA}=AdjPA?AdjPA\{PAP\}=\{PA, PA\}=Adj_{PA} * Adj_{PA}{PAP}={PA,PA}=AdjPA??AdjPA?

如果要學習任意長度的Meta-path,那么可以學習多個channel,這樣就學習出多個Meta-path下的聚合方式,

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的异构图-GTN(Graph Transformer Networks)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。