# 有向グラフィカルモデル Navigation: [[index]] | [[_index|concepts]] > [!note] 別文脈との違い: 本ページは確率変数の同時分布の因子分解を表す**有向**グラフ(ベイズネットワーク)を扱う。辺の欠如だけが条件付き独立を意味する**無向**グラフ(マルコフ確率場)は [[無向グラフィカルモデル]] を参照。介入・反実仮想に基づく因果構造の推定を扱う [[因果発見]] は、しばしば有向グラフを使う点で本ページと表記を共有するが、目的(同時分布の可視化 vs 因果効果の推定)が異なる別概念である。 ## 定義 有向グラフィカルモデル(directed graphical model)/ベイズネットワーク(Bayesian network)とは、確率変数をノード、条件付き依存関係を有向辺として表す言語である。ノード $x_k$ の親ノード集合を $\text{Pa}_k$ とすると、同時分布は $p(x)=\prod_{k=1}^K p(x_k\mid\text{Pa}_k)$ と因子分解される。この因子分解構造をグラフとして可視化することで、変数間の条件付き独立性をグラフの視察だけから読み取れるようにする。繰り返し観測される変数は「プレート記法(plate notation)」という囲み枠で圧縮でき、パラメータの事前分布にさらに事前分布(ハイパー事前分布, hyperprior)を階層的に重ねることもグラフ上に自然に表現できる。(Source: [[@2020__Cambridge__Mathematics for Machine Learning - Chapter 8 When Models Meet Data]] §8.5.1) ## d分離(d-separation) 有向非巡回グラフにおいて、ノード集合 $A$ と $B$ が集合 $C$ で条件付き独立($A\perp\!\!\!\perp B\mid C$)かどうかは、$A$ から $B$ への全ての経路(trail、矢印の向きを無視した道)が「ブロック」されているかで判定する。経路がブロックされるのは次のいずれかの場合である。 - 経路上のノードで矢印が head-to-tail または tail-to-tail に出会い、そのノードが $C$ に属する。 - 経路上のノードで矢印が head-to-head に出会い、そのノードもその子孫も $C$ に属さない。 全ての経路がブロックされていれば $A$ は $C$ によって $B$ から d分離され、同時分布は $A\perp\!\!\!\perp B\mid C$ を満たす。(Source: [[@2020__Cambridge__Mathematics for Machine Learning - Chapter 8 When Models Meet Data]] §8.5.2, 式8.34) head-to-head構造(collider)は特異な振る舞いを示す。子ノードを条件付けしていない限り経路はブロックされるが、子ノード(またはその子孫)を条件付けると経路が「開く」——2つの独立な原因が共通の結果を通じて条件付き依存になる「説明の打ち消し合い(explaining away)」——という、有向グラフに特有の非対称な現象が起きる。(Source: [[@2020__Cambridge__Mathematics for Machine Learning - Chapter 8 When Models Meet Data]] §8.5.2) ## 3系統の確率的グラフィカルモデル 確率的グラフィカルモデルには有向グラフィカルモデル(ベイズネットワーク)・無向グラフィカルモデル(マルコフ確率場)・因子グラフの3系統があり、いずれも同時分布の因子分解構造を視覚化する異なる形式である。(Source: [[@2020__Cambridge__Mathematics for Machine Learning - Chapter 8 When Models Meet Data]] §8.5.3) ## 横断的知見 - **『ディープラーニングを支える技術〈2〉』第3章が扱う深層生成モデル(VAE・拡散モデル)は、本ページの因子分解$p(x)=\prod_k p(x_k\mid\text{Pa}_k)$を直接インスタンス化した具体例になっている**: [[VAE(変分オートエンコーダ)]]の同時分布$p(x,z;\theta)=p(x|z;\theta)p(z)$は、潜在変数$z$を親ノード、観測変数$x$を子ノードとする2ノードの有向グラフ$z\to x$の因子分解そのものである。[[拡散モデル]]はこれをさらに拡張し、観測データ$x_0$と潜在変数$x_1,\dots,x_T$を鎖状に結んだ有向グラフ$x_0\to x_1\to\cdots\to x_T$(拡散過程)とその逆向きの鎖(逆拡散過程)として定式化される。本ページが抽象的に述べる「同時確率の因子分解をグラフとして可視化する」という有向グラフィカルモデルの効用は、深層生成モデルでは「学習しやすい条件付き確率の積へ複雑な同時分布を分解する」という実践的な設計原理として具体化されており、抽象的な確率的グラフィカルモデルの理論と深層生成モデルの設計は同じ数学的構造を異なる粒度で扱っていることがわかる。(Source: [[@2020__Cambridge__Mathematics for Machine Learning - Chapter 8 When Models Meet Data]] §8.5.1, [[@2022__Gihyo__ディープラーニングを支える技術〈2〉 - Chapter 3 深層生成モデル]] §3.2, §3.6) - **本ページのプレート記法(繰り返し観測される変数の圧縮表記)が示唆する「同一パラメータの共有」は、拡散モデルの多ステップ化において最も顕著な形で現れる**: 本ページはプレート記法を、同じ分布から繰り返しサンプリングされる変数群をグラフ上で圧縮する表記として紹介するにとどまるが、[[拡散モデル]]は$T$個の潜在変数$x_1,\dots,x_T$の各ステップの遷移$p_\theta(x_{t-1}\mid x_t)$がすべて同一パラメータ$\theta$を共有するニューラルネットワークで表される(入力$t$のみが変わる)という、パラメータ共有の極端な例を提供する。これは有向グラフィカルモデルの「ノードごとに独立したパラメータを持つ」という一般的な想定(本ページの定義は各$p(x_k\mid\text{Pa}_k)$に個別のパラメータを許容する)に対し、深層生成モデルが計算量・学習効率のためにパラメータ共有という追加の制約を課す設計判断を行っていることを示す。(Source: [[@2020__Cambridge__Mathematics for Machine Learning - Chapter 8 When Models Meet Data]] §8.5.1, [[@2022__Gihyo__ディープラーニングを支える技術〈2〉 - Chapter 3 深層生成モデル]] §3.6) - **d分離という複雑な判定規則が必要になるのは、有向グラフの因子分解 $p(x)=\prod_k p(x_k\mid\text{Pa}_k)$ が局所条件付き分布の積であり、無向グラフの因子分解のように大域的な正規化定数を持たないためである**: 本ページの因子分解 $p(x)=\prod_k p(x_k\mid\text{Pa}_k)$ は各項 $p(x_k\mid\text{Pa}_k)$ 自体がすでに正規化された条件付き確率分布であるため、積全体が自動的に1に正規化される。一方 [[無向グラフィカルモデル]] の定義する因子分解 $f(x)=\frac1Z\prod_C\psi_C(x_C)$(Hammersley-Clifford定理)は、極大クリークごとのポテンシャル関数 $\psi_C$ が確率分布である保証がないため、分配関数(partition function) $Z$ による大域的な正規化を別途必要とする。この違いは条件付き独立性の判定方法の違いにも直結する: 無向グラフでは辺の欠如がそのまま条件付き独立を意味し、グラフの分離(separation)という単純な基準で足りるのに対し、有向グラフでは辺の向きが非対称な依存(親→子)を表すため、head-to-head構造(collider)で「条件付けると独立性が壊れる」という無向グラフには存在しない現象が起き、d分離という向きを考慮した特別な規則が必要になる。(Source: [[@2020__Cambridge__Mathematics for Machine Learning - Chapter 8 When Models Meet Data]] §8.5.1-§8.5.2, [[無向グラフィカルモデル]] の定義節(出典: [[@2009__Springer__The Elements of Statistical Learning - Chapter 17 Undirected Graphical Models]] §17.1-§17.2)) - **有向グラフィカルモデルの離散変数版であるイジングモデル/ボルツマンマシンは、[[無向グラフィカルモデル]] が扱う対象であり、有向グラフでは表現できない**: 本ページの有向グラフは局所条件付き分布の積として定義されるため、変数間に「ループ」を作る相互依存(例えば2値変数のペア全体を無向に結合するイジングモデル)は非巡回性(acyclicity)の制約上そのままでは表現できない。[[無向グラフィカルモデル]] はこの種の相互依存を分配関数 $Z$ の計算困難性という代償のもとで許容し、変数数 $p>30$ 程度で厳密な周辺化が指数的に困難になる。有向グラフの局所正規化という利点(分配関数不要)は、表現できる依存構造の範囲(非巡回)というトレードオフの裏返しであることが、両ページの定義を突き合わせて初めて明確になる。(Source: [[@2020__Cambridge__Mathematics for Machine Learning - Chapter 8 When Models Meet Data]] §8.5.1, [[無向グラフィカルモデル]] のイジングモデル節(出典: [[@2009__Springer__The Elements of Statistical Learning - Chapter 17 Undirected Graphical Models]] §17.4-§17.4.1)) ## 未解決の問い - head-to-head構造での「説明の打ち消し合い(explaining away)」は本書では定性的に説明されるにとどまる。条件付けによって独立性が「どの程度」壊れるか(相互情報量の変化など)を定量化する議論は本章にはない。 - 有向グラフと無向グラフの間の変換(モラル化, moralization)によって、任意の有向グラフィカルモデルを無向グラフィカルモデルとして近似できることが知られているが、本章はこの変換に触れていない。モラル化によってd分離の判定が無向グラフの単純な分離判定にどこまで還元できるかは未確認。 - 因果推論への応用(Pearl, 2009 ほか、本章 §8.5.3 で言及)では、有向グラフの矢印に因果的な解釈(介入の効果)を持たせるが、本章の有向グラフィカルモデルは純粋に同時分布の因子分解の可視化として導入されており、因果的解釈との違い・接続は [[因果発見]] 側の知見と未統合。 - VAE・拡散モデルのようにノード数(潜在変数の次元・ステップ数)が数千〜数万に達する深層生成モデルでは、本ページのd分離のようなグラフ構造の可読性に基づく解析は実用上どこまで有効か。『ディープラーニングを支える技術〈2〉』第3章はグラフィカルモデルの言葉を明示的には使わず、この接続は本ページ側からの観察にとどまる。 ## 関連 - source: [[@2020__Cambridge__Mathematics for Machine Learning - Chapter 8 When Models Meet Data]] / [[@2022__Gihyo__ディープラーニングを支える技術〈2〉 - Chapter 3 深層生成モデル]] - concept: [[無向グラフィカルモデル]](辺の意味論の対比) / [[統計的機械学習]] / [[ベイズ推定]] / [[VAE(変分オートエンコーダ)]](2ノードの有向グラフの具体例) / [[拡散モデル]](鎖状の有向グラフの具体例) - 別概念(要注意): [[因果発見]](有向グラフによる因果構造の推定。同時分布の可視化を目的とする本ページとは異なる) ## 出典 - Deisenroth, M. P., Faisal, A. A., Ong, C. S., *Mathematics for Machine Learning*, Cambridge University Press, 2020, Chapter 8, §8.5. - 岡野原大輔, 『ディープラーニングを支える技術〈2〉 ニューラルネットワーク最大の謎』, 技術評論社, 2022, 第3章, §3.2, §3.6.