Graph Networkを具体的に把握する(MPNN、NLNN)|Graph Neural Networkの理解を試みる #3

f:id:lib-arts:20210502163018p:plain

Graph Neural Networkの理解を試みるシリーズです。#2では"Relational inductive biases, deep learning, and graph networks"を元にGraph Networkの大枠について確認を行いました。

#2ではGraph Networkの大枠の理解を中心に行ったので、#3ではもう少し具体的に確認してみようと思います。

以下、当記事の目次になります。
1. Graph Networkの具体化(Section4-2)
1-1. MPNN(Message Passing Neural Network)とGraph Network
1-2. NLNN(Non-Local Neural Network)とGraph Network
2. Design principles(Section4)〜Discussion(Section5)
3. まとめ


1. Graph Networkの具体化(Section4-2)
1節ではGraph Networkを具体的に確認を行います。

f:id:lib-arts:20210502182254p:plain
上記が元論文のFigure_4ですが、こちらの内容をより具体的に確認していきます。


1-1. MPNN(Message Passing Neural Network)とGraph Network
1-1節ではGraph Networkに基づいたMPNN(Message Passing Neural Network)の記述について確認します。

f:id:lib-arts:20210504201347p:plain

f:id:lib-arts:20210504201424p:plain

f:id:lib-arts:20210504201431p:plain

上記ではMPNN(Message Passing Neural Network)をGraph Networkの形式で表現しています。それぞれ\phiではエッジやノードなどのそれぞれの属性の値を更新し(update function)、\rhoで値の集約を行うこと(aggregation function)が確認できるかと思います。\phi^{e}\phi^{v}\rho^{e \to v}でMessage Passingが表現されていることが確認できるかと思います。

また、グラフ分類(Graph Classification)タスクなどを行うにあたっての出力にあたっては、ノードなどの値を集約する必要があり、こちらに関しては\rho^{v \to u}で表現されています。uに関してはグラフ分類タスクの出力と把握しておくのが良いかと思います。


1-2. NLNN(Non-Local Neural Network)とGraph Network
1-2節ではGraph Networkに基づいたNLNN(Non-Local Neural Network)の記述について確認します。

f:id:lib-arts:20210504202438p:plain
NLNN(Non-Local Neural Network)は上記のように図示されています。上記だけだとMPNN(Message Passing Neural Network)のGlobal blockがないバージョンですが、NLNNの特徴は主に\phi^{e}\rho^{e \to v}の処理が少々複雑になる点です。

f:id:lib-arts:20210504203135p:plain

f:id:lib-arts:20210504203201p:plain

"Wang et al. (2018c)"で表された"Non-local neural networks"では上記のような記載が行われています。

f:id:lib-arts:20210504203637p:plain

f:id:lib-arts:20210504203653p:plain
また"Vaswani et al., 2017"で表されたTransformerは上記のような記載ができるとされています。

 

2. Design principles(Section4)〜Discussion(Section5)
2節では"Relational inductive biases, deep learning, and graph networks"のSection4〜Section5の内容を簡単に俯瞰します。

Section4-1ではFlexible representationsということで、Graph Networkの柔軟な表現性について記載されています。ノードやエッジの属性の持ち方(Section4-1-1)やグラフ構造(Section4-1-2)のような表現を用いることで柔軟な表現が可能であるとされています。Section4-2の内容は1節で確認したので省略します。
Section4-3ではSection4-2で定義したGN blockを複数用意し、それを組み合わせることについて議論されています。

f:id:lib-arts:20210504204924p:plain
続くSection5のDiscussionではいくつかの視点から議論が行われています。

f:id:lib-arts:20210504205216p:plain

上記はSection5の冒頭部の記載ですが、DeepLearningにおいて"より強力な(stronger) relational inductive biases"を作成するにあたって、graph-structuredなデータを取り扱うことのできるGraph Networkを提唱したとされています。

f:id:lib-arts:20210504205645p:plain

上記はSection5-3のOpen questionsの記載ですが、「どのようにグラフ構造を作成すべきか」という点について議論がなされています。ここでTransformerのようなself-attentionに基づくアプローチが(実際のentityを表現している訳ではないものの)一つの手法として挙げられるとされています。このあたりの記載が近年多くの研究でself-attentionに基づくTransformerモジュールが用いられている理由とざっくり把握しておいて良いかと思います。


3. まとめ
#3ではGraph Networkの視点からMPNN(Message Passing Neural Network)やNLNN(Non-Local Neural Network)について確認することで、具体的なイメージを掴みました。
#4以降でも具体的にGraph Neural Networkの理解に有用な内容について確認を行っていければと思います。