グラフにおける機械学習|グラフニューラルネットワークを学ぶための基礎2
前回の記事では、グラフとは何か、代表的なグラフの種類、属性情報について解説しました。グラフ構造を持つデータに対して機械学習を適用する場合、どのようなタスクを解くことができるのか。本記事では、グラフ上の機械学習タスクとして代表的な4種類を、GRL本の第1章1.2節に沿って解説します。
グラフ機械学習タスクの種類|ノード・エッジ・グラフ単位の予測
機械学習のタスクは一般に、教師あり学習(入力から目標出力を予測する)と教師なし学習(データのパターンや構造を推定する)に分類されます。グラフ上の機械学習でも同じ枠組みが使えますが、従来の枠組みにうまく当てはまらないケースが多くあります。
グラフ上の機械学習タスクは、予測の単位によって次の3つに分類できます。
| 予測の単位 | タスク |
|---|---|
| ノード | ノード分類 |
| エッジ(ノード対) | 関係予測 |
| ノードのグループ | クラスタリング・コミュニティ検出 |
| グラフ全体 | グラフ分類・回帰・クラスタリング |
以下では、それぞれのタスクについて詳しく解説します。
ノード分類とは|グラフ内のノードにラベルを予測する
ノード分類の定義
ノード分類(Node Classification)は、グラフ内の各ノードに対してラベル を予測するタスクです。グラフ が与えられたとき、一部のノードだけラベルが既知の訓練セット があり、残りのノードのラベルを予測します。
ノード分類はグラフ上の機械学習タスクの中で最もよく研究されているタスクの1つです。応用例として、ソーシャルネットワーク内のボット検出([Hamilton et al., 2017b])、インタラクトームにおけるタンパク質の機能分類、引用グラフに基づく論文トピックの推定([Kipf and Welling, 2016a])などがあります。
ノード分類の特徴|i.i.d.仮定が成り立たない
ノード分類は通常の分類問題に似ていますが、重要な違いがあります。グラフ内のノードは独立同分布(i.i.d.)ではありません。
通常の教師あり機械学習では、各データ点が他のデータ点と統計的に独立していると仮定します。しかしグラフでは、ノード同士がエッジで結ばれており、互いに影響を与え合います。ノード分類モデルを構築するときは、ノードを独立したデータ点として扱うのではなく、ノード間の関係を直接モデルに組み込む必要があります。
この際に重要な概念が同類性(Homophily)です。同類性とは、グラフ内で隣接するノードは似た属性を持つ傾向があるという性質です。例えばSNSでは、同じ趣味や属性を持つ人同士がつながりやすい傾向があります。この性質を利用すると、隣接ノードに似たラベルを割り当てるモデルが構築できます。
同類性の他にも、構造的等価性(Structural Equivalence、似た局所的な近傍構造を持つノードは似たラベルを持つという性質)、異種結合性(Heterophily、異なるラベルのノードと優先的に接続されるという性質)などの概念もあります。
ノード分類は半教師あり学習
ノード分類は「半教師あり学習(semi-supervised learning)」と呼ばれることがあります。訓練時には訓練セット のラベルのみが既知ですが、ラベルなしノード(テストノード)を含むグラフ全体の構造は利用できます。テストノードの近傍情報を訓練中に使える点が、通常の教師あり学習と異なります。
通常の半教師あり学習の定式化はi.i.d.仮定に基づいており、グラフのノード分類には厳密には当てはまりません。グラフ上の機械学習タスクは、従来の機械学習カテゴリには収まりきらない側面を持っています。
流体領域でのノード分類の応用例
流体領域では、配管ネットワークや計測ネットワークをグラフで表現したとき、センサーノードを正常・異常に分類するタスクがノード分類に相当します。また、非構造格子をグラフとして表現し、各格子点を流体的特性(境界層・自由流・剥離域)に分類するタスクも考えられます。
関係予測とは|欠損しているエッジを推定する
関係予測の定義
関係予測(Relation Prediction)は、グラフ内の欠損したエッジを推定するタスクです。リンク予測(Link Prediction)、グラフ補完(Graph Completion)、関係推論(Relational Inference)とも呼ばれます。
ノード集合 と不完全なエッジ集合 が与えられたとき、欠損エッジ を推定することが目標です。
関係予測は多くの実応用を持つ重要なタスクです。ソーシャルプラットフォームでのコンテンツ推薦 [Ying et al., 2018a]、薬物の副作用予測 [Zitnik et al., 2018]、知識グラフの補完 [Bordes et al., 2013] などが代表的な例です。
関係予測の難しさ
関係予測の難しさはグラフの種類によって大きく異なります。単純なグラフ(SNSの友人関係など)では、2つのノードが共有する隣人の数に基づくヒューリスティクスでも高い性能が得られます [Lü and Zhou, 2011]。一方、数百種類の生物学的相互作用を持つ多関係グラフでは、複雑な推論と推定戦略が必要です [Nickel et al., 2016]。
ノード分類と同様、関係予測も教師あり・教師なし両方の性質を持つタスクです。グラフ特有の帰納バイアスが必要であり、従来の機械学習カテゴリの境界を曖昧にします。
流体領域での関係予測の応用例
流体領域では、配管ネットワークのトポロジーが一部不明な場合(設計図と実設備の差異など)、既知の計測情報から欠損した配管接続を推定するタスクが関係予測に対応します。センサーネットワーク上で、直接接続されていないセンサー間の統計的な相関関係を補完するタスクも同様の枠組みで扱えます。
クラスタリングとコミュニティ検出|グラフの潜在構造を発見する
コミュニティ検出の定義
コミュニティ検出(Community Detection)は、グラフの教師なしクラスタリングです。グラフ だけを入力として、潜在的なコミュニティ構造を発見します。
ノード分類と関係予測が欠損情報の推定(教師あり学習に相当)であるのに対し、コミュニティ検出は教師なしクラスタリングに相当します。
コミュニティ構造とは、グラフが複数のノード群に分かれており、同じ群内のノード同士はエッジを持ちやすく、異なる群のノード同士はエッジを持ちにくいという構造です。例えばGoogleScholarの共著グラフ(共著論文があれば研究者2人を結ぶグラフ)では、全員が等しくつながるのではなく、研究分野・所属機関・属性によってクラスターが形成されることが期待されます。
コミュニティ検出の応用例
コミュニティ検出は、グラフの隠れた構造を発見するために様々な領域で使われています。
| 領域 | グラフ | 発見したいコミュニティ |
|---|---|---|
| 生物学 | 遺伝子相互作用ネットワーク | 機能モジュール [Agrawal et al., 2018] |
| 金融 | 金融取引ネットワーク | 不正グループ [Pandit et al., 2007] |
| SNS | ソーシャルグラフ | 同じ趣味・属性の集団 |
流体領域でのコミュニティ検出の応用例
流体領域では、配管ネットワークにコミュニティ検出を適用することで、圧力や流量の特性が似たゾーンをグループ化できます。非構造格子をグラフとして扱えば、コミュニティ検出によって流体的特性(剥離域・境界層・再循環域)が似た領域を自動的に抽出することも考えられます。
グラフ分類・回帰・クラスタリング|グラフ全体を予測する
グラフレベルタスクの定義
グラフ分類・回帰・クラスタリング(Graph-level Classification, Regression, and Clustering)は、グラフ全体を1つの予測対象として扱うタスクです。
ノード分類や関係予測が単一グラフ内のノード・エッジを対象とするのに対し、グラフレベルタスクでは複数のグラフからなるデータセットが与えられます。各グラフがひとつのデータ点として扱われ、グラフに対して独立した予測値を求めます。グラフクラスタリングは、グラフ間の類似度を教師なしで学習するタスクです。
各グラフはデータセット内でi.i.d.と見なせるため、グラフ分類・回帰は通常の教師あり学習に最も近い枠組みになります。ただし、各グラフ内部のノードとエッジは独立ではありません。グラフ全体の関係構造を考慮した特徴量を定義することが、このタスクの鍵となります。
グラフレベルタスクの応用例
| 領域 | データ | 予測対象 |
|---|---|---|
| 化学 | 分子構造グラフ | 毒性・溶解度の回帰 [Gilmer et al., 2017] |
| セキュリティ | プログラムの構文・データフローグラフ | マルウェア分類 [Li et al., 2019] |
| 創薬 | 分子グラフ | 生物活性の予測 |
流体領域でのグラフ回帰の応用例
流体領域では、異なるジオメトリを表すグラフから空力特性(抗力係数 、揚力係数 )を予測するタスクがグラフ回帰に相当します。
純粋なPINNは単一の流体ドメインに対して繰り返し学習するため、ジオメトリが変わるたびに再学習が必要です。一方、GNNを使ったグラフ回帰では、異なるジオメトリを表す複数のグラフをデータセットとして学習することで、新しい形状にも汎化した予測ができます。配管内の圧力損失を形状グラフから回帰するタスクや、メッシュグラフから流れ場全体を予測するタスクも同じ枠組みで扱えます。
まとめ
グラフ上の機械学習タスクは、予測の単位によって4種類に整理できます。
| タスク | 予測の単位 | 学習の枠組み |
|---|---|---|
| ノード分類 | ノード | 半教師あり |
| 関係予測 | エッジ | 教師あり・なし両方 |
| コミュニティ検出 | ノードのグループ | 教師なし |
| グラフ分類・回帰・クラスタリング | グラフ全体 | 教師あり・なし両方 |
グラフ上の機械学習ではi.i.d.仮定が成り立ちにくく、ノードやエッジ間の関係を直接モデルに取り込む必要があります。この要求に応えるために開発されたのが、グラフニューラルネットワーク(GNN)です。次の記事では、GNNの基礎となる考え方を解説します。
さらに深く学ぶための書籍
本記事のテーマをより深く学びたい方には、以下の書籍をおすすめします。
入門・学部レベル
- Networks, Crowds, and Markets(David Easley、Jon Kleinberg、Cambridge University Press):ネットワーク・グラフ理論の入門として幅広く使われており、数学的な準備が少なくても読み進められる一冊です。
発展・大学院レベル
- Graph Representation Learning(William L. Hamilton、Morgan & Claypool Publishers):本記事のベースとなった教科書です。グラフの基礎からGNNの最新手法まで体系的に解説しており、著者のウェブサイトから無料で入手できます。