Skip to the content.

メインページ

第4章 グラフ埋め込み

はじめに

グラフ埋め込み(Graph Embedding)は,与えられたグラフの各ノードを低次元ベクトル表現(これらのベクトルを一般的にノード埋め込みと言う)に写像することを目指している. この写像は,元のグラフ内のノードが持つ重要な情報を保存するように行われる. グラフ内のノードは,次の2つのドメイン(領域)で表現することができる.

  1. グラフドメイン:エッジの繋がり(グラフ構造)によってノードを表現
  2. 埋め込みドメイン:連続値を要素に持つベクトルによってノードを表現

以上 (2) つのドメインを考慮すると,グラフ埋め込みは,グラフドメインの情報が埋め込みドメインでも保存されるように,各ノードをグラフドメインから埋め込みドメインへ写像することを目指している. するとここで,2つの重要な疑問が浮かんでくる.

  1. どんな情報を保存する必要があるのか?
  2. どのようにその情報を保存するのか?

ほとんどの場合,グラフ埋め込みのアルゴリズムが異なれば,この2つの問いに対する答えは変わってくるだろう. 最初の問いにある「保存する情報」については,ノードの近傍情報(Perozzi et al., 2014; Tang et al., 2015; Grover and Leskovec, 2016)や,ノードの構造的な役割(Ribeiro et al., 2017),ノードの状態(Ma et al., 2017; Lai et al., 2017; Gu et al., 2018),コミュニティ情報(Wang et al., 2017c)など,多くの種類の情報が保存の対象として研究されている. 2つ目の問いに対しても,様々な手法が提案されている. 技術的な詳細は手法によって異なるが,ほとんどの手法は「埋め込みドメインのノード表現を用いて,保存すべきグラフドメインの情報を再構成する」という点で共通している. 優れたノード表現というのは,保存したい情報を再構成できるはずである. したがって,再構成誤差(reconstruction error)を最小にすることで,グラフドメインから埋め込みドメインへの写像を学習することを目指すことになる. グラフ埋め込みの一般的なプロセスをまとめるために,図4.1に全体的なフレームワークを示した.

図4.1 グラフ埋め込みの一般的なフレームワーク

図4.1に示されているように,この一般的なフレームワークは4つの重要な要素で構成される.

本章では,図4.1の一般的なフレームワークに沿って,グラフドメインが持つ様々な種類の情報を保存する代表的なグラフ埋め込み手法を紹介する. その後,ヘテログラフや二部グラフ,多次元グラフ,符号付きグラフ,ハイパーグラフ,ダイナミックグラフに特化したグラフ埋め込みアルゴリズムを紹介する.

目次


メインページ