【論文読解めも】Semi-supervised Learning with Graph Learning-Convolutional Networks
半教師ありで、グラフ構造を表す隣接行列のようなノード間の接続表現を獲得する手法Graph Learningを提案している。
グラフを用いた深層学習手法を行う際に、ノードとそれについての特徴量が与えられていることは多いが、エッジに相当する情報は必ずしも与えられていないことも多い。Graph Learningでは、ノード間のエッジが明示的に与えらえていないデータでも、後続するレイヤーと協働して、グラフ構造をソフトに推定できる。
半教師あり、ということで、実際の隣接行列が得られているデータと得られていないデータを組み合わせて訓練することができる。
- Jiang, Bo, et al. "Semi-supervised learning with graph learning-convolutional networks." Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition. 2019.
- 日本語のわかりやすい資料
Graph Convolution Network
通常のGCNについて簡単な復習。GCNは、以下のような操作を行う
- 各層は
を入力とし、X^(k) を出力とする。最初の入力X^(k+1) は、X=X^(0) 個のノードにそれぞれ与えられたn 次元の特徴量をまとめた、p のサイズである。\mathbb{R}^{n \times p} - 各層には訓練対象のパラメータ
が設定されている。最初の層の入力次元はW^(k) \in \mathbb{R}^{h_k \times h_{k+1}} である。h_0 = p -
はグラフのノード間の類似度や隣接関係を表す行列で、A 個のノードに対して、n のサイズとなる。グラフ理論の文脈では隣接行列という。A \in \mathbb{R}^{n \times n} -
は、各ノードがどれだけ自身を含むほかのノードとどれだけ強い関係D を持っているかをまとめた対角行列で、d と表される。また、D = \mathrm{diag}(d_1, d_2 \cdots d_n) である。グラフ理論の文脈では、次数行列という。d_i = \sum_{j=1}^n A_{ij} -
は活性化関数で、分類モデルなどでは、最後のレイヤー以外はReLU、最後のレイヤーでsoftmaxが使われる。\sigma
Graph learning architecture
グラフの隣接行列に相当する行列
基本的な考え方は、2つのノードの特徴量の差異をもとにこれらのノードをどのくらい強く接続しているとみなすかを決めよう、というもので、以下のような数式で表される。
ここで、
ターゲットとなる隣接行列
また、ターゲットとなる隣接行列
GLCN architecture
Graph learningによって推定される
細かい実験に関する読解は省略。