hin2vec 異質信息網絡表示學習 個人筆記

hin2vec的思想其實挺簡單的

 

它學習兩種embedding,一種是對於節點的嵌入,一種是對於元路徑(meta path)的嵌入

(ps 作者在文中說如果要強調路徑的有向性,強調路徑開始節點和終止節點的不同,那麼可以擴展到三種embedding,對於路徑起始節點的嵌入,對於路徑終止節點的嵌入,對於元路徑的嵌入)

 

訓練流程如上。這是一個二分類網絡,輸出對於一定的x,y存在關係r的概率

 

x,y,r 分別代表路徑起始節點、路徑終止節點、元路徑的one-hot向量,𝑊_x′x 就是x對應節點的嵌入向量

 

這個模型的輸出是 o= 𝑠𝑖𝑔𝑚𝑜𝑖𝑑( ∑ 𝑊_𝑥′𝑥⊙𝑊_𝑦′𝑦⊙𝑓01(𝑊_𝑟′𝑟)  )

 

從外到內

sigmoid是sigmoid函數

∑是求和

⊙是hadmard函數,也就是對向量的逐項相乘

f01是01標準化函數

損失函數就是一般的交叉熵損失

 

 

其實會讓人聯想到注意力機制(我不懂注意力),訓練過程中的r相當於一個query

另外用起來的話覺得比較不順手的一點就是對於不同的metapath在訓練時沒有權重分配。也就是說對於不同的特定任務hin2vec訓練得到的嵌入其實是有提升空間的

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章