JavaScriptを有効にしてください

【論文メモ】Few-shot Relational Reasoning via Connection Subgraph Pretraining

 ·  ☕ 4 min read


はじめに

  • NeurIPS22
    • Few-shotにおける knowledge graph completion task を行う
      • 上図のように, Background KG (knowledge graph)とsupport setが与えられた状態で, Query setのrelationを推論するタスク
    • Connection Subgraph Reasoner (CSR)を提案

Few-shot KG Completion

  • KGは G=(E,R,T)で表される

    • ここで, E,Rはそれぞれentityとrelationで, Tはtripletで T=(h,r,t)|h,tE,rR
  • Few-shotknowledge graph completion taskとは

    • rRなような rについて (=unseenなrelationについて)
    • support set Sr=(hk,r,tk)|hkEk=1Kが与えられた状態で
    • Qr=(hj,r,?)|hjEj=1Jの"?“に該当するentityを当てるタスク



引用: M. Chen, W. Zhang, W. Zhang, Q. Chen, and H. Chen. Meta relational learning for few-shot link prediction in knowledge graphs. In EMNLP, 2019.

Inductive Reasoning

  • 以下のようなものをhypothesisと呼ぶ
    Z,(hc,can be done with,Z)(Z,is located at,tc)(hc,,tc).

  • 基本的には有効なhypothesisを探すことを目的とする

General Framework

  • まずは一般化されたフレームワークを提案している
    • このフレームワークに則り,Learning-freeな方法(CSR-OPT)と学習可能な方法(CSR-GNN)の二つを提案している
  1. Triplet Contextualization
  • support setとクエリのTripletに対して, background KGからサブグラフを作成する
    • 具体的には, ノードからk-hopで到達しうるノードまでを使ってサブグラフを構成する
    • これにより知識グラフによって"contextualized"されたグラフを得ることができる
  1. Hypothesis Proposal
  • 一般にhypothesis proposal module と呼ばれる Mpを用いて, support setに対する全てのサブグラフに対してhypothesisを提案する
    • Mpはどのエッジを採用するかを示すsoft edge mask m:[0,1]Eを出力する
    • エッジを採用 = tripletを採用

mii=1K=Mp(G(hi,ti)|(hi,r,ti)Sr)b=1Ki=1KMenc(G(hi,ti),mi)

  • ただし, Mpは以下の式を満たす必要がある ( sはcosine類似度)
    argmax(i=1KEmi),s.t.i,j1K,s(Menc(G(hi,ti),mi),Menc(G(hj,tj),mj))>1ϵ
  1. Hypothesis Testing.
  • 一般にevidence proposal module Meと呼ばれる Meを用いてhypothesisが正しいかどうかを検証する
    mq=Me(b,G(hq,tq))score=s(b,Menc(G(hq,tq),mq))

  • ただし Meは以下の式を満たす必要がある ( sはcosine類似度)
    s(Menc(G(hq,tq),mq),b)>1ϵ

CSR-OPT (Learning-free)

  • hypothesis proposal module Mpについて, 以下の最適化問題を解く
    Mp(G(hi,ti)|(hi,r,ti)Sr)=argmax(mii=1K)λH(mq)
    s.t.s(Menc(G(hi,ti),mi),Menc(G(hj,tj),mj))>1ϵ,connectivity(mi)>1ϵ

    • ただし, connectivityAを隣接行列, Ri,j=min((I+A+A2)[i,j],1)として, 以下の通り
      connectivity(mi)=1|E|e=(n,n)Emiemin(Rn,hi+Rn,ti+Rn,hi+Rn,hi,1)
    • おそらく k-hop,k[0,2]なので A2とか出てくる

Aが無向または有向グラフGの隣接行列とすると、行列An(すなわちAのn個の複製の積)は興味深い解釈を持つ: 要素(i, j)は頂点iから頂点jへの長さnの(有向または無向)歩道の数を与える。nが、あるi、jについてAnの要素(i, j)が正となるような最小の非負整数とすると、nは頂点iと頂点jとの間の距離である。
引用: Wikipedia ─ 隣接行列

  • evidence proposal module Meについて, 以下の最適化問題を解く ( H()は正則化項)
    T(b,G(hq,tq))=argmaxs(b,Menc(G(hq,tq),mq))λH(mq)

    • MencはランダムなGNN (要検証)

CSR-GNN

  • fenc(G1,m1):G×R|E|Rd, fdec(G2,b):G×RdR|E|として, それぞれを Mp, Meとする
  • fdecにはPathConを使用
    • Relational Message Passing for Knowledge Graph Completion (KDD21)



  • 学習方法
    • reconstruction loss とcontrastive lossを使用
      Lossrecon=CE(m,fdec(G,fenc(G,m)))Losscontrast=max(s(gpos,g)s(gneg,g)+γ,0)

    • gに関して,

    • 同じrelationに対して異なるtripetをサンプリングしてきたものを G,Gとして正例と負例を作る

g=Menc(G,m)gpos=Menc(G,fdec(G,fenc(G,m)))gneg=Menc(G,fdecG,fenc(G,m))

実際の推論例

共有

YuWd (Yuiga Wada)
著者
YuWd (Yuiga Wada)
機械学習・競プロ・iOS・Web