グラフニューラルネットワーク(Graph Neural Network, GNN)
1. 概要
A. 定義
ノード(頂点)とエッジ(辺)から成るグラフ構造データを直接入力として受け取り、各ノードが近傍の情報を反復的に集約(aggregate)して自らの表現(embedding)を更新することで、ノード・エッジ・グラフ水準の予測を行うニューラルネットワーク。
従来のニューラルネットワークは、入力が格子(画像)やシーケンス(文)のように規則的で固定された構造であるという暗黙の仮定の上に立っている。CNNはピクセルが2次元格子に整列しているため固定サイズのフィルタを滑らせることができ、RNNはトークンが一列に並んでいるため順に読み進められる。しかし現実の多くのデータはこうした規則性を持たない。ソーシャルネットワークでは一人の友人数はまちまちであり、分子構造では原子が結ぶ結合数も原子ごとに異なり、地下鉄路線図のように接続関係そのものがデータの核心的な意味を担う。こうした非定型・非ユークリッド(non-Euclidean)なデータはノードごとに近傍数が異なり(可変次数)、ノードに固定された順序がない(順列不変)ため、既存モデルをそのまま適用できない。
GNNが2010年代後半以降に急浮上した背景には三つの流れが重なっている。一つはソーシャル・電子商取引・IoTの急増により本質的にグラフであるデータが爆発的に増えたこと、二つはPyTorch Geometric・DGLのようなライブラリが複雑なメッセージパッシングを標準化し参入障壁を大きく下げたこと、三つはGPU/[[npu]]の発展により大規模疎行列演算が実用的な速度に達したことである。これにより、かつては手作業の特徴量に依存していたグラフ問題が端から端までの学習へ移った。
無理に格子へ変える試みは情報を歪める。ソーシャルグラフを隣接行列に展開してCNNに入れると、ノードの順序が変わるたびにまったく別の入力になり、「順序に意味はない」というグラフの本質に反する。GNNはこの問題を「構造を無理に格子へ展開するのではなく、接続関係をそのまま計算に反映しよう」という発想で解く。核心的な洞察は「あるノードの意味はその近傍によって規定される」ことである。すなわち、あるユーザーがどのような傾向を持つかは誰とつながっているかで相当部分説明され、ある原子の化学的役割はどの原子と結合したかで明らかになる。GNNはこの直観を近傍情報の反復集約という演算で実装し、その結果、推薦システム(近傍ベースの選好伝播)、新薬開発(分子グラフの毒性・活性予測)、不正検知(取引ネットワークの異常パターン)、交通予測(道路網ベースの渋滞伝播)など、グラフが本質である問題において従来手法に比べ明確な性能向上をもたらした。
B. 特徴
GNNの設計を貫く性質は三つである。第一に、順列不変性・同変性(permutation invariance/equivariance)——ノードにどのように番号を付けても結果が変わってはならず、GNNの集約関数(和・平均・最大値)は入力順序に無関係であるように設計される。画像のピクセルには「左上から右下へ」という暗黙の順序があるが、グラフの近傍集合には順序がないからである。第二に、局所接続性と重み共有——CNNがすべての位置に同じフィルタを使うように、GNNはすべてのノードに同一の集約・変換パラメータを適用し、サイズの異なるグラフにも一つのモデルで対応する(帰納的一般化)。これにより、10個のノードで学習したモデルを100万ノードのグラフにそのまま使える。第三に、多水準出力——ノード分類(ユーザー傾向)、リンク予測(エッジ水準、友人推薦)、グラフ分類(全体水準、分子毒性)を同じメッセージパッシングの枠組みで扱える。
こうした特徴はGNNを「構造を学習する汎用の枠組み」にする。核心は、学習対象がデータの形態(格子・シーケンス・グラフ)ではなく関係そのものである点であり、実際にCNN・RNNも格子・鎖の形をした特殊なグラフとみなしてGNNの特殊事例と解釈できる。ただしその分だけ設計の自由度が大きく、集約方式・層数・サンプリング戦略など決めるべき要素が多い点は、後の深化・考慮事項で扱う。
| 特徴 | 内容 | 実務的な意味 |
|---|---|---|
| 順列不変性 | ノード番号付与に無関係な結果 | 任意のグラフに一貫適用 |
| 重み共有 | すべてのノードに同一パラメータ | サイズの異なるグラフへの一般化 |
| 多水準出力 | ノード・エッジ・グラフ予測 | 一つの枠組みで多様な課題 |
| 属性+構造の結合 | ノード特徴と接続を共に学習 | 手作業の特徴量設計が不要 |
2. 基本原理——メッセージパッシング(Message Passing)
GNNのほぼすべての変種はメッセージパッシングという共通の枠組みで説明される。各ノードは層(layer)ごとに①近傍からメッセージを受け取り(Message)、②それを順序に無関係に一つにまとめ(Aggregate)、③自らの既存表現と合わせて更新する(Update)。この一回の反復が「近傍1ホップ(hop)の情報を吸収する」ことに当たるため、層をK個積めば各ノードはKホップ離れた近傍までの構造・属性情報を自らの埋め込みに収める。たとえば2層GNNでは、一人のユーザーの表現は友人(1ホップ)と友人の友人(2ホップ)まで反映する。
flowchart LR
subgraph G["入力グラフ"]
A((A)) --- B((B))
A --- C((C))
B --- D((D))
C --- D
end
G --> MP["メッセージパッシング (K層反復)"]
MP --> EMB["ノード埋め込み h_v"]
EMB --> NODE["ノード分類"]
EMB --> LINK["リンク予測"]
EMB --> GRAPH["グラフ分類 (Readout)"]
この過程を数式で見ると、ノードvのk番目の層の表現はh_v^(k) = UPDATE(h_v^(k-1), AGGREGATE({h_u^(k-1) : u ∈ N(v)}))と書く。ここでN(v)はvの近傍集合である。集約関数の選択がモデルの性格を左右する。平均は近傍分布の代表値を安定して捉えるが近傍の個数差を鈍らせ、和は次数(接続数)情報を保存するがスケールが大きくなりうる。最大値は際立った近傍特徴を捉える。グラフ全体を一つのベクトルに要約せねばならないグラフ分類では、すべてのノード埋め込みをまとめるReadout(プーリング)段階を追加する。
メッセージパッシングが強力な理由は構造と属性を同時に、そして自動的に混ぜる点である。たとえば不正検知では、ある口座のリスクは自らの取引パターン(属性)だけでなく、どの口座とどれだけつながっているか(構造)にも共にかかっているが、メッセージパッシングは近傍の属性を引き込んで自らの表現に溶かすため、二つの信号を自然に結合する。逆にこれが弱点にもなる。誤って接続されたエッジ一つが近傍を通じて汚染されたメッセージを広めれば誤りが伝播・増幅されるため、入力グラフの品質が性能に直結する。
GNNの出力は課題に応じて三水準に分かれ、どの水準も同じノード埋め込みから出発する。ノード水準は各ノード埋め込みを分類器に入れてユーザー傾向・論文主題を当て、エッジ(リンク)水準は二つのノード埋め込みを結合して両者が接続される可能性(友人推薦・薬物相互作用)を予測し、グラフ水準はReadoutで全体を要約して分子全体の毒性・溶解度を判定する。一つの学習済み表現を複数の課題に再利用できる点がGNNの実務的な利点である。
| 段階 | 演算 | 役割 |
|---|---|---|
| Message | 近傍uの表現を変換して伝達 | 伝える情報の生成 |
| Aggregate | 和・平均・最大値などで合算 | 順列不変の集約 |
| Update | 既存表現と結合(重み・活性化) | ノード表現の更新 |
| Readout | 全ノード埋め込みのプーリング | グラフ水準の表現(任意) |
3. 主要アーキテクチャ(GCN・GraphSAGE・GAT)
メッセージパッシングの三要素(特にどのように集約するか)をどう具体化するかにより代表的アーキテクチャが分かれる。下の図は、一つのノードが近傍を受け入れて表現を作る過程を、アーキテクチャ別の集約方式を中心に示したものである。
flowchart TB
N1["近傍ノード特徴"] --> AGG{"集約方式"}
AGG -->|"正規化加重和 (次数ベース)"| GCN["GCN"]
AGG -->|"サンプリング + 平均/LSTM/プール"| SAGE["GraphSAGE"]
AGG -->|"アテンション加重和 (学習された重要度)"| GAT["GAT"]
GCN --> TRANS["線形変換 + 活性化"]
SAGE --> TRANS
GAT --> TRANS
TRANS --> OUT["次層のノード表現"]
A. GCN(Graph Convolutional Network)。 GCNは画像の畳み込みをグラフへ一般化した最も基礎的なモデルである。核心的な考えは、近傍表現を単純平均ではなく次数で正規化した加重和でまとめることである。接続が多い(次数が高い)近傍は影響力が過大評価されやすいため、自らと近傍の次数の平方根で割って(1/√(d_u·d_v))影響力を調整する。
この正規化が重要な理由は、グラフの次数分布が極端に不均衡だからである。ソーシャルネットワークでは著名人は数百万のフォロワーを、一般ユーザーは数十人を持つが、正規化なしに単純に合算すると高次数ノードが信号を支配して学習が不安定になる。GCNはこれを数学的にきれいに抑える。ただしGCNはグラフ全体の隣接行列を一度に使うトランスダクティブ(transductive)な方式であるため、学習時に見ていない新しいノードへ直ちに適用しにくく、すべての近傍を同じく(正規化の重みだけ)扱うという限界がある。したがってノード構成がほとんど変わらない固定グラフ(例:論文引用網の主題分類、ソーシャルグラフのコミュニティ検出)に適し、新規ノードが頻繁なサービスには再学習の負担が大きい。
B. GraphSAGE(SAmple and aggreGatE)。 実サービスのグラフは数億個のノードから成り、全近傍を毎回集約するのは非現実的であり、新規ユーザー・商品が絶えず追加される。GraphSAGEはこの問題を近傍サンプリングで解く。各ノードごとに近傍を固定数(例:1ホップ25個、2ホップ10個)だけ無作為に抽出して集約するため、次数がまちまちなグラフでも計算量が一定に保たれ、大規模グラフでもミニバッチ学習が可能になる。
より本質的な差別点は、GraphSAGEがノードごとの埋め込みそのものではなく、「近傍をどう集約するか」という関数(平均・LSTM・プーリング)と変換の重みを学習する点にある。関数だけ学習しておけば、学習になかった新しいノードが入ってきてもその近傍をまとめて直ちに表現を計算でき、帰納的(inductive)な一般化が成り立つ。Pinterestの推薦システムPinSageが数十億規模のピン–ボードグラフにこの方式を適用し、毎日追加される新規ピンを再学習なしで処理したのが代表事例である。こうした性質のため、推薦・広告のようにコンテンツがリアルタイムに増える領域で事実上の標準として使われる。
C. GAT(Graph Attention Network)。 GCNが近傍を次数だけで加重するのに対し、GATは「どの近傍が自分にとってより重要か」をデータから学習する。各近傍の対についてアテンション係数を計算し、それを重みとして集約するため、同じ数の近傍でも意味の大きい接続により集中する。
たとえば論文引用ネットワークで、同じ主題を深く扱った中核的引用と慣例的・形式的引用を区別し前者により大きな重みを与えられ、分子グラフでは反応性に決定的な結合に集中できる。GCNの固定重みが「すべての近傍を構造的重要度だけ扱う」なら、GATは「内容的重要度まで学習して反映する」点で一段柔軟である。マルチヘッドアテンションで複数の観点を並列学習し一つの観点の偏りを緩和して安定性を高めるが、すべてのエッジについて係数を計算するため演算量とメモリが増え、超大規模グラフではサンプリングと併用せねばならない。
D. GIN(Graph Isomorphism Network)と表現力。 集約関数をどう選ぶかは単なる性能の問題ではなく、モデルが構造的に異なるグラフを区別できるかという根本的限界に接している。平均・最大値の集約は近傍の「分布」は見るが「個数」をつぶしてしまい、異なる構造を同じ表現と取り違えうる。たとえば近傍が一つのノードと、同じ近傍が二つのノードを、平均集約は区別できない。GINは集約に和(sum)と単射(injective)関数を使ってこうした重複情報を保存するよう設計され、その表現力がグラフ同型判別の古典的技法であるWeisfeiler-Lehman検査と同等であることが理論的に証明された。これはGNN設計において「集約関数の選択がモデルの理論的上限を定める」という重要な教訓を与え、分子のように微細な構造差が性質を分けるグラフ分類で特に重要である。
| 区分 | GCN | GraphSAGE | GAT |
|---|---|---|---|
| 集約の核心 | 次数正規化加重和 | 近傍サンプリング+集約関数 | アテンション加重和 |
| 学習方式 | トランスダクティブ | 帰納的(inductive) | 帰納/トランスダクティブ両方 |
| 大規模拡張 | 弱い(全隣接行列) | 強い(サンプリング・ミニバッチ) | 中程度(エッジ別計算) |
| 近傍重要度 | 固定(次数ベース) | 均等/集約関数 | 学習された可変重み |
| 代表事例 | コミュニティ分類 | PinSage推薦 | 引用網・分子分析 |
4. 比較——なぜ既存モデルの代わりにGNNか
同じデータを従来手法でも扱える。たとえばグラフの構造情報を捨ててノード属性だけをまとめ一般のMLPに入れるか、人が直接「近傍数・三角形数」のようなグラフ特徴量を手作業で設計して分類器に入れる方式である。しかし前者は接続関係という核心的な信号を丸ごと捨てて性能が大きく下がり、後者は特徴量設計に専門知識と試行錯誤を要し、新しい問題ごとにやり直さねばならない。GNNは構造と属性を共に、データから自動的に学習する点で根本的に有利である。
Node2Vec・DeepWalkのようなグラフ埋め込み手法との差も明確である。これらはランダムウォークでノードごとのベクトルをあらかじめ学習しておくが、ノード属性を使えず、学習になかった新しいノードを扱えないトランスダクティブな限界がある。一方GNNはノード属性を集約に溶かして使い、帰納的な一般化が可能である。実際、新薬候補物質の毒性予測ベンチマーク(例:MoleculeNet)で、分子をグラフで表現したGNNが従来の分子指紋(fingerprint)ベースのモデルを上回る結果が多数報告されており、こうした差が生じる根本的原因は「表現を人が設計するのか、データが構造ごと学習するのか」にある。
| 比較対象 | 構造情報 | ノード属性 | 新ノード対応 | 特徴量設計 |
|---|---|---|---|---|
| MLP(属性のみ) | 使わない | 使う | 可能 | 自動 |
| 手作業グラフ特徴量 | 部分(人が要約) | 使う | 可能 | 手作業 |
| グラフ埋め込み(Node2Vec) | 使う | 未使用 | 不可(トランスダクティブ) | 自動 |
| GNN | 使う(メッセージパッシング) | 使う | 可能(帰納的) | 自動 |
表のとおりGNNは四つの軸をすべて満たす唯一の接近法であり、このため接続関係が豊かでノードごとに意味ある属性がある問題で選択肢になる。ただし「常に優越」なのではなく、接続が希薄または無意味なデータではかえって雑音を引き込み性能が下がりうる点は、後の考慮事項で扱う。
5. 深化——過平滑化の問題と最新動向
A. 過平滑化(Over-smoothing)と実務的含意。 GNNは層を多く積むほど遠い近傍まで見るという利点があるが、逆説的に層が深くなるとすべてのノードの表現が互いに似通い区別がつかなくなる過平滑化が生じる。反復集約が結局グラフ全体の平均へ収束するからである。
直観的に説明すると、集約は層ごとに近傍と表現を「混ぜる」演算であるが、これを無限に反復するとインク一滴が水に広がるようにすべてのノードが同じ色に均質化される。接続が密なグラフほどこの現象が速く、6ホップだけで任意の二人がつながるという小さな世界(small-world)特性を持つソーシャルグラフでは5〜6層積むだけで表現がつぶれる。そのため実務のGNNは2〜3層程度に浅く使う場合が多く、これを克服するため残差接続(residual)・初期表現の再注入(JKNet)・エッジドロップアウト(DropEdge)のような技法を併用する。これは「深さがすなわち性能」であるCNNと対比されるGNN特有の設計制約であり、技術士の観点から浅いモデルで長距離依存をどう確保するかが核心的な設計課題になる。
B. 最新動向。 第一に、時空間GNN(Spatio-Temporal GNN)はグラフ構造に時間軸を結合し、交通渋滞予測・電力需要予測に使われる——道路網(空間)と時間帯(時間)を共にモデリングし、ある交差点の渋滞が隣接区間へ広がる様相を空間伝播と時系列パターンで同時に推定する。第二に、GNNとLLMの結合が活発である。知識グラフをGNNで埋め込み検索拡張生成([[rag]])の根拠とするGraphRAG系は、文書断片だけを検索する従来のRAGよりエンティティ間の関係をたどる多ホップ推論に強い。たとえば「A社の子会社が投資したスタートアップの代表」のように複数の関係を連鎖でたどる問い合わせで、単純な類似度検索は根拠断片を散らばったまま持ってくるが、グラフ探索は経路に沿って正確に絞り込む。第三に、グラフトランスフォーマーのようにアテンションをグラフ全域へ拡張し、過平滑化・長距離依存の問題を緩和しようとする試みが続く。これらの動向はまだ標準が確立される段階であるため、特定の数値・優劣は断定しにくい。
C. 産業適用事例。 金融では口座・取引をグラフとみなし資金洗浄・異常取引検知にGNNを適用し、単件では正常だがネットワーク構造上疑わしい取引の環(循環送金、多段階の分散送金)を捉える。ルールベースの検知が見逃す構造的異常を捉えるのが核心的な価値である。物流・配送では道路網グラフベースの経路・需要予測に、通信ではネットワークトポロジーベースの障害伝播分析に使われる。電子商取引ではユーザー–商品の二部グラフで協調フィルタリングを強化し[[recommendation-system]]の精度を高めるが、これはGraphSAGE系が最も広く使われる領域である。
| 産業 | グラフの定義(ノード–エッジ) | 課題水準 | 期待効果 |
|---|---|---|---|
| 推薦・広告 | ユーザー–商品、購入・クリック | リンク予測 | 疎データの補完・精度↑ |
| 金融 | 口座・取引、送金関係 | ノード/部分グラフ | 構造的な異常取引検知 |
| 新薬・素材 | 原子–結合(分子) | グラフ分類 | 毒性・活性の事前選別 |
| 交通・エネルギー | 地点–接続(道路・電力網) | 時空間予測 | 渋滞・需要への先制対応 |
| 知識・検索 | エンティティ–関係(知識グラフ) | 多ホップ推論 | GraphRAG根拠の強化 |
これらの事例の共通点は「関係こそが信号」という点にある。取引一件、原子一つ、道路一区間を別々に見れば平凡だが、それらがどうつながっているかに核心的な情報が隠れている問題ほどGNNの利点が大きくなる。逆に関係が予測にほとんど寄与しない問題なら、GNNの複雑さはコストを増やすだけであるため、導入前に「接続を切っても性能が保たれるか」を簡単な実験(エッジ除去後の比較)で点検するのが実務的に有用である。
6. 考慮事項および示唆点
GNNの導入は単なるモデルの差し替えではなく、データをグラフでモデリングする能力と運用体系を要求する。技術士の観点から次を総合的に考慮すべきである。
- 適用適合性の判断:すべての問題にGNNが有利なわけではない。接続関係が予測に実質的な信号を与えるか(例:推薦・不正検知・分子)をまず検証し、構造が希薄または無意味なら表形式データ向けのモデル(GBMなど)が優れる。「グラフで表現する価値があるか」が出発点である。
- 拡張性・運用のトレードオフ:数億ノードのグラフは全体集約が不可能であるためサンプリング(GraphSAGE)・分散グラフ保存・近似集約が必須である。リアルタイム推論では近傍照会の遅延がボトルネックになるため、埋め込みの事前計算とオンライン更新の間の均衡を設計せねばならない。
- 深さ対表現力の相克:過平滑化のため層を深くしにくいので、長距離依存が重要な問題は残差接続・グラフトランスフォーマー・マルチスケール設計で補い、層数を性能・コストと共に実験的に定めねばならない。
- データ品質・偏り・説明可能性:グラフの欠落エッジ・誤った接続はメッセージパッシングを通じて誤りを伝播・増幅させる。また金融・採用など敏感な領域では接続構造に内在する偏りが差別につながりうるため、[[explainable-ai]]技法(重要なエッジ・部分グラフの説明)と公正性の点検を併用せねばならない。
- 敵対的攻撃・セキュリティ:グラフはエッジを一つ二つ巧妙に追加・削除するだけで予測を覆す構造的な敵対攻撃に脆弱である。不正検知・コンテンツ検閲のように攻撃者が存在する領域では、エッジ改ざんに耐える堅牢性(robustness)の確保と異常接続の検知を共に設計せねばならない。
- 連携技術・展望:知識グラフ・[[vector-database]]・LLMと結合したGraphRAG、フィーチャーストア([[feature-store]])を通じたグラフ特徴量の運用、MLOpsパイプラインへの統合が課題である。中長期的にGNNは関係型・接続型データの標準的な表現学習手段として定着しつつ、トランスフォーマー系と収束・競合しながら発展する見通しである。
参考資料
- Kipf & Welling, "Semi-Supervised Classification with Graph Convolutional Networks" (GCN), https://arxiv.org/abs/1609.02907
- Hamilton et al., "Inductive Representation Learning on Large Graphs" (GraphSAGE), https://arxiv.org/abs/1706.02216
- Veličković et al., "Graph Attention Networks" (GAT), https://arxiv.org/abs/1710.10903
- Xu et al., "How Powerful are Graph Neural Networks?" (GIN), https://arxiv.org/abs/1810.00826
- Stanford CS224W, Machine Learning with Graphs, https://web.stanford.edu/class/cs224w/
- PyTorch Geometric Documentation, https://pytorch-geometric.readthedocs.io/
一言まとめ: GNNはノードが近傍情報を反復集約(メッセージパッシング)して表現を学習するニューラルネットワークであり、GCN・GraphSAGE・GATなど集約方式の違いで発展し、推薦・新薬・不正検知などグラフが本質である問題で強みを持つ。