Lemma

第7章確率モデルと生成モデル

目安 11〜14 時間定理など 15演習 7 問
ここまでの道

この章の目標

  • エントロピー・交差エントロピー・KL ダイバージェンス・相互情報量の基本性質とギブスの不等式を証明し、最尤推定が経験分布との KL ダイバージェンスの最小化であることを示せる
  • 混合ガウスモデルの EM アルゴリズムを導いて対数尤度の単調性を証明し、局所解と尤度の非有界性という限界を説明できる
  • log⁡p(x)=ELBO⁡(q)+KL⁡(q∥p(⋅∣x))\log p(x) = \operatorname{ELBO}(q) + \operatorname{KL}(q \Vert p(\cdot \mid x)) を導き、平均場近似の更新式と、EM が変分推論の特別な場合であることを説明できる
  • 隠れマルコフモデルの前向きアルゴリズムを導き、計算量が O(TK2)O(TK^2) であることを示せる
  • 変分オートエンコーダ・拡散モデル・大規模言語モデルを、確率モデルと学習の目的関数の言葉で読める

前提:第1章、22-statistics 第1章(条件付き分布・多変量正規分布)、22-statistics 第3章(最尤推定)。7.5 節では 11-probability 第6章 のマルコフ連鎖を、7.6 節では第2章のソフトマックス回帰と第5章のニューラルネットワークを使う。22-statistics 第7章(事後分布・マルコフ連鎖モンテカルロ法)と比べるとよい。

工場のセンサーの値がふだんの分布から外れたら異常を疑う。購入額の分布に山が 2 つあれば、性質の違う客が混ざっているのだろう。設備の劣化は直接見えず、アラームの記録から推し量るしかない。いずれも、データ xx の分布 p(x)p(x) を、観測できない潜在変数 (latent variable) も含めてモデル化する問題である。データの生まれ方を確率分布で記述し、新しいデータを生成できるモデルを生成モデル (generative model) という。

本章では KL ダイバージェンスと最尤推定(7.1・7.2 節)、EM アルゴリズム(7.3 節)、変分推論(7.4 節)、隠れマルコフモデル(7.5 節)を学び、近年の生成モデルを同じ言葉で読む(7.6 節)。log⁡\log は自然対数、「分布 pp」は確率関数または密度を指し、和は連続の場合は積分に読み替える。測度論的な細部は 11-probability に譲る。

7.1 エントロピーと KL ダイバージェンス

定義 7.1(エントロピー・交差エントロピー・KL ダイバージェンス)p,qp, q を有限集合または可算集合上の確率分布とし、A={x∣p(x)>0}A = \lbrace x \mid p(x) > 0 \rbrace とする。

H(p)=−∑x∈Ap(x)log⁡p(x),H(p,q)=−∑x∈Ap(x)log⁡q(x),KL⁡(p∥q)=∑x∈Ap(x)log⁡p(x)q(x)H(p) = -\sum_{x \in A} p(x)\log p(x), \qquad H(p, q) = -\sum_{x \in A} p(x)\log q(x), \qquad \operatorname{KL}(p \Vert q) = \sum_{x \in A} p(x)\log\frac{p(x)}{q(x)}

をそれぞれエントロピー (entropy)、交差エントロピー (cross-entropy)、KL ダイバージェンス(カルバック–ライブラー情報量, Kullback–Leibler divergence)という。q(x)=0q(x) = 0 となる x∈Ax \in A があれば後の 2 つは ∞\infty とする。密度でも和を AA 上の積分に変えて同様に定める(AA 上で q=0q = 0 となる部分の確率が正なら後の 2 つは ∞\infty)。X∼pX \sim p のとき H(X)=H(p)H(X) = H(p) とも書く。

−log⁡p(x)-\log p(x) は起こりにくい値ほど大きい「驚き」で、エントロピーはその平均(分布の不確かさ)である。KL ダイバージェンスの項は負にもなるが、下の log⁡u≤u−1\log u \leq u - 1 より plog⁡pq≥p−q≥−qp\log\frac{p}{q} \geq p - q \geq -q なので、負の項の絶対値の和は 11 以下であり、和は (−∞,∞](-\infty, \infty] の値として定まる。H(p)<∞H(p) < \infty なら H(p,q)=H(p)+KL⁡(p∥q)H(p, q) = H(p) + \operatorname{KL}(p \Vert q) である。密度のエントロピー(微分エントロピー)は負にもなる。

定理 7.2(ギブスの不等式, Gibbs' inequality)KL⁡(p∥q)≥0\operatorname{KL}(p \Vert q) \geq 0 であり、等号は p=qp = q のときに限る。密度の場合も KL⁡(p∥q)≥0\operatorname{KL}(p \Vert q) \geq 0 で、等号は pp と qq がほとんど至るところ(ルベーグ測度 00 の集合を除いて)等しいときに限る。

証明. g(u)=u−1−log⁡ug(u) = u - 1 - \log u(u>0u > 0)は g′(u)=1−1/ug'(u) = 1 - 1/u が u=1u = 1 の前後で負から正に変わるので、最小値 g(1)=0g(1) = 0 をとる。すなわち log⁡u≤u−1\log u \leq u - 1 で、等号は u=1u = 1 に限る。q=0q = 0 となる AA の点があれば KL⁡=∞\operatorname{KL} = \infty なので、AA 上 q>0q > 0 とする。plog⁡qp=(q−p)−p⋅g(q/p)p\log\frac{q}{p} = (q - p) - p \cdot g(q/p) より

−KL⁡(p∥q)=∑x∈A(q(x)−p(x))−∑x∈Ap(x) g(q(x)p(x))≤∑x∈Aq(x)−1≤0-\operatorname{KL}(p \Vert q) = \sum_{x \in A}\bigl(q(x) - p(x)\bigr) - \sum_{x \in A}p(x)\,g\Bigl(\frac{q(x)}{p(x)}\Bigr) \leq \sum_{x \in A}q(x) - 1 \leq 0

である(第 1 の和は絶対収束し、第 2 の和の項は 00 以上)。等号なら第 2 の和は 00 で ∑x∈Aq(x)=1\sum_{x \in A}q(x) = 1 だから、AA 上で q=pq = p、AA の外で q=0=pq = 0 = p である。密度の場合も、AA 上で q=0q = 0 となる部分は(確率が正なら KL⁡=∞\operatorname{KL} = \infty なので)零集合として除けば同じ式が成り立ち、等号なら 00 以上の関数 p⋅g(q/p)p \cdot g(q/p) の AA 上の積分が 00 なので AA 上ほとんど至るところ q=pq = p で(06-measure-integration 第3章 系 3.12 の 4)、∫Aq=1\int_A q = 1 から AA の外でもほとんど至るところ q=0q = 0 である。□\square

系 7.3

  1. H(p)<∞H(p) < \infty なら H(p,q)≥H(p)H(p, q) \geq H(p) で、等号は q=pq = p に限る。すなわち q↦H(p,q)q \mapsto H(p, q) は q=pq = p でだけ最小になる。
  2. KK 個の元からなる集合の上では 0≤H(p)≤log⁡K0 \leq H(p) \leq \log K で、右の等号は一様分布に限る。

証明. 1 は H(p,q)=H(p)+KL⁡(p∥q)H(p, q) = H(p) + \operatorname{KL}(p \Vert q) と定理 7.2 による。2 の左は各項が 00 以上であることにより、右は一様分布 uu について KL⁡(p∥u)=log⁡K−H(p)\operatorname{KL}(p \Vert u) = \log K - H(p) となることによる。□\square

例 7.4(KL ダイバージェンスの計算)表の確率が 0.50.5, 0.90.9 のベルヌーイ分布を p,qp, q とすると KL⁡(p∥q)=0.5log⁡0.50.9+0.5log⁡0.50.1=log⁡53≈0.5108\operatorname{KL}(p \Vert q) = 0.5\log\frac{0.5}{0.9} + 0.5\log\frac{0.5}{0.1} = \log\frac{5}{3} \approx 0.5108、KL⁡(q∥p)=0.9log⁡1.8+0.1log⁡0.2≈0.3681\operatorname{KL}(q \Vert p) = 0.9\log 1.8 + 0.1\log 0.2 \approx 0.3681 で、向きによって値が違う。正規分布どうしでは、密度の比の対数 log⁡σ2σ1−(x−μ1)22σ12+(x−μ2)22σ22\log\frac{\sigma_2}{\sigma_1} - \frac{(x - \mu_1)^2}{2\sigma_1^2} + \frac{(x - \mu_2)^2}{2\sigma_2^2} の期待値をとり、E[(X−μ2)2]=σ12+(μ1−μ2)2E[(X - \mu_2)^2] = \sigma_1^2 + (\mu_1 - \mu_2)^2 を使って

KL⁡(N(μ1,σ12)∥N(μ2,σ22))=log⁡σ2σ1+σ12+(μ1−μ2)22σ22−12(1)\operatorname{KL}\bigl(N(\mu_1, \sigma_1^2) \Vert N(\mu_2, \sigma_2^2)\bigr) = \log\frac{\sigma_2}{\sigma_1} + \frac{\sigma_1^2 + (\mu_1 - \mu_2)^2}{2\sigma_2^2} - \frac{1}{2} \tag{1}

を得る。例えば KL⁡(N(0,1)∥N(1,4))=log⁡2−14≈0.4431\operatorname{KL}(N(0, 1) \Vert N(1, 4)) = \log 2 - \frac{1}{4} \approx 0.4431、逆向きは 2−log⁡2≈1.30692 - \log 2 \approx 1.3069 である(数値積分でも確かめた)。共分散行列が対角の多変量正規分布どうしなら、成分ごとの (1) の和になる。KL ダイバージェンスは対称でなく、三角不等式も満たさない(問題 7.1)ので、距離ではない。

定義 7.5(相互情報量)離散確率変数 X,YX, Y の同時分布を p(x,y)p(x, y) とし、X,YX, Y を独立にした同時分布 p(x)p(y)p(x)p(y) を pX⊗pYp_X \otimes p_Y と書く。I(X;Y)=KL⁡(p∥pX⊗pY)I(X; Y) = \operatorname{KL}(p \Vert p_X \otimes p_Y) を相互情報量 (mutual information)、H(X∣Y)=−∑x,yp(x,y)log⁡p(x∣y)H(X \mid Y) = -\sum_{x, y}p(x, y)\log p(x \mid y) を条件付きエントロピーという(和は p(x,y)>0p(x, y) > 0 の組についてとる)。

命題 7.6

  1. I(X;Y)=I(Y;X)≥0I(X; Y) = I(Y; X) \geq 0 で、等号は XX と YY が独立のときに限る。
  2. H(X)<∞H(X) < \infty なら I(X;Y)=H(X)−H(X∣Y)I(X; Y) = H(X) - H(X \mid Y) で、特に H(X∣Y)≤H(X)H(X \mid Y) \leq H(X)。

証明. 1 は定理 7.2 と、独立性がすべての x,yx, y で p(x,y)=p(x)p(y)p(x, y) = p(x)p(y) となることと同値であること(22-statistics 第1章 命題 1.4)による。2 は log⁡p(x,y)p(x)p(y)=log⁡p(x∣y)−log⁡p(x)\log\frac{p(x, y)}{p(x)p(y)} = \log p(x \mid y) - \log p(x) の期待値をとればよい(H(X)H(X) が有限なので和を分けてよい)。□\square

相互情報量は YY を知ることで減る XX の不確かさである(問題 7.2)。相関係数と違って、00 になるのは独立なときに限るので、非線形な依存も捉える。例えば XX が {−1,0,1}\lbrace -1, 0, 1 \rbrace 上の一様分布で Y=X2Y = X^2 なら、相関係数は 00 だが、YY は XX で決まるので H(Y∣X)=0H(Y \mid X) = 0 で、命題 7.6 を X,YX, Y を入れ替えて使うと I(X;Y)=H(Y)=log⁡3−23log⁡2≈0.637>0I(X; Y) = H(Y) = \log 3 - \frac{2}{3}\log 2 \approx 0.637 > 0 である。

7.2 最尤推定と KL ダイバージェンス

定理 7.7(最尤推定と KL ダイバージェンス)データ x1,…,xnx_1, \dots, x_n をパラメータ θ\theta のモデル pθp_\theta(22-statistics 第3章 の f(x;θ)f(x; \theta))で表し、ℓ(θ)=∑ilog⁡pθ(xi)\ell(\theta) = \sum_i\log p_\theta(x_i) とする。

  1. データが有限集合または可算集合に値をとるとき、経験分布 p^n(x)=1n∣{i∣xi=x}∣\hat{p}_n(x) = \frac{1}{n}\lvert \lbrace i \mid x_i = x \rbrace \rvert について 1nℓ(θ)=−H(p^n,pθ)=−H(p^n)−KL⁡(p^n∥pθ)\frac{1}{n}\ell(\theta) = -H(\hat{p}_n, p_\theta) = -H(\hat{p}_n) - \operatorname{KL}(\hat{p}_n \Vert p_\theta) である。したがって、θ\theta が対数尤度を最大にすることと KL⁡(p^n∥pθ)\operatorname{KL}(\hat{p}_n \Vert p_\theta) を最小にすることは同値である。
  2. X∼p∗X \sim p^{\ast} で H(p∗)H(p^{\ast})(密度ならその微分エントロピー)が有限なら E[log⁡pθ(X)]=−H(p∗)−KL⁡(p∗∥pθ)E[\log p_\theta(X)] = -H(p^{\ast}) - \operatorname{KL}(p^{\ast} \Vert p_\theta) である。したがって対数尤度の期待値の最大化は KL⁡(p∗∥pθ)\operatorname{KL}(p^{\ast} \Vert p_\theta) の最小化と同値で、p∗=pθ0p^{\ast} = p_{\theta_0} なら θ0\theta_0 は最大点である。

証明. 1:同じ値の項をまとめると 1n∑ilog⁡pθ(xi)=∑xp^n(x)log⁡pθ(x)=−H(p^n,pθ)\frac{1}{n}\sum_i\log p_\theta(x_i) = \sum_x\hat{p}_n(x)\log p_\theta(x) = -H(\hat{p}_n, p_\theta)。p^n\hat{p}_n は高々 nn 点に確率をもつので H(p^n)≤log⁡nH(\hat{p}_n) \leq \log n(系 7.3)は有限で θ\theta によらず、7.1 節の分解が使える。2 も同様で、最後の主張は定理 7.2 による。□\square

x1,…,xnx_1, \dots, x_n が p∗p^{\ast} からの i.i.d. 標本の実現値で E[∣log⁡pθ(X)∣]<∞E[\lvert \log p_\theta(X) \rvert] < \infty なら、大数の法則(22-statistics 第1章 定理 1.27)より 1nℓ(θ)\frac{1}{n}\ell(\theta) は E[log⁡pθ(X)]E[\log p_\theta(X)] に確率収束するので、最尤推定は真の分布に KL ダイバージェンスの意味で最も近いモデルを標本から探している(22-statistics 第3章 定理 3.32 の一致性の証明の概略に現れる不等式は KL⁡(pθ0∥pθ)>0\operatorname{KL}(p_{\theta_0} \Vert p_\theta) > 0 そのものである)。真の分布がモデルに含まれなくても、パラメータ空間がコンパクトで、各 xx で θ↦log⁡pθ(x)\theta \mapsto \log p_\theta(x) が連続、E[sup⁡θ∣log⁡pθ(X)∣]<∞E[\sup_\theta \lvert \log p_\theta(X) \rvert] < \infty であり、E[log⁡pθ(X)]E[\log p_\theta(X)] の最大点(H(p∗)H(p^{\ast}) が有限なら KL⁡(p∗∥pθ)\operatorname{KL}(p^{\ast} \Vert p_\theta) の最小点)θ∗\theta^{\ast} がただ一つなら、最尤推定量は θ∗\theta^{\ast} に確率収束する(White, 1982 年。主張のみ。一様な大数の法則を使って示される)。連続分布でも、−1nℓ(θ)-\frac{1}{n}\ell(\theta) は経験分布で期待値をとった交差エントロピーである。第1章の言葉では、密度推定は対数損失 −log⁡q(x)-\log q(x) の経験リスク最小化で、そのリスク H(p∗,q)H(p^{\ast}, q) は(H(p∗)H(p^{\ast}) が有限なら)q=p∗q = p^{\ast} でだけ最小になる(系 7.3)。分類でも同様である。

命題 7.8(交差エントロピー損失)Y\mathcal{Y} を有限集合、p∗(⋅∣x)p^{\ast}(\cdot \mid x) を X=xX = x のもとでの YY の真の条件付き分布とする。各 xx に Y\mathcal{Y} 上の分布 q(⋅∣x)q(\cdot \mid x) を対応させる予測の、損失 −log⁡q(y∣x)-\log q(y \mid x) についてのリスクは E[H(p∗(⋅∣X))]+E[KL⁡(p∗(⋅∣X)∥q(⋅∣X))]E[H(p^{\ast}(\cdot \mid X))] + E[\operatorname{KL}(p^{\ast}(\cdot \mid X) \Vert q(\cdot \mid X))] であり、q(⋅∣x)=p∗(⋅∣x)q(\cdot \mid x) = p^{\ast}(\cdot \mid x) となる予測はベイズ最適である。

証明. X=xX = x のもとでの条件付きリスクは H(p∗(⋅∣x),q(⋅∣x))H(p^{\ast}(\cdot \mid x), q(\cdot \mid x)) で、H(p∗(⋅∣x))≤log⁡∣Y∣H(p^{\ast}(\cdot \mid x)) \leq \log\lvert \mathcal{Y} \rvert は有限だから 7.1 節の分解が使える。第1章の命題 1.6・補題 1.8 と系 7.3 から従う。□\square

第2章の命題 2.15 は ∣Y∣=2\lvert \mathcal{Y} \rvert = 2 の場合である。0-1 損失(第1章の定理 1.10)と違い、交差エントロピー損失は確率そのものを当てることを求める。

例 7.9(KL ダイバージェンスの向き)最尤推定が最小にする KL⁡(p∗∥pθ)\operatorname{KL}(p^{\ast} \Vert p_\theta) は p∗p^{\ast} で期待値をとるので、データのあるところで pθ≈0p_\theta \approx 0 だと大きな罰を受ける。p∗=12N(−3,1)+12N(3,1)p^{\ast} = \frac{1}{2}N(-3, 1) + \frac{1}{2}N(3, 1) を N(m,s2)N(m, s^2) で近似すると、KL⁡(p∗∥N(m,s2))\operatorname{KL}(p^{\ast} \Vert N(m, s^2)) の最小点は平均と分散を合わせた N(0,10)N(0, 10) で(問題 7.3)、データのほとんどない 00 の付近に密度の山をおく。逆向きの KL⁡(N(m,s2)∥p∗)\operatorname{KL}(N(m, s^2) \Vert p^{\ast}) は近似する側で期待値をとるので p∗≈0p^{\ast} \approx 0 のところを避け、数値的に最小化すると、最小点は N(±2.98,1.05)N(\pm 2.98, 1.05) 付近(片方の山だけ。値は約 0.6890.689)になる。逆向きの KL ダイバージェンスは 7.4 節の変分推論に現れる。

7.3 混合ガウスモデルと EM アルゴリズム

定義 7.10(混合ガウスモデル, Gaussian mixture model)混合係数 πk>0\pi_k > 0(∑k=1Kπk=1\sum_{k=1}^{K}\pi_k = 1)、平均 μk∈Rd\mu_k \in \mathbb{R}^d、正定値な共分散行列 Σk\Sigma_k の組を θ\theta とし、Nd(μ,Σ)N_d(\mu, \Sigma) の密度(22-statistics 第1章 定理 1.22)を φ(x;μ,Σ)\varphi(x; \mu, \Sigma) として、pθ(x)=∑k=1Kπkφ(x;μk,Σk)p_\theta(x) = \sum_{k=1}^{K}\pi_k\varphi(x; \mu_k, \Sigma_k) を密度とする分布を混合ガウス分布という。

確率 πk\pi_k で成分の番号 Z=kZ = k を選んでから X∼Nd(μk,Σk)X \sim N_d(\mu_k, \Sigma_k) を生成すると、XX の分布は pθp_\theta、(X,Z)(X, Z) の同時分布は pθ(x,k)=πkφ(x;μk,Σk)p_\theta(x, k) = \pi_k\varphi(x; \mu_k, \Sigma_k) である。潜在変数 ZZ の事後確率 γk(x)=πkφ(x;μk,Σk)/pθ(x)\gamma_k(x) = \pi_k\varphi(x; \mu_k, \Sigma_k)/p_\theta(x) を負担率 (responsibility) という。対数尤度 ℓ(θ)=∑ilog⁡∑kπkφ(xi;μk,Σk)\ell(\theta) = \sum_i\log\sum_k\pi_k\varphi(x_i; \mu_k, \Sigma_k) は閉じた形では最大化できないが、各 xix_i の成分の番号がわかっていれば、成分ごとの割合・平均・共分散行列を計算するだけでよい。EM アルゴリズムは、わからない番号を、現在のパラメータでの事後分布で平均して埋めることを繰り返す。

一般に、観測 xx と有限集合に値をとる潜在変数 zz の同時分布 pθ(x,z)>0p_\theta(x, z) > 0 をもつモデルを考える(x,zx, z はデータ全体・潜在変数全体でよい)。ℓ(θ)=log⁡pθ(x)\ell(\theta) = \log p_\theta(x)、pθ(x)=∑zpθ(x,z)p_\theta(x) = \sum_zp_\theta(x, z) である。

定義 7.11(EM アルゴリズム, expectation–maximization algorithm)初期値 θ(0)\theta^{(0)} から、t=0,1,2,…t = 0, 1, 2, \dots について次を繰り返す。

  • E ステップ:事後分布 pθ(t)(z∣x)p_{\theta^{(t)}}(z \mid x) を求め、Q(θ∣θ(t))=∑zpθ(t)(z∣x)log⁡pθ(x,z)Q(\theta \mid \theta^{(t)}) = \sum_zp_{\theta^{(t)}}(z \mid x)\log p_\theta(x, z) とおく。
  • M ステップ:Q(θ∣θ(t))Q(\theta \mid \theta^{(t)}) を最大にする θ\theta を θ(t+1)\theta^{(t+1)} とする。

データが i.i.d. なら事後分布も ∏ipθ(zi∣xi)\prod_ip_\theta(z_i \mid x_i) と分かれ、Q=∑i∑zipθ(t)(zi∣xi)log⁡pθ(xi,zi)Q = \sum_i\sum_{z_i}p_{\theta^{(t)}}(z_i \mid x_i)\log p_\theta(x_i, z_i) となる。

定理 7.12(EM アルゴリズムの単調性)Q(θ∣θ′)≥Q(θ′∣θ′)Q(\theta \mid \theta') \geq Q(\theta' \mid \theta') ならば ℓ(θ)≥ℓ(θ′)\ell(\theta) \geq \ell(\theta') である。特に EM アルゴリズムの列について ℓ(θ(0))≤ℓ(θ(1))≤ℓ(θ(2))≤⋯\ell(\theta^{(0)}) \leq \ell(\theta^{(1)}) \leq \ell(\theta^{(2)}) \leq \cdots。

証明. w(z)=pθ′(z∣x)w(z) = p_{\theta'}(z \mid x) とおくと pθ′(x,z)=pθ′(x)w(z)p_{\theta'}(x, z) = p_{\theta'}(x)w(z) なので、pθ(x)pθ′(x)=∑zw(z)pθ(x,z)pθ′(x,z)\frac{p_\theta(x)}{p_{\theta'}(x)} = \sum_zw(z)\frac{p_\theta(x, z)}{p_{\theta'}(x, z)} である。ww は確率分布で log⁡\log は凹だから、イェンセンの不等式(01-calculus 第4章 定理 4.31 を凸関数 −log⁡-\log に使う)より

ℓ(θ)−ℓ(θ′)≥∑zw(z)log⁡pθ(x,z)pθ′(x,z)=Q(θ∣θ′)−Q(θ′∣θ′)≥0\ell(\theta) - \ell(\theta') \geq \sum_zw(z)\log\frac{p_\theta(x, z)}{p_{\theta'}(x, z)} = Q(\theta \mid \theta') - Q(\theta' \mid \theta') \geq 0

M ステップの θ(t+1)\theta^{(t+1)} は Q(θ(t+1)∣θ(t))≥Q(θ(t)∣θ(t))Q(\theta^{(t+1)} \mid \theta^{(t)}) \geq Q(\theta^{(t)} \mid \theta^{(t)}) を満たす。□\square

定理 7.13(混合ガウスモデルの EM)データ x1,…,xn∈Rdx_1, \dots, x_n \in \mathbb{R}^d のすべてを含む超平面はない(d=1d = 1 なら、すべては等しくない)とする。E ステップは現在のパラメータでの負担率 γik=γk(xi)\gamma_{ik} = \gamma_k(x_i) の計算であり、M ステップの最大点はただ一つで、Nk=∑iγikN_k = \sum_i\gamma_{ik} として

πknew=Nkn,μknew=1Nk∑i=1nγikxi,Σknew=1Nk∑i=1nγik(xi−μknew)(xi−μknew)⊤\pi_k^{\mathrm{new}} = \frac{N_k}{n}, \qquad \mu_k^{\mathrm{new}} = \frac{1}{N_k}\sum_{i=1}^{n}\gamma_{ik}x_i, \qquad \Sigma_k^{\mathrm{new}} = \frac{1}{N_k}\sum_{i=1}^{n}\gamma_{ik}(x_i - \mu_k^{\mathrm{new}})(x_i - \mu_k^{\mathrm{new}})^{\top}

である。πknew>0\pi_k^{\mathrm{new}} > 0 で、Σknew\Sigma_k^{\mathrm{new}} は正定値である。

証明. P(Zi=k∣xi)=γik>0P(Z_i = k \mid x_i) = \gamma_{ik} > 0 で、Q=∑kNklog⁡πk+∑k∑iγiklog⁡φ(xi;μk,Σk)Q = \sum_kN_k\log\pi_k + \sum_k\sum_i\gamma_{ik}\log\varphi(x_i; \mu_k, \Sigma_k) は π\pi の部分と各 (μk,Σk)(\mu_k, \Sigma_k) の部分に分かれる。∑kγik=1\sum_k\gamma_{ik} = 1 より νk=Nk/n\nu_k = N_k/n は確率分布で、第 1 項は −nH(ν,π)-nH(\nu, \pi) だから、系 7.3 より π=ν\pi = \nu でだけ最大になる。xˉk=μknew\bar{x}_k = \mu_k^{\mathrm{new}}、Sk=ΣknewS_k = \Sigma_k^{\mathrm{new}} とおく。∑iγik(xi−xˉk)=0\sum_i\gamma_{ik}(x_i - \bar{x}_k) = 0 で交差項が消えることと v⊤Σk−1v=tr⁡(Σk−1vv⊤)v^{\top}\Sigma_k^{-1}v = \operatorname{tr}(\Sigma_k^{-1}vv^{\top}) から、第 2 項の kk 番目は定数を除いて

−Nk2(log⁡det⁡Σk+tr⁡(Σk−1Sk)+(xˉk−μk)⊤Σk−1(xˉk−μk))-\frac{N_k}{2}\Bigl(\log\det\Sigma_k + \operatorname{tr}(\Sigma_k^{-1}S_k) + (\bar{x}_k - \mu_k)^{\top}\Sigma_k^{-1}(\bar{x}_k - \mu_k)\Bigr)

で、どの Σk\Sigma_k についても μk=xˉk\mu_k = \bar{x}_k でだけ最大になる。仮定より v≠0v \neq 0 なら v⊤xiv^{\top}x_i はすべては等しくないので v⊤Skv=1Nk∑iγik(v⊤(xi−xˉk))2>0v^{\top}S_kv = \frac{1}{N_k}\sum_i\gamma_{ik}(v^{\top}(x_i - \bar{x}_k))^2 > 0、すなわち SkS_k は正定値である。正の平方根 Sk1/2S_k^{1/2}(02-linear-algebra 第8章 命題 8.15)について Sk1/2Σk−1Sk1/2S_k^{1/2}\Sigma_k^{-1}S_k^{1/2} の固有値を λj>0\lambda_j > 0 とすると、tr⁡(Σk−1Sk)=∑jλj\operatorname{tr}(\Sigma_k^{-1}S_k) = \sum_j\lambda_j、log⁡det⁡Σk=log⁡det⁡Sk−∑jlog⁡λj\log\det\Sigma_k = \log\det S_k - \sum_j\log\lambda_j だから、λ−log⁡λ≥1\lambda - \log\lambda \geq 1(定理 7.2 の証明)より log⁡det⁡Σk+tr⁡(Σk−1Sk)≥log⁡det⁡Sk+d\log\det\Sigma_k + \operatorname{tr}(\Sigma_k^{-1}S_k) \geq \log\det S_k + d で、等号はすべての λj=1\lambda_j = 1、すなわち Σk=Sk\Sigma_k = S_k のときに限る。□\square

例 7.14(1 次元の EM)データ 1,2,3,4,8,9,101, 2, 3, 4, 8, 9, 10 に K=2K = 2 の混合ガウス分布を当てはめる。初期値 π=(0.5,0.5)\pi = (0.5, 0.5)、μ=(2,4)\mu = (2, 4)、σ2=(1,1)\sigma^2 = (1, 1) での負担率は γi1=1/(1+e2xi−6)=σ(6−2xi)\gamma_{i1} = 1/(1 + e^{2x_i - 6}) = \sigma(6 - 2x_i)(第2章のロジスティック関数)で、xi=1,2,3,4x_i = 1, 2, 3, 4 に対して 0.982,0.881,0.5,0.1190.982, 0.881, 0.5, 0.119、8,9,108, 9, 10 に対しては 10−410^{-4} 未満である。更新を tt 回行った後の値は次のとおりである(Python で計算した)。

tt ℓ\ell π1\pi_1 μ1\mu_1 μ2\mu_2 σ12\sigma_1^2 σ22\sigma_2^2
0 −49.8194-49.8194 0.50000.5000 2.00002.0000 4.00004.0000 1.00001.0000 1.00001.0000
1 −17.0402-17.0402 0.35460.3546 1.90201.9020 7.14477.1447 0.78040.7804 7.40617.4061
2 −16.8994-16.8994 0.38790.3879 2.04222.0422 7.34127.3412 0.84480.8448 7.11017.1101
4 −16.4717-16.4717 0.46580.4658 2.25792.2579 7.92557.9255 1.07071.0707 5.34485.3448
6 −15.1382-15.1382 0.55140.5514 2.45132.4513 8.76978.7697 1.22001.2200 1.78111.7811
8 −14.5510-14.5510 0.57140.5714 2.50002.5000 9.00009.0000 1.25011.2501 0.66670.6667

対数尤度は単調に増え、{1,2,3,4}\lbrace 1, 2, 3, 4 \rbrace と {8,9,10}\lbrace 8, 9, 10 \rbrace に分けたときの割合 4/74/7、平均 2.5,92.5, 9、分散 1.25,2/31.25, 2/3 にほぼ等しい値に落ち着く。

EM が保証するのは、対数尤度が減らないことだけである。∇θQ(θ∣θ′)\nabla_\theta Q(\theta \mid \theta') を θ=θ′\theta = \theta' で評価すると ∑zpθ′(z∣x)∇log⁡pθ′(x,z)=∇ℓ(θ′)\sum_zp_{\theta'}(z \mid x)\nabla\log p_{\theta'}(x, z) = \nabla\ell(\theta') なので、EM が止まる点は(QQ の最大点が内部にあれば)ℓ\ell の停留点である。さらに、上位集合 {θ∣ℓ(θ)≥ℓ(θ(0))}\lbrace \theta \mid \ell(\theta) \geq \ell(\theta^{(0)}) \rbrace がコンパクトで、ℓ\ell が連続かつ内部で微分可能、列がパラメータ空間の内部にとどまり、Q(θ∣θ′)Q(\theta \mid \theta') が (θ,θ′)(\theta, \theta') について連続ならば、EM の列の集積点はすべて ℓ\ell の停留点で、ℓ(θ(t))\ell(\theta^{(t)}) はある停留点での値に単調に収束する(Wu, 1983 年。主張のみ。混合ガウスモデルでは、次の命題 7.15 のためにこの上位集合がコンパクトでなく、そのままでは使えない)。しかし停留点は最大点とは限らない。例 7.14 で μ1=μ2\mu_1 = \mu_2、σ12=σ22\sigma_1^2 = \sigma_2^2 から始めると、すべての負担率が πk\pi_k に等しくなり、両成分とも 1 つの正規分布の最尤推定値 μk=37/7\mu_k = 37/7、σk2=556/49\sigma_k^2 = 556/49 に移って以後動かない(ℓ≈−18.4339<−14.5510\ell \approx -18.4339 < -14.5510)。そもそも尤度には最大値がない。

命題 7.15(尤度の非有界性)d=1d = 1、K=2K = 2 とし、データ x1,…,xnx_1, \dots, x_n を任意にとる。π1=π2=1/2\pi_1 = \pi_2 = 1/2、μ1=x1\mu_1 = x_1、μ2=0\mu_2 = 0、σ22=1\sigma_2^2 = 1 と固定して σ1→+0\sigma_1 \to +0 とすると ℓ(θ)→∞\ell(\theta) \to \infty。したがって混合ガウスモデルの尤度は上に有界でなく、最尤推定量は存在しない。

証明. pθ(x1)≥12φ(x1;x1,σ12)=122πσ1p_\theta(x_1) \geq \frac{1}{2}\varphi(x_1; x_1, \sigma_1^2) = \frac{1}{2\sqrt{2\pi}\sigma_1} で、pθ(xi)≥12φ(xi;0,1)p_\theta(x_i) \geq \frac{1}{2}\varphi(x_i; 0, 1) は σ1\sigma_1 によらない正の数である。よって ℓ(θ)≥−log⁡(22πσ1)+∑i≥2log⁡φ(xi;0,1)2→∞\ell(\theta) \geq -\log(2\sqrt{2\pi}\sigma_1) + \sum_{i \geq 2}\log\frac{\varphi(x_i; 0, 1)}{2} \to \infty。□\square

成分が 1 点に縮退すると、その点の密度がいくらでも大きくなるのである(1 つの正規分布では、観測値がすべて等しい場合を除いてこうならない。22-statistics 第3章 例 3.13)。例 7.14 のデータで初期値を π=(0.5,0.5)\pi = (0.5, 0.5)、μ=(1,6)\mu = (1, 6)、σ2=(0.01,4)\sigma^2 = (0.01, 4) とすると、1 回の更新で σ12≈2.9×10−20\sigma_1^2 \approx 2.9 \times 10^{-20}、ℓ≈3.39\ell \approx 3.39 となり、次の更新で σ12\sigma_1^2 が倍精度の計算で 00 になって破綻する。成分の番号を入れ替えても pθp_\theta は変わらないので、識別可能性も崩れている(22-statistics 第3章 注意 3.34)。なお Σk=εI\Sigma_k = \varepsilon I、πk=1/K\pi_k = 1/K と固定すると γik\gamma_{ik} は e−∥xi−μk∥2/(2ε)e^{-\lVert x_i - \mu_k \rVert^2/(2\varepsilon)} に比例するので、ε→+0\varepsilon \to +0 で最も近い中心の成分で 11、ほかで 00 に近づき(最も近い中心がただ一つのとき)、EM は第3章の kk 平均法(定義 3.18)に近づく。EM は kk 平均法の割り当てを確率に「柔らかく」したものである。

ヒント

実務では EM が収束しても、最尤推定値が得られたとは限らない。(1) 初期値を変えて何回も実行し(kk 平均法の結果を初期値にすることも多い)、対数尤度が最大のものを採る。(2) 分散に下限を設けるなどして縮退を防ぐ。同じ値が繰り返し現れるデータ(定価の商品の購入額、丸めた測定値)では特に起こりやすく、異常に大きい対数尤度はまず縮退を疑う。(3) 成分の数 KK は訓練データの対数尤度では選べない(成分を複製すれば K+1K + 1 成分で同じ分布を表せるので、達成できる値は KK について下がらない)。検証データでの対数尤度や BIC(22-statistics 第6章 定義 6.16。最大対数尤度は存在しないので、分散の下限などの制約のもとで EM が見つけた値で代用する)で選ぶ。

7.4 変分推論と ELBO

ベイズ統計(22-statistics 第7章)では未知の量をまとめて zz とし、事後分布 p(z∣x)=p(x,z)/p(x)p(z \mid x) = p(x, z)/p(x) を求めるが、周辺尤度 p(x)=∫p(x,z) dzp(x) = \int p(x, z)\ dz はたいてい計算できない。変分推論 (variational inference) は、扱いやすい分布の族 Q\mathcal{Q} から KL⁡(q∥p(⋅∣x))\operatorname{KL}(q \Vert p(\cdot \mid x)) が最小の qq を探す。この量は未知の p(x)p(x) を含むが、次の恒等式で避けられる。

定理 7.16(ELBO 分解)p(x)>0p(x) > 0 とし、zz の分布 qq は「q(z)>0q(z) > 0 なら p(x,z)>0p(x, z) > 0」と Eq[∣log⁡q(Z)∣]<∞E_q[\lvert \log q(Z) \rvert] < \infty を満たすとする。ELBO⁡(q)=Eq[log⁡p(x,Z)]−Eq[log⁡q(Z)]\operatorname{ELBO}(q) = E_q[\log p(x, Z)] - E_q[\log q(Z)] とおくと

log⁡p(x)=ELBO⁡(q)+KL⁡(q∥p(⋅∣x))\log p(x) = \operatorname{ELBO}(q) + \operatorname{KL}\bigl(q \Vert p(\cdot \mid x)\bigr)

である(KL ダイバージェンスが ∞\infty なら ELBO⁡(q)=−∞\operatorname{ELBO}(q) = -\infty と読む)。特に ELBO⁡(q)≤log⁡p(x)\operatorname{ELBO}(q) \leq \log p(x) で、等号は q=p(⋅∣x)q = p(\cdot \mid x) のときに限る。

証明. q(z)>0q(z) > 0 なら p(z∣x)=p(x,z)/p(x)>0p(z \mid x) = p(x, z)/p(x) > 0 で、log⁡p(x)=(log⁡p(x,z)−log⁡q(z))+(log⁡q(z)−log⁡p(z∣x))\log p(x) = (\log p(x, z) - \log q(z)) + (\log q(z) - \log p(z \mid x)) である。Z∼qZ \sim q について期待値をとると、右辺の第 2 項は KL⁡(q∥p(⋅∣x))∈[0,∞]\operatorname{KL}(q \Vert p(\cdot \mid x)) \in [0, \infty]、第 1 項は ELBO⁡(q)\operatorname{ELBO}(q) になる。後半は定理 7.2 による。□\square

p(x)p(x) を証拠 (evidence) ともいうので、ELBO⁡(q)\operatorname{ELBO}(q) を証拠下界 (evidence lower bound) という。ELBO の最大化は KL ダイバージェンスの最小化と同値で、計算には p(x,z)p(x, z) しか要らない。zz の事前分布 pZp_Z を使えば ELBO⁡(q)=Eq[log⁡p(x∣Z)]−KL⁡(q∥pZ)\operatorname{ELBO}(q) = E_q[\log p(x \mid Z)] - \operatorname{KL}(q \Vert p_Z)(データへの当てはまりと、事前分布から離れることへの罰)とも書ける。最尤推定とは逆向きの KL ダイバージェンスなので、qq は例 7.9 のように事後分布の確率が小さいところを避ける。

定理 7.17(平均場近似の座標上昇)z=(z1,…,zm)z = (z_1, \dots, z_m) とし、q(z)=∏jqj(zj)q(z) = \prod_jq_j(z_j) の形の分布だけを考える(平均場近似, mean-field approximation)。jj 以外の qiq_i を固定したとき、ELBO⁡(q)\operatorname{ELBO}(q) を最大にする qjq_j はただ一つで

qj∗(zj)=1Cjexp⁡(E−j[log⁡p(x,zj,Z−j)])q_j^{\ast}(z_j) = \frac{1}{C_j}\exp\Bigl(E_{-j}\bigl[\log p(x, z_j, Z_{-j})\bigr]\Bigr)

である。ここで E−jE_{-j} は i≠ji \neq j の Zi∼qiZ_i \sim q_i(互いに独立)についての期待値、CjC_j は正規化定数で、これらはすべて有限とする。

証明. qq は積の形なので Eq[log⁡q(Z)]=∑iEqi[log⁡qi(Zi)]E_q[\log q(Z)] = \sum_iE_{q_i}[\log q_i(Z_i)] であり、Eq[log⁡p(x,Z)]E_q[\log p(x, Z)] は先に Z−jZ_{-j} について期待値をとれば Eqj[log⁡qj∗(Zj)]+log⁡CjE_{q_j}[\log q_j^{\ast}(Z_j)] + \log C_j に等しい。よって qjq_j によらない定数 cjc_j について ELBO⁡(q)=Eqj[log⁡qj∗(Zj)−log⁡qj(Zj)]+cj=−KL⁡(qj∥qj∗)+cj\operatorname{ELBO}(q) = E_{q_j}[\log q_j^{\ast}(Z_j) - \log q_j(Z_j)] + c_j = -\operatorname{KL}(q_j \Vert q_j^{\ast}) + c_j で、定理 7.2 から従う。□\square

j=1,…,mj = 1, \dots, m の順にこの更新を繰り返すと(座標上昇変分推論, CAVI)ELBO は減らず、log⁡p(x)\log p(x) 以下なので値は収束する。ただし ELBO は一般に凹でなく、結果は初期値に依存しうる。

例 7.18(相関のある正規分布)事後分布が N2(μ,Σ)N_2(\mu, \Sigma)、Λ=Σ−1\Lambda = \Sigma^{-1} のとき、log⁡p(x,z)=−12(z−μ)⊤Λ(z−μ)+c\log p(x, z) = -\frac{1}{2}(z - \mu)^{\top}\Lambda(z - \mu) + c のうち z1z_1 を含む項は z2z_2 について 1 次なので、定理 7.17 の期待値は z2z_2 を m2=Eq2[Z2]m_2 = E_{q_2}[Z_2] で置き換えて平方完成すれば求まり、q1∗=N(m1,1/Λ11)q_1^{\ast} = N(m_1, 1/\Lambda_{11})、m1=μ1−Λ12(m2−μ2)/Λ11m_1 = \mu_1 - \Lambda_{12}(m_2 - \mu_2)/\Lambda_{11} となる(q2q_2 も同様)。相関係数を ρ\rho とすると、平均は μ\mu に収束するが(誤差は 1 巡ごとに ρ2\rho^2 倍になる)、分散 1/Λ11=(1−ρ2)Σ111/\Lambda_{11} = (1 - \rho^2)\Sigma_{11} は本当の周辺分布の分散 Σ11\Sigma_{11} より小さく、ρ=0.9\rho = 0.9 なら 0.190.19 倍である(計算機でも確かめた)。

注意

変分推論で得た qq から作った信用区間は、例 7.18 のように狭すぎることがある。平均場近似は変数の間の相関を表せず、逆向きの KL ダイバージェンスは事後分布の確率が小さいところを避けるからである。不確かさの評価が重要なら、マルコフ連鎖モンテカルロ法の結果と比べて確かめる。

命題 7.19(EM は ELBO の座標上昇である)ELBO⁡(q,θ)=Eq[log⁡pθ(x,Z)]−Eq[log⁡q(Z)]\operatorname{ELBO}(q, \theta) = E_q[\log p_\theta(x, Z)] - E_q[\log q(Z)] とおく。

  1. θ\theta を固定すると、qq についての最大点は q=pθ(⋅∣x)q = p_\theta(\cdot \mid x) で、最大値は ℓ(θ)\ell(\theta) である。
  2. q=pθ(t)(⋅∣x)q = p_{\theta^{(t)}}(\cdot \mid x) を固定すると、ELBO⁡(q,θ)=Q(θ∣θ(t))−Eq[log⁡q(Z)]\operatorname{ELBO}(q, \theta) = Q(\theta \mid \theta^{(t)}) - E_q[\log q(Z)] である。

したがって E ステップは qq について、M ステップは θ\theta についての ELBO の最大化であり、ℓ(θ(t+1))≥ELBO⁡(q,θ(t+1))≥ELBO⁡(q,θ(t))=ℓ(θ(t))\ell(\theta^{(t+1)}) \geq \operatorname{ELBO}(q, \theta^{(t+1)}) \geq \operatorname{ELBO}(q, \theta^{(t)}) = \ell(\theta^{(t)}) となる。

証明. 1 は定理 7.16 を pθp_\theta に使えばよく、2 は定義そのものである。最後の不等式は順に 1、M ステップ、1 による。□\square

つまり EM は、潜在変数の分布 qq に制約を置かず(E ステップで事後分布を厳密に求め)、θ\theta は点推定する変分推論である。事後分布が計算できなければ qq を平均場近似などに制限し(変分 EM)、θ\theta にも事前分布を置いて zz に含めれば、ベイズ推論としての変分推論になる。

7.5 隠れマルコフモデル

設備の状態(正常・異常)は直接は見えず、アラームの有無だけが記録される。混合モデルの成分の番号を、時間とともにマルコフ連鎖で変化させたのが隠れマルコフモデルである(音声や品詞の推定などにも使われる)。

定義 7.20(隠れマルコフモデル, hidden Markov model)状態 {1,…,K}\lbrace 1, \dots, K \rbrace の初期分布 π\pi、推移確率 ajk≥0a_{jk} \geq 0(∑kajk=1\sum_ka_{jk} = 1)、各状態 kk の出力分布 bkb_k(確率関数または密度)を与え、状態の列 z=(z1,…,zT)z = (z_1, \dots, z_T) と観測の列 x=(x1,…,xT)x = (x_1, \dots, x_T) の同時分布を

p(x,z)=πz1bz1(x1)∏t=2Tazt−1ztbzt(xt)p(x, z) = \pi_{z_1}b_{z_1}(x_1)\prod_{t=2}^{T}a_{z_{t-1}z_t}b_{z_t}(x_t)

で定めるモデルを隠れマルコフモデル(HMM)という。

状態の列はマルコフ連鎖(11-probability 第6章 定義 6.1)で、状態が与えられると観測は独立であり、xtx_t は ztz_t だけに依存する。x1:t=(x1,…,xt)x_{1:t} = (x_1, \dots, x_t) と書く。最後の因子 azT−1zTbzT(xT)a_{z_{T-1}z_T}b_{z_T}(x_T) を xT,zTx_T, z_T について和(積分)をとると 11 になることを繰り返せば、t≤Tt \leq T について

p(x1:t,z1:t)=πz1bz1(x1)∏s=2tazs−1zsbzs(xs)(2)p(x_{1:t}, z_{1:t}) = \pi_{z_1}b_{z_1}(x_1)\prod_{s=2}^{t}a_{z_{s-1}z_s}b_{z_s}(x_s) \tag{2}

である。尤度 p(x)=∑zp(x,z)p(x) = \sum_zp(x, z) は KTK^T 項の和で、K=10K = 10, T=100T = 100 なら 1010010^{100} 項になる。

定理 7.21(前向きアルゴリズム, forward algorithm)αt(k)=p(x1:t,Zt=k)\alpha_t(k) = p(x_{1:t}, Z_t = k)((2) を z1:t−1z_{1:t-1} について和をとり zt=kz_t = k としたもの)とおくと

α1(k)=πkbk(x1),αt+1(k)=bk(xt+1)∑j=1Kαt(j)ajk(1≤t<T),p(x)=∑k=1KαT(k)\alpha_1(k) = \pi_kb_k(x_1), \qquad \alpha_{t+1}(k) = b_k(x_{t+1})\sum_{j=1}^{K}\alpha_t(j)a_{jk} \quad (1 \leq t < T), \qquad p(x) = \sum_{k=1}^{K}\alpha_T(k)

であり、p(x)p(x) は O(TK2)O(TK^2) 回の四則演算で計算できる。

証明. (2) より p(x1:t+1,z1:t+1)=p(x1:t,z1:t)aztzt+1bzt+1(xt+1)p(x_{1:t+1}, z_{1:t+1}) = p(x_{1:t}, z_{1:t})a_{z_tz_{t+1}}b_{z_{t+1}}(x_{t+1}) で、zt+1=kz_{t+1} = k を固定して z1:t−1z_{1:t-1} と zt=jz_t = j について和をとれば漸化式を得る。α1\alpha_1 は (2) の t=1t = 1 の場合で、∑kαT(k)=∑zp(x,z)=p(x)\sum_k\alpha_T(k) = \sum_zp(x, z) = p(x) である。各 tt で KK 個の αt+1(k)\alpha_{t+1}(k) をそれぞれ K+1K + 1 回の乗算と K−1K - 1 回の加算で求めるので 1 段は O(K2)O(K^2)、全体で O(TK2)O(TK^2) である。□\square

素朴な和は、KTK^T 個の項のそれぞれに 2T−12T - 1 回の乗算が要るので O(TKT)O(TK^T) である。マルコフ性により、先の計算に要る過去の情報が αt\alpha_t の KK 個の数に集約されるのであり、動的計画法(23-optimization 第7章 7.8 節)の一例である。

例 7.22(アラームの記録)状態 1 を正常、2 を異常、観測 11 をアラームあり、00 をなしとし、π=(0.9,0.1)\pi = (0.9, 0.1)、a11=0.9a_{11} = 0.9, a12=0.1a_{12} = 0.1, a21=0.3a_{21} = 0.3, a22=0.7a_{22} = 0.7、b1(1)=0.1b_1(1) = 0.1, b2(1)=0.6b_2(1) = 0.6 とする。観測 x=(0,1,1)x = (0, 1, 1) では次のようになる。

tt xtx_t αt(1)\alpha_t(1) αt(2)\alpha_t(2)
1 0 0.9×0.9=0.810.9 \times 0.9 = 0.81 0.1×0.4=0.040.1 \times 0.4 = 0.04
2 1 0.1×(0.81×0.9+0.04×0.3)=0.07410.1 \times (0.81 \times 0.9 + 0.04 \times 0.3) = 0.0741 0.6×(0.81×0.1+0.04×0.7)=0.06540.6 \times (0.81 \times 0.1 + 0.04 \times 0.7) = 0.0654
3 1 0.1×(0.0741×0.9+0.0654×0.3)=0.0086310.1 \times (0.0741 \times 0.9 + 0.0654 \times 0.3) = 0.008631 0.6×(0.0741×0.1+0.0654×0.7)=0.0319140.6 \times (0.0741 \times 0.1 + 0.0654 \times 0.7) = 0.031914

p(x)=0.040545p(x) = 0.040545 で、88 通りの状態の列について p(x,z)p(x, z) を足したものと一致する(計算機で確かめた)。正規化した αt(k)/∑jαt(j)=P(Zt=k∣x1:t)\alpha_t(k)/\sum_j\alpha_t(j) = P(Z_t = k \mid x_{1:t})(フィルタリング)によると、異常の確率は時刻 2 で 0.0654/0.1395≈0.4690.0654/0.1395 \approx 0.469、時刻 3 で 0.031914/0.040545≈0.7870.031914/0.040545 \approx 0.787 である。

長い系列では αt\alpha_t が指数的に小さくなる。このモデルで 00 と 11 を交互に並べた長さ 1000 の観測列では log⁡p(x)≈−919.65\log p(x) \approx -919.65、すなわち p(x)≈10−399.4p(x) \approx 10^{-399.4} で、倍精度で表せる最小の正の数(約 4.9×10−3244.9 \times 10^{-324})より小さく、漸化式をそのまま計算すると途中(t=810t = 810)で αt\alpha_t が 00 になる(計算機で確かめた)。そこで各段で αt\alpha_t を正規化し、正規化定数の対数を足していく。tt 段目の正規化定数は p(xt∣x1:t−1)p(x_t \mid x_{1:t-1}) であり、7.6 節の自己回帰分解 log⁡p(x)=∑tlog⁡p(xt∣x1:t−1)\log p(x) = \sum_t\log p(x_t \mid x_{1:t-1}) を計算していることになる。

ビタビ・アルゴリズム (Viterbi algorithm):最も確からしい状態の列 arg⁡max⁡zp(x,z)\arg\max_zp(x, z) は、漸化式の和を最大値に変えた δ1(k)=πkbk(x1)\delta_1(k) = \pi_kb_k(x_1)、δt+1(k)=bk(xt+1)max⁡jδt(j)ajk\delta_{t+1}(k) = b_k(x_{t+1})\max_j\delta_t(j)a_{jk} を計算し、最大を与えた jj を記録して最後から逆にたどれば、O(TK2)O(TK^2) で求まる。例 7.22 では(正常, 異常, 異常)で、その事後確率は 0.020412/0.040545≈0.5030.020412/0.040545 \approx 0.503 である。

バウム–ウェルチ・アルゴリズム (Baum–Welch algorithm):パラメータが未知なら EM アルゴリズムで推定する。E ステップに要る P(Zt=k∣x)=αt(k)βt(k)/p(x)P(Z_t = k \mid x) = \alpha_t(k)\beta_t(k)/p(x) などは、後ろ向きの量 βt(k)=p(xt+1:T∣Zt=k)\beta_t(k) = p(x_{t+1:T} \mid Z_t = k) を同様の漸化式で求めれば計算でき(問題 7.5)、M ステップでは推移の回数の期待値の比などでパラメータを更新する(導出は省略する)。定理 7.12 により尤度は単調に増加するが(ajk=0a_{jk} = 0 などで pθ(x,z)=0p_\theta(x, z) = 0 となる zz があっても、その証明の和を pθ′(z∣x)>0p_{\theta'}(z \mid x) > 0 の zz に限れば、最初の等式が ≥\geq になるだけで成り立つ)、局所解の問題は混合ガウスモデルと同じである。

7.6 生成モデル(紹介)

代表的な 3 つの生成モデルを、定式化と学習の目的関数に絞って本章の言葉で読む(ネットワークの構造や性能には立ち入らない)。

変分オートエンコーダ

変分オートエンコーダ (variational autoencoder, VAE) は、z∼Nm(0,I)z \sim N_m(0, I) とニューラルネットワーク fθf_\theta による pθ(x∣z)=Nd(fθ(z),σ2I)p_\theta(x \mid z) = N_d(f_\theta(z), \sigma^2I) などのモデル(デコーダ)を、事後分布の近似 qϕ(z∣x)=Nm(μϕ(x),diag⁡(sϕ(x)2))q_\phi(z \mid x) = N_m(\mu_\phi(x), \operatorname{diag}(s_\phi(x)^2))(エンコーダ。これもネットワーク)とともに、ELBO

Eqϕ(z∣x)[log⁡pθ(x∣Z)]−KL⁡(qϕ(⋅∣x)∥Nm(0,I))≤log⁡pθ(x)E_{q_\phi(z \mid x)}\bigl[\log p_\theta(x \mid Z)\bigr] - \operatorname{KL}\bigl(q_\phi(\cdot \mid x) \Vert N_m(0, I)\bigr) \leq \log p_\theta(x)

のデータについての和を最大にして学習する(変分 EM と同じ ELBO を、qq をネットワークで表し、E ステップと M ステップを交互に解く代わりに θ\theta と ϕ\phi について同時に勾配法で最大化する)。第 1 項は定数を除いて −12σ2E∥x−fθ(Z)∥2-\frac{1}{2\sigma^2}E\lVert x - f_\theta(Z) \rVert^2(xx を zz に符号化して復元したときの誤差)、KL ダイバージェンスの項は (1) を成分ごとに足して 12∑j(μj2+sj2−1−log⁡sj2)\frac{1}{2}\sum_j(\mu_j^2 + s_j^2 - 1 - \log s_j^2)(μ=μϕ(x)\mu = \mu_\phi(x)、s=sϕ(x)s = s_\phi(x))である。学習後は z∼Nm(0,I)z \sim N_m(0, I) から fθ(z)f_\theta(z) を作れば新しいデータが得られる。期待値をとる分布が ϕ\phi によるので、勾配は次の書き換えで計算する。

命題 7.23(再パラメータ化, reparameterization)ε∼Nm(0,I)\varepsilon \sim N_m(0, I)、sj>0s_j > 0 なら、成分ごとの積 ⊙\odot について μ+s⊙ε∼Nm(μ,diag⁡(s2))\mu + s \odot \varepsilon \sim N_m(\mu, \operatorname{diag}(s^2)) であり、EZ∼Nm(μ,diag⁡(s2))[g(Z)]=E[g(μ+s⊙ε)]E_{Z \sim N_m(\mu, \operatorname{diag}(s^2))}[g(Z)] = E[g(\mu + s \odot \varepsilon)] である。gg が C1C^1 級で微分と期待値の順序を交換できるなら

∂∂μjE[g(μ+s⊙ε)]=E[∂g∂zj(μ+s⊙ε)],∂∂sjE[g(μ+s⊙ε)]=E[εj∂g∂zj(μ+s⊙ε)]\frac{\partial}{\partial \mu_j}E[g(\mu + s \odot \varepsilon)] = E\left[\frac{\partial g}{\partial z_j}(\mu + s \odot \varepsilon)\right], \qquad \frac{\partial}{\partial s_j}E[g(\mu + s \odot \varepsilon)] = E\left[\varepsilon_j\frac{\partial g}{\partial z_j}(\mu + s \odot \varepsilon)\right]

証明. μ+s⊙ε=μ+diag⁡(s)ε\mu + s \odot \varepsilon = \mu + \operatorname{diag}(s)\varepsilon だから、前半は 22-statistics 第1章 定理 1.22 の 2 による。後半は期待値の中を連鎖律で微分すればよい(交換の十分条件は 06-measure-integration 第3章 定理 3.25)。□\square

右辺は ε\varepsilon を生成すれば不偏に推定でき、μ=μϕ(x)\mu = \mu_\phi(x)、s=sϕ(x)s = s_\phi(x) を通して誤差逆伝播法(第5章 定理 5.5)で ϕ\phi の勾配が得られる。

拡散モデル

拡散モデル (diffusion model) は、データ x0∼p∗x_0 \sim p^{\ast} に雑音を少しずつ加える前向き過程 xt=1−βtxt−1+βtεtx_t = \sqrt{1 - \beta_t}x_{t-1} + \sqrt{\beta_t}\varepsilon_t(t=1,…,Tt = 1, \dots, T。0<βt<10 < \beta_t < 1 は定数、εt\varepsilon_t は x0x_0 と独立な Nd(0,I)N_d(0, I) の i.i.d.)と、それを逆にたどる、学習する逆過程からなる。

命題 7.24(前向き過程の周辺分布)αˉt=∏s=1t(1−βs)\bar{\alpha}_t = \prod_{s=1}^{t}(1 - \beta_s) とおくと、x0x_0 を与えたもとで xt∼Nd(αˉtx0,(1−αˉt)I)x_t \sim N_d(\sqrt{\bar{\alpha}_t}x_0, (1 - \bar{\alpha}_t)I) である。すなわち xtx_t は、x0x_0 と独立な ε∼Nd(0,I)\varepsilon \sim N_d(0, I) による αˉtx0+1−αˉtε\sqrt{\bar{\alpha}_t}x_0 + \sqrt{1 - \bar{\alpha}_t}\varepsilon と同じ分布に従う。

証明. ut=xt−αˉtx0u_t = x_t - \sqrt{\bar{\alpha}_t}x_0 とおくと、1−βtαˉt−1=αˉt\sqrt{1 - \beta_t}\sqrt{\bar{\alpha}_{t-1}} = \sqrt{\bar{\alpha}_t} より u0=0u_0 = 0、ut=1−βtut−1+βtεtu_t = \sqrt{1 - \beta_t}u_{t-1} + \sqrt{\beta_t}\varepsilon_t である。帰納法により utu_t は ε1,…,εt\varepsilon_1, \dots, \varepsilon_t の 1 次結合なので、x0x_0 と独立で、平均 00 の多変量正規分布に従う(22-statistics 第1章 定義 1.21・定理 1.22)。共分散行列を vtIv_tI とすると、独立性から vt=(1−βt)vt−1+βtv_t = (1 - \beta_t)v_{t-1} + \beta_t、v0=0v_0 = 0 で、vt=1−αˉtv_t = 1 - \bar{\alpha}_t がこれを満たす。□\square

αˉT≈0\bar{\alpha}_T \approx 0 なら xTx_T はデータによらずほぼ Nd(0,I)N_d(0, I) に従う(βt=0.02\beta_t = 0.02、T=200T = 200 なら αˉT≈0.018\bar{\alpha}_T \approx 0.018)。逆過程は xT∼Nd(0,I)x_T \sim N_d(0, I) から正規分布 pθ(xt−1∣xt)=Nd(mθ(xt,t),σt2I)p_\theta(x_{t-1} \mid x_t) = N_d(m_\theta(x_t, t), \sigma_t^2I) で順に x0x_0 まで生成する(以下、分散 σt2\sigma_t^2 は固定する)。x1:Tx_{1:T} を潜在変数、前向き過程を学習しない変分分布とみると定理 7.16 の下界が得られ、その符号を変えたものは、pθ(xt−1∣xt)p_\theta(x_{t-1} \mid x_t) と、閉じた形で書ける正規分布

q(xt−1∣xt,x0)=Nd(11−βt(xt−βt1−αˉtε),(1−αˉt−1)βt1−αˉtI)(2≤t≤T)q(x_{t-1} \mid x_t, x_0) = N_d\Bigl(\frac{1}{\sqrt{1 - \beta_t}}\Bigl(x_t - \frac{\beta_t}{\sqrt{1 - \bar{\alpha}_t}}\varepsilon\Bigr), \frac{(1 - \bar{\alpha}_{t-1})\beta_t}{1 - \bar{\alpha}_t}I\Bigr) \qquad (2 \leq t \leq T)

との KL ダイバージェンスの和などに分かれる。ここで ε=(xt−αˉtx0)/1−αˉt\varepsilon = (x_t - \sqrt{\bar{\alpha}_t}x_0)/\sqrt{1 - \bar{\alpha}_t} であり、この式は、q(xt∣xt−1)q(x_t \mid x_{t-1}) と命題 7.24 の q(xt−1∣x0)q(x_{t-1} \mid x_0) の積を xt−1x_{t-1} について平方完成すれば得られる。平均 mθ(xt,t)m_\theta(x_t, t) を、この式の平均に現れる ε\varepsilon を雑音を予測するネットワーク εθ(xt,t)\varepsilon_\theta(x_t, t) に置き換えたものにとると、(1) を成分ごとに使えば各項は βt22σt2(1−βt)(1−αˉt)E∥ε−εθ(αˉtx0+1−αˉtε,t)∥2\frac{\beta_t^2}{2\sigma_t^2(1 - \beta_t)(1 - \bar{\alpha}_t)}E\lVert \varepsilon - \varepsilon_\theta(\sqrt{\bar{\alpha}_t}x_0 + \sqrt{1 - \bar{\alpha}_t}\varepsilon, t) \rVert^2 に θ\theta によらない定数を加えたものになる(t=1t = 1 の項 −E[log⁡pθ(x0∣x1)]-E[\log p_\theta(x_0 \mid x_1)] も同じ形で、KL⁡(q(xT∣x0)∥Nd(0,I))\operatorname{KL}(q(x_T \mid x_0) \Vert N_d(0, I)) は θ\theta によらない)。実際には、tt を一様に選び、この係数を省いた二乗誤差を最小にすることが多い(係数を省くのは経験的な選択である)。第1章の定理 1.9 より最適な予測は E[ε∣xt]E[\varepsilon \mid x_t] で、これは xtx_t の密度 qtq_t の対数の勾配(スコア)を使って −1−αˉt∇log⁡qt(xt)-\sqrt{1 - \bar{\alpha}_t}\nabla\log q_t(x_t) と表せる(問題 7.6)。刻み幅 hh について βt=β(th)h\beta_t = \beta(th)h とおいて h→0h \to 0 とする極限では、前向き過程は確率微分方程式 dXs=−12β(s)Xs ds+β(s) dBsdX_s = -\frac{1}{2}\beta(s)X_s\ ds + \sqrt{\beta(s)}\ dB_s の解に近づく(主張のみ)。β\beta が定数なら、各成分は 11-probability 第7章 例 7.20 のオルンシュタイン–ウーレンベック過程で、同例より、出発点によらず分散 (β)2/(2⋅β/2)=1(\sqrt{\beta})^2/(2 \cdot \beta/2) = 1 の正規分布 N(0,1)N(0, 1) に近づく。

大規模言語モデル

文章を、有限集合 VV(語彙)の元であるトークン(単語やその断片)の列 x1,…,xTx_1, \dots, x_T で表し、x<t=(x1,…,xt−1)x_{< t} = (x_1, \dots, x_{t-1}) と書く。

命題 7.25(自己回帰分解)VTV^T 上の任意の確率分布 pp と、p(x1,…,xT)>0p(x_1, \dots, x_T) > 0 となる列について

p(x1,…,xT)=∏t=1Tp(xt∣x<t)p(x_1, \dots, x_T) = \prod_{t=1}^{T}p(x_t \mid x_{< t})

が成り立つ。ここで p(xt∣x<t)=p(x≤t)/p(x<t)p(x_t \mid x_{< t}) = p(x_{\leq t})/p(x_{< t}) は最初の tt 個と t−1t - 1 個の周辺分布の比である(t=1t = 1 では p(x1)p(x_1))。

証明. p(x≤t)≥p(x1,…,xT)>0p(x_{\leq t}) \geq p(x_1, \dots, x_T) > 0 なので比が定義でき、積をとると隣り合う分母と分子が打ち消し合って p(x≤T)p(x_{\leq T}) が残る。□\square

この分解には何の仮定も要らない。自己回帰型の言語モデルは、各条件付き分布を、前のトークンからニューラルネットワーク(現在の大規模言語モデルの多くはトランスフォーマー。第5章 5.9 節)で計算した特徴量 hθ(x<t)h_\theta(x_{< t}) のソフトマックス回帰 pθ(xt∣x<t)=softmax⁡(Whθ(x<t))xtp_\theta(x_t \mid x_{< t}) = \operatorname{softmax}(Wh_\theta(x_{< t}))_{x_t}(第2章の定義 2.19)で表し、大規模言語モデルはこれを非常に多くのパラメータと大量の文章で学習したものである。学習で最小にする平均の交差エントロピー L(θ)=−1N∑t=1Nlog⁡pθ(xt∣x<t)L(\theta) = -\frac{1}{N}\sum_{t=1}^{N}\log p_\theta(x_t \mid x_{< t})(NN はトークン数)は、命題 7.25 より文章全体の負の対数尤度の 1/N1/N なので、これは最尤推定である(定理 7.7・命題 7.8)。

定義 7.26(パープレキシティ, perplexity)評価用の文章の NN 個のトークンについて、PPL⁡=exp⁡(−1N∑t=1Nlog⁡pθ(xt∣x<t))\operatorname{PPL} = \exp\bigl(-\frac{1}{N}\sum_{t=1}^{N}\log p_\theta(x_t \mid x_{< t})\bigr) をパープレキシティという。

パープレキシティは、正解のトークンに与えた確率の逆数の幾何平均で、11 以上である。すべてのトークンに確率 1/∣V∣1/\lvert V \rvert を与えるモデルではちょうど ∣V∣\lvert V \rvert なので、「平均して何個の候補の間で迷っているか」と読める。文章の生成は xt∼pθ(⋅∣x<t)x_t \sim p_\theta(\cdot \mid x_{< t}) を順に生成して行う(温度 τ>0\tau > 0 を使って softmax⁡(z/τ)\operatorname{softmax}(z/\tau) から生成すると、τ\tau が小さいほど確率の高いトークンに集中する)。対話に使うモデルでは、この最尤推定(事前学習)の後に、対話の例についての同じ交差エントロピーの最小化や、人の評価を使う別の目的関数などで追加の学習をするのが一般的である。

注意

最尤推定が求めるのは学習データの文章の分布をまねることであり、生成された文章の内容が事実として正しいことは、目的関数に直接は入っていない。パープレキシティが低いことも、内容の正しさを意味しない。

ヒント

実務では パープレキシティはトークンあたりの量なので、トークンへの分け方が違うモデルどうしでは比べられない(細かく分けるほど 1 トークンあたりの予測は易しくなる)。比べるなら、同じ評価用の文章全体の対数尤度を文字数やバイト数で割った量を使う(問題 7.7)。評価用の文章が学習データに含まれていると評価は楽観的になる(第1章のデータ漏洩)。長い文章の確率はすぐに浮動小数点数の範囲を下回るので、計算はつねに対数で行う。

まとめ

  • H(p,q)=H(p)+KL⁡(p∥q)H(p, q) = H(p) + \operatorname{KL}(p \Vert q) であり、ギブスの不等式 KL⁡(p∥q)≥0\operatorname{KL}(p \Vert q) \geq 0(等号は p=qp = q)は log⁡u≤u−1\log u \leq u - 1 から従う。相互情報量は、独立な場合の分布からの KL ダイバージェンスである。
  • 最尤推定は経験分布との KL ダイバージェンス(交差エントロピー)の最小化であり、交差エントロピー損失のベイズ最適な予測は真の条件付き分布である。
  • 混合ガウスモデルの EM アルゴリズムは負担率の計算(E)と重みつき最尤推定(M)の繰り返しで、対数尤度は単調に増加する。しかし最大でない停留点で止まることがあり、尤度は非有界で、結果は初期値に依存する。
  • log⁡p(x)=ELBO⁡(q)+KL⁡(q∥p(⋅∣x))\log p(x) = \operatorname{ELBO}(q) + \operatorname{KL}(q \Vert p(\cdot \mid x))。平均場近似の更新は qj∝exp⁡(E−j[log⁡p(x,Z)])q_j \propto \exp(E_{-j}[\log p(x, Z)]) で、広がりを過小評価しやすい。EM は qq に制約を置かない ELBO の座標上昇である。
  • 隠れマルコフモデルの尤度は前向きアルゴリズムで O(TK2)O(TK^2) で計算でき(素朴な和は O(TKT)O(TK^T))、状態の列の推定はビタビ・アルゴリズム、パラメータの推定はバウム–ウェルチ・アルゴリズム(EM)で行う。
  • 変分オートエンコーダは ELBO と再パラメータ化、拡散モデルは閉じた形の前向き過程と雑音の予測、大規模言語モデルは自己回帰分解と交差エントロピー(最尤推定)で学習する。パープレキシティは平均交差エントロピーの指数である。

演習問題

問題 7.1 ★ (1) p=(1/2,1/4,1/4)p = (1/2, 1/4, 1/4) と一様分布 u=(1/3,1/3,1/3)u = (1/3, 1/3, 1/3) について、H(p)H(p)、KL⁡(p∥u)\operatorname{KL}(p \Vert u)、KL⁡(u∥p)\operatorname{KL}(u \Vert p) を求めよ。(2) 表の確率が 0.1,0.5,0.90.1, 0.5, 0.9 のベルヌーイ分布を p1,p2,p3p_1, p_2, p_3 とする。KL⁡(p1∥p3)>KL⁡(p1∥p2)+KL⁡(p2∥p3)\operatorname{KL}(p_1 \Vert p_3) > \operatorname{KL}(p_1 \Vert p_2) + \operatorname{KL}(p_2 \Vert p_3) を確かめよ。

解答

(1) H(p)=12log⁡2+2⋅14log⁡4=32log⁡2≈1.0397H(p) = \frac{1}{2}\log 2 + 2 \cdot \frac{1}{4}\log 4 = \frac{3}{2}\log 2 \approx 1.0397、KL⁡(p∥u)=log⁡3−H(p)≈0.0589\operatorname{KL}(p \Vert u) = \log 3 - H(p) \approx 0.0589(系 7.3 の証明)、KL⁡(u∥p)=13(log⁡23+2log⁡43)=13log⁡3227≈0.0566\operatorname{KL}(u \Vert p) = \frac{1}{3}(\log\frac{2}{3} + 2\log\frac{4}{3}) = \frac{1}{3}\log\frac{32}{27} \approx 0.0566。

(2) KL⁡(p1∥p3)=0.1log⁡0.10.9+0.9log⁡0.90.1=0.8log⁡9≈1.7578\operatorname{KL}(p_1 \Vert p_3) = 0.1\log\frac{0.1}{0.9} + 0.9\log\frac{0.9}{0.1} = 0.8\log 9 \approx 1.7578。一方 KL⁡(p1∥p2)=0.1log⁡0.2+0.9log⁡1.8≈0.3681\operatorname{KL}(p_1 \Vert p_2) = 0.1\log 0.2 + 0.9\log 1.8 \approx 0.3681、KL⁡(p2∥p3)=log⁡53≈0.5108\operatorname{KL}(p_2 \Vert p_3) = \log\frac{5}{3} \approx 0.5108(例 7.4)で、和は約 0.87890.8789 にすぎない。

問題 7.2 ★ メールに特定の単語が含まれるかを XX(含めば 11)、迷惑メールかを YY(迷惑メールなら 11)とし、P(X=1,Y=1)=P(X=0,Y=0)=0.4P(X = 1, Y = 1) = P(X = 0, Y = 0) = 0.4、P(X=1,Y=0)=P(X=0,Y=1)=0.1P(X = 1, Y = 0) = P(X = 0, Y = 1) = 0.1 とする。I(X;Y)I(X; Y)、H(X)H(X)、H(X∣Y)H(X \mid Y) を求め、命題 7.6 の 2 を確かめよ。

解答

周辺分布はどちらも (1/2,1/2)(1/2, 1/2) なので H(X)=log⁡2≈0.6931H(X) = \log 2 \approx 0.6931、I(X;Y)=0.8log⁡0.40.25+0.2log⁡0.10.25=0.8log⁡1.6+0.2log⁡0.4≈0.1927I(X; Y) = 0.8\log\frac{0.4}{0.25} + 0.2\log\frac{0.1}{0.25} = 0.8\log 1.6 + 0.2\log 0.4 \approx 0.1927。YY のどちらの値のもとでも XX の条件付き分布は (0.8,0.2)(0.8, 0.2) なので、H(X∣Y)=−0.8log⁡0.8−0.2log⁡0.2≈0.5004H(X \mid Y) = -0.8\log 0.8 - 0.2\log 0.2 \approx 0.5004 で、H(X)−H(X∣Y)≈0.1927=I(X;Y)H(X) - H(X \mid Y) \approx 0.1927 = I(X; Y) である。

問題 7.3 ★★ pp を平均 mm、分散 v>0v > 0 の R\mathbb{R} 上の密度で、微分エントロピー h(p)=−∫plog⁡ph(p) = -\int p\log p が有限なものとする。N(μ,s2)N(\mu, s^2) のうち KL⁡(p∥N(μ,s2))\operatorname{KL}(p \Vert N(\mu, s^2)) を最小にするのは μ=m\mu = m、s2=vs^2 = v であることを示し、例 7.9 の N(0,10)N(0, 10) を確かめよ。

解答

−log⁡φ(x;μ,s2)=12log⁡(2πs2)+(x−μ)22s2-\log\varphi(x; \mu, s^2) = \frac{1}{2}\log(2\pi s^2) + \frac{(x - \mu)^2}{2s^2} と Ep[(X−μ)2]=v+(m−μ)2E_p[(X - \mu)^2] = v + (m - \mu)^2 より

KL⁡(p∥N(μ,s2))=−h(p)+12log⁡(2πs2)+v+(m−μ)22s2\operatorname{KL}(p \Vert N(\mu, s^2)) = -h(p) + \frac{1}{2}\log(2\pi s^2) + \frac{v + (m - \mu)^2}{2s^2}

で、これは μ=m\mu = m でだけ最小になる。そのとき u=s2u = s^2 の関数 12log⁡u+v2u\frac{1}{2}\log u + \frac{v}{2u} の導関数 u−v2u2\frac{u - v}{2u^2} は u=vu = v の前後で負から正に変わる。例 7.9 の混合分布の平均は 00、分散は E[X2]=1+9=10E[X^2] = 1 + 9 = 10 である。

問題 7.4 ★★ ある分析者が、顧客の購入額の対数に混合ガウスモデルを当てはめ、成分の数 K=1,…,8K = 1, \dots, 8 のそれぞれで EM アルゴリズムを 1 回ずつ実行した。訓練データの対数尤度は KK とともにおおむね増え、K=8K = 8 でほかより格段に大きくなった。K=8K = 8 の解では、ある成分の分散が 10−910^{-9} で、その重みは 1/n1/n に近かった。分析者は「顧客は 8 つの層に分かれる」と結論した。この分析の問題点を挙げ、どうすべきかを述べよ。

解答

(1) 訓練データの対数尤度は、成分を複製すれば KK について下がらないので、KK の選択に使えない。(2) 分散が 10−910^{-9} で重みが 1/n1/n に近い成分はほぼ 1 点に縮退しており、格段に大きい対数尤度は命題 7.15 の特異点による見かけのものである(同じ購入額が繰り返し現れると起こりやすい)。(3) 各 KK で 1 回しか実行しておらず、局所解や初期値への依存を確かめていない。(4) 成分は顧客の層とは限らない。山が 1 つでも、歪んだ分布や裾の重い分布はいくつもの正規分布の和で近似される。分散に下限を設け、初期値を変えて何回も実行し、KK は検証データでの対数尤度や BIC で選び、解の安定性と、成分が業務上意味のある違いに対応するかを確かめるべきである。

問題 7.5 ★★ 隠れマルコフモデルで βT(k)=1\beta_T(k) = 1、t<Tt < T について βt(k)=∑zt+1,…,zT∏s=t+1Tazs−1zsbzs(xs)\beta_t(k) = \sum_{z_{t+1}, \dots, z_T}\prod_{s=t+1}^{T}a_{z_{s-1}z_s}b_{z_s}(x_s)(zt=kz_t = k とする)と定める。(1) βt(j)=∑kajkbk(xt+1)βt+1(k)\beta_t(j) = \sum_ka_{jk}b_k(x_{t+1})\beta_{t+1}(k) と p(x,Zt=k)=αt(k)βt(k)p(x, Z_t = k) = \alpha_t(k)\beta_t(k) を示せ。(2) 例 7.22 で β1,β2\beta_1, \beta_2 と P(Z2=2∣x)P(Z_2 = 2 \mid x) を求め、時刻 2 のフィルタリングの値と比べよ。

解答

(1) βt(j)\beta_t(j) の定義の和で zt+1=kz_{t+1} = k を固定すると因子 ajkbk(xt+1)a_{jk}b_k(x_{t+1}) が外に出て、残りの和が βt+1(k)\beta_{t+1}(k) になる。zt=kz_t = k のとき p(x,z)p(x, z) は s≤ts \leq t の因子の積((2) の右辺)と s>ts > t の因子の積の積であり、z1:t−1z_{1:t-1} について和をとると前者は αt(k)\alpha_t(k)、zt+1:Tz_{t+1:T} について和をとると後者は βt(k)\beta_t(k) になる。

(2) β2(1)=0.9×0.1+0.1×0.6=0.15\beta_2(1) = 0.9 \times 0.1 + 0.1 \times 0.6 = 0.15、β2(2)=0.3×0.1+0.7×0.6=0.45\beta_2(2) = 0.3 \times 0.1 + 0.7 \times 0.6 = 0.45、β1(1)=0.9×0.1×0.15+0.1×0.6×0.45=0.0405\beta_1(1) = 0.9 \times 0.1 \times 0.15 + 0.1 \times 0.6 \times 0.45 = 0.0405、β1(2)=0.3×0.1×0.15+0.7×0.6×0.45=0.1935\beta_1(2) = 0.3 \times 0.1 \times 0.15 + 0.7 \times 0.6 \times 0.45 = 0.1935(検算:0.81×0.0405+0.04×0.1935=0.040545=p(x)0.81 \times 0.0405 + 0.04 \times 0.1935 = 0.040545 = p(x))。P(Z2=2∣x)=0.0654×0.45/0.040545≈0.726P(Z_2 = 2 \mid x) = 0.0654 \times 0.45/0.040545 \approx 0.726 で、時刻 2 までの観測によるフィルタリングの値 0.4690.469 より大きい。時刻 3 のアラームが、時刻 2 の異常の証拠を強めたのである。

問題 7.6 ★★★ X0X_0 を密度 p0p_0 をもつ Rd\mathbb{R}^d の確率ベクトル、ε∼Nd(0,I)\varepsilon \sim N_d(0, I) を X0X_0 と独立とし、0<αˉ<10 < \bar{\alpha} < 1 について X=αˉX0+1−αˉεX = \sqrt{\bar{\alpha}}X_0 + \sqrt{1 - \bar{\alpha}}\varepsilon の密度を qq とする。微分と積分の順序交換を認めて、E[ε∣X=x]=−1−αˉ∇log⁡q(x)E[\varepsilon \mid X = x] = -\sqrt{1 - \bar{\alpha}}\nabla\log q(x)(ツイーディーの公式)を示せ。

解答

X0=x0X_0 = x_0 のもとでの XX の密度 k(x∣x0)=φ(x;αˉx0,(1−αˉ)I)k(x \mid x_0) = \varphi(x; \sqrt{\bar{\alpha}}x_0, (1 - \bar{\alpha})I) について q(x)=∫k(x∣x0)p0(x0) dx0q(x) = \int k(x \mid x_0)p_0(x_0)\ dx_0、∇xk(x∣x0)=−x−αˉx01−αˉk(x∣x0)\nabla_xk(x \mid x_0) = -\frac{x - \sqrt{\bar{\alpha}}x_0}{1 - \bar{\alpha}}k(x \mid x_0) である。k(x∣x0)p0(x0)/q(x)k(x \mid x_0)p_0(x_0)/q(x) は X=xX = x のもとでの X0X_0 の条件付き密度なので

∇log⁡q(x)=∇q(x)q(x)=−11−αˉ∫(x−αˉ x0)k(x∣x0)p0(x0)q(x) dx0=−11−αˉE[X−αˉ X0∣X=x]\nabla\log q(x) = \frac{\nabla q(x)}{q(x)} = -\frac{1}{1 - \bar{\alpha}}\int(x - \sqrt{\bar{\alpha}}\,x_0)\frac{k(x \mid x_0)p_0(x_0)}{q(x)}\ dx_0 = -\frac{1}{1 - \bar{\alpha}}E\bigl[X - \sqrt{\bar{\alpha}}\,X_0 \bigm| X = x\bigr]

で、X−αˉX0=1−αˉεX - \sqrt{\bar{\alpha}}X_0 = \sqrt{1 - \bar{\alpha}}\varepsilon を代入すればよい。雑音を予測するネットワークは、雑音を加えたデータの分布のスコアを推定しているのである。

問題 7.7 ★★ (1) ある言語モデルが評価用の文章の 4 個のトークンに与えた確率が順に 1/2,1/4,1/8,1/21/2, 1/4, 1/8, 1/2 だった。平均交差エントロピーとパープレキシティを求めよ。(2) 同じ評価用の文章で、語彙が 32000 のモデル A のパープレキシティは 20、1 文字を 1 トークンとするモデル B のパープレキシティは 8 だった。A の 1 トークンは平均 1.5 文字にあたる。「B のほうが文章をよく予測している」という結論は正しいか。

解答

(1) 平均交差エントロピーは 14(log⁡2+log⁡4+log⁡8+log⁡2)=74log⁡2≈1.213\frac{1}{4}(\log 2 + \log 4 + \log 8 + \log 2) = \frac{7}{4}\log 2 \approx 1.213、パープレキシティは 27/4≈3.3642^{7/4} \approx 3.364。

(2) 正しくない。文章の文字数を CC とすると、文章全体の対数尤度は A では −C1.5log⁡20-\frac{C}{1.5}\log 20、B では −Clog⁡8-C\log 8 で、1 文字あたり A は約 −1.997-1.997、B は約 −2.079-2.079 である。A のほうが文章全体に高い確率を与えており(1 文字あたりのパープレキシティは 202/3≈7.37<820^{2/3} \approx 7.37 < 8)、よく予測している。トークンへの分け方が違うモデルを、トークンあたりのパープレキシティで比べてはいけない。

この章を読み終えたら

「読了」にすると、学習記録と地図に反映されます。

この章の誤りを報告GitHub で見る