</link>

Bayes 学習

`

Kruschke 2013 より。 図 2 は記述モデルとそのパラメータの事前分布を示したものである。群 $j$ からの $i$ 番目のデータは,図の下部で $y_{ji}$ と示されている。データは t 分布で記述され,図の中央に描かれている。事前分布は図の上部に示されている。特に,平均パラメータ $\mu_1$ と $\mu_2$ に関する事前分布は,非常に広い正規分布であると仮定され,図では象徴的な正規分布の形で描かれている。データの任意のスケールに対して事前分布を広く保つために,$\mu$ に関する事前分布の標準偏差 $S$ を,プールされたデータの標準偏差の 1,000 倍に設定した。$\mu$ に関する事前分布の平均 $M$ は,プールされたデータの平均に任意に設定される。この設定は,単にデータの任意のスケールに対して事前分布を適切にスケーリングしておくために行われる。したがって、もしyが距離の尺度であれば、スケールはナノメートルでも光年でもよく、事前分布は同じように非妥協的である。標準偏差パラメータの事前分布も非妥協的であると仮定され、プールされたデータの標準偏差の 1,000 分の 1 に設定された低い値Lから、プールされたデータの標準偏差の 1,000 倍に設定された高い値 H までの一様分布として表現される。最後に、$\nu$ パラメータは指数分布の事前分布を持ち,これは事前信頼性をほぼ正規データと重尾部データにかなり均等に広げる。$\nu$ の正確な事前分布を付録 A に示す。
図 2. ロバストベイズ推定の記述モデルの階層図。図の下部では,群 1 のデータを $y_{1i}$,群 2 のデータを $y_{2i}$ と表す。t 分布のアイコンからデータに下る矢印で示されるように,データは t 分布で記述されると仮定される。各矢印のチルダ記号 (tilde) は,データがランダムに分布していることを示し,下矢印の " . . “ 記号 (ellipsis) は,すべての $y_i$ が同一かつ独立に分布していることを示す。2 群は異なる平均パラメータ ($\mu_1$ と $\mu_2$) と異なる標準偏差パラメータ($\sigma_1$ と $\sigma_2$) を持ち,分割された矢印で示されるようにパラメータは両群で共有され,合計 5 つのパラメータが推定される。パラメータは,図の上部のアイコンで示されるように,広範で非妥協的な事前分布で提供される。事前分布には,非常に大きな無作為標本による表現と,図 3-5 の事後分布のヒストグラムとの対応を示すために,ヒストグラム・バーが重ねられている。 S:standard deviation; M:mean; L:low value; H: high value; R:rate; unif:uniform; shifted exp: shifted exponential; distrib.:distribution.

確率論の根底には 2 つの単純な規則がある:

  • 和法則 とは: $ P(x)=\sum_{y\in Y}P(x,y). $

  • 積法則 とは: $ P(x,y) = P(x) P(y\vert x). $

ここで $x$ と $y$ は観測された量または不確実な量に対応し,それぞれある集合 $X$ と $Y$ に値をとる。 例えば,$x$ と $y$ はそれぞれケンブリッジとロンドンの天気に関するもので,どちらも集合 $X=Y=${雨,曇,晴} の値をとる。 $P(x)$ は $x$ の確率に相当し,特定の値を観測する頻度についての記述でも,それについての主観的な信念でもよい。 $P(x,y)$ は $x$ と $y$ を観測する合同確率,$P(y|x)$ は $x$ の値を観測することを条件とした $y$ の確率である。 和の法則は,$x$ の周辺化は $y$ 上の結合を和 (連続変数の場合は積分) することで得られるとするものである。 積の法則は,結合が周辺と条件付の積として分解されることを述べる。 Bayes則はこの 2 つの法則の帰結である。

\[P(y|x)=\frac{P(x|y)P(y)}{P(x)}=\frac{P(x|y)P(y)}{\sum_{y\in Y}P(x,y)}\]

系を確率変数の集まりとしてモデル化すると,ある観察変数 ($X$) と,観察不可能な潜在変数 ($\theta$) を仮定する。

ベイズの定理 は,任意の確率変数の組の間の一般的な関係を与える。

\[p(\theta|X) = \frac{p(X|\theta)p(\theta)}{p(X)}\]

これの様々な断片に通称が関連付けられている。

$p(\theta|X)$ は 事後確率 である。 ある画像が与えられたとき,それが猫の画像である確率は? もし $z\sim P(\theta|X)$ から標本抽出できるなら,これを使って,与えられた画像が猫かどうか教えてくれる猫分類器を作ることができる。

$p(X|\theta)$ は 尤度 である。 $\theta$ の値が与えられたとき,この画像 $X$ がそのカテゴリに属する「確率」がどのくらいかを計算する。 もし $x\sim P(X|\theta)$ から標本抽出できるなら,乱数を生成するのと同じくらい簡単に猫の画像と猫以外の画像を生成することができる。 $p(\theta)$ は 事前確率 Prior と呼ばれる。

隠れ変数は ベイズ統計学 の枠組みで,観測変数に付随する 事前確信 と解釈することができる。 例えば,$X$ が多変量ガウス分布であると信じる場合,隠れ変数 $\theta$ はガウス分布の平均と分散を表すかもしれない。 このとき,パラメータに対する分布 $P(\theta)$ は,$P(X)$ に対する 事前分布 となる。

また,$X$ と $\theta$ とがどの値を表すかは,自由に選択することができる。 例えば,$\theta$ の代わりに「平均,分散の立方根,あるいは $X+Y$,ここで $Y\sim\mathcal{N}(0,1)$」などとすることも可能である。 これはやや不自然で変であるが,$P(X|\theta)$ を適宜修正すれば,構造はそのまま有効である。

変数を「追加」することもできる。 $P(Z|\theta)$ は,それ自身の事前分布 $P(\theta)$ を持ち,それらもやはり事前分布を持つなど,事前分布自体が他の確率変数に依存するかもしれない。 どんなハイパーパラメータも事前分布と考えることができる。

ベイズ学習の基礎

変分ベイズ学習の理論

  1. モデル化したい現象は確率分布として表現可能だと仮定する。この現象からデータが生成されると考えた場合,サンプルが得られたいう。 データ生成の逆向きすなわち得られたデータから情報源の統計的性質を推測することを 学習 Learning または 統計的推測 Statistical estimation という。
  2. 関心のあるモデル化したい現象がユークリッド空間上で確率分布をなすと仮定する。 現象の生起を表す確率密度関数を $q(x)$ とし 真の確率密度関数 True probability density function と呼ぶ。 真の確率密度関数 $q(x)$ に独立に従う $n$ 個の確率変数の集合: \(\mathcal{D}=\{x_1,x_2,\ldots,x_n\},\) を サンプル, データ, 学習例 あるいは Example という。 実際には 真の確率密度関数 $q(x)$ は分からないことが多いので,得られたデータから $q(x)$ を推測することを考えることになる。
  3. パラメータ $w$ によって定まる $x$ の 確率密度関数 $p(x|w)$ と $w$ の集合上の確率密度関数 $\phi(w)$ を考える。 $p(x|w)$ を 確率モデル Probabilistic model, 統計モデル Statistical model, 学習モデル Learning machine という。 $\phi(w)$ を 事前確率密度関数 A priori probability density function, Prior という。

Bayes 機械学習

$x$ を $\mathcal{D}$ に置き換えて観測データを,$y$ を $\theta$ に置き換えてモデルの未知パラメータを,全ての項 を $m$ (我々が考える確率モデルのクラス) で条件付けることで,確率論を機械学習に適用することができる。 学習の場合,次のようになる。

\[P(\theta|\mathcal{D},m)=\frac{P(\mathcal{D}|\theta,m) P(\theta|m)}{P(\mathcal{D}|m)}\]

ここで,$P(\mathcal{D}|\theta,m)$ はモデル $m$ におけるパラメータ $\theta$ の尤度,$P(\theta|m)$ は $\theta$ の事前確率,$P(\theta|\mathcal{D}, m)$ はデータ $\mathcal{D}$ を与えたときの $\theta$の事後確率である。

例えば,データ $\mathcal{D}$ はケンブリッジとロンドンの天気を 1 時間毎に観測した時系列であり,モデルは両地点の連続する時間での合同天気パターンを捉えようとし,パラメータ $\theta$ は時間と空間の相関をモデリングする。 学習とは,データ $\mathcal{D}$ を通して,パラメータ $P(\theta|m)$ に関する事前知識または仮定を,パラメータに関する事後知識 $P(\theta|\mathcal{D},m)$ に変換することである。 この事後知識は,将来のデータに対して使用される事前知識となる。

1. 基礎概念

  • (A) 情報源が確率分布で表されているものとする。 情報源からサンプルが得られたとき,サンプルから情報源を推測することを 学習 (Learning) あるいは 統計的推測 (Statistical estimation) という。
  • (B) 以下では,情報源がユークリッド空間上の確率分布である場合を 考える。 情報源を表す確率密度関数を $q(x)$ とする。 これを 真の確率密度関数 (True probability density function) と呼ぶことにする。 真の確率密度関数 $q(x)$ に独立に従う $n$ 個の確率変数の集合 \(\mathcal{D}=\left[x_1,x_2,\ldots,x_n\right]\) を サンプルデータ学習例 あるいは単に 例 (Example) という。

ここではサンプルを確率変数として述べますが,確率変数の実現値をサンプルと呼ぶ場合もあるようです.

実世界では,真の確率密度関数 $q(x)$ は分からないことが多いので, サンプルから$ q(x)$ を推測する。

  • (C) パラメータ $\theta$ によって定まる $x$ の確率密度関数 $p(x\vert\theta)$ と,$\theta$ の集合上の確率密度関数 $\varphi(\theta)$ を準備する。 この $p(x\vert\theta)$ を 確率モデル統計モデル学習モデル (Probabilistic model, Statistical model, Learning machine) といい,$\varphi(\theta)$ を 事前確率密度関数 (A priori probability density function, Prior)という。

(注意)初めてベイズ法を習う人は,必ず次のことを疑問に思います. 「真の密度 $q(x)$ がわからないのに,モデル $p(x\vert\theta)$ や事前密度 $\varphi(\theta)$ は,なぜ与えられるのだろうか」. この疑問に対する答えは,以下に順を追って書かれている。 最初の段階では,モデルと事前密度が何でもOKであると思ってください. モデルは真の密度と無関係でOKですし,事前密度は事前の知識を表していなくてOKです。 モデルと事前密度は,何でもいいから,ある対がひとつ与えられていると思ってよい。

確率モデル $p(x|\theta)$, 事前密度 $\varphi(\theta)$,サンプル $\mathcal{D}$ が与えられたとき, $\theta$ の確率密度関数 $p(\theta|\mathcal{D})$ を \(p(\theta|\mathcal{D}) = \frac{1}{Z} p(x_1|\theta) p(x_2|\theta)\cdots p(x_n|\theta) \varphi(\theta)\) と定義する。 これを 事後確率密度関数 (A posteriori probability density function)という。 ここで $Z$ は $\int p(\theta|\mathcal{D}) dw=1$ を満たすように定めた正規化定数 \(Z=\int p(x_1|\theta) p(x_2|\theta)\cdots p(x_n|\theta) \varphi(\theta)\, d\theta\) である。

  • (D) 正規化定数は,定数に過ぎないが,実は非常に重要な意味を持つ。 例えば $Z$ はサンプル $\mathcal{D}$ の確率密度関数である。 つまり $Z$ を $\mathcal{D}=(x_1,x_2,\ldots,x_n)$ の関数だと考えて $Z(x_1,x_2,\ldots,x_n)$ と書くと $\displaystyle \int dx_1 \int dx_2\cdots \int dx_n Z(x_1,x_2,\ldots,x_n) = 1$, が成り立つ。 このことから,

$Z$ はペア「$p(x\vert\theta)$と $\varphi(\theta)$」が与えられたもとでの $\mathcal{D}$ の確率密度関数

である。 つまり,$Z$ は「$p(x\vert\theta)$ と $\varphi(\theta)$」 の対が,どれくらいサンプル $\mathcal{D}$ を説明するのにふさわしいかを表している量である,と考えることができる。 $Z$ が大きいほど上記の対は適切ではないかと感じることができる。この $Z$ のことを,周辺尤度 (Marginal likelihood) あるいは 証拠(エビデンス)(Evidence)と呼ぶ。

(注意)Bayes 推測を発案したのは誰であるかという問題は 歴史的には謎であるようです.(16~18世紀ころ?)。 そもそも,統計的推測という概念,すなわち,「確率分布で表される情報源があったとき,実現値から 確率分布を推測する」という概念が意識されたのは,いつ頃だったのでしょうか.

【ベイズ】は Thomas Bayes という人の名前からつけられたものですが,実際に Bayes がどのくらいにベイズ推測を研究していたのかはよくわかっていないそうである。 統計的推測の方法としての確立は数学者 Laplace によってなされました (18 世紀から 19 世紀ころ)。 統計的推測における $Z$ の重要性を最初に指摘したのは 1950 年頃の 統計学者 I.J.Good ではないかと推定されるそうです. 統計数理研究所において $Z$ の最大化によって高度な統計モデルを設計する方法が 本格的に研究されてきた (1980年頃から)。 最後に Mackay も同じことを提案している (1990 年頃)。

(注意)$Z$ は,事後確率密度 $p(w\vert\mathcal{D})$ について統計力学的な 情報を持っているので 分配関数 (Partition function) と呼ばれることもある。 統計力学の教える所によれば,定数に過ぎないように見える $Z$ が,しかし,事後分布について,ほとんど全ての情報を持っています (母関数)。 このように大切な量は普通は簡単には計算されてはくれません。 ごく稀にこの量が計算できる方法が見つかるとき, 新しい数学的構造・不明だった物理現象・素晴らしい統計学アルゴリズムが 証明・発見・発明されることが多いことは歴史的に良く知られています。つまり,次のことが経験的に成り立ちます.

分配関数 $Z$ は【最初に現れて最後の目標となる者】です.

  • (E) 確率モデル $p(x|w)$ を事後確率密度 $p(w|\mathcal{D})$ で平均して得られる $x$ の密度関数 \(p(x\vert\mathcal{D})=\int p(x\vert\theta) p(\theta\vert\mathcal{D}) dw\) のことを 予測分布 (Predictive distribution) という。 この分布は「例 $\mathcal{D}$ をもとに次に現れる $x$ を予測している」と思うことができるからである。 ベイズ推測とは,

「予測分布 $p(x\vert\mathcal{D})$ は,きっと,真の密度関数 $q(x)$ に近いであろう」

と推測する方法である。

  • (F) この推測は,もちろん,サンプルからの推測ですから,完全に正しいことはありえません。 つまり学習の結果 $p(x\vert\mathcal{D})$ は真の情報源 $q(x)$ と似ていることが望ましいですが, 完全には一致していません。 それでは,この推測は,どの程度に正しいと言えるでしょうか. また,その誤差は,$n$ が増えるにつれて,どのように減っていくでしょうか。 推測の誤差を次のようにして測ります。 真の密度関数 $q(x)$ から予測分布 $p(x\vert\mathcal{D})$ までの カルバック・ライブラ距離(相対エントロピー) \(G = \int q(x) \log \frac{q(x)}{p(x|\mathcal{D})} dx\) のことを 汎化誤差 (Generalization error) という。 汎化誤差 $G$ が小さいほど, ベイズ推測の結果 $p(x|\mathcal{D})$ は真の密度関数 $q(x)$ に近いと考えることができますので,$G$ が小さいほど,ペア $p(x|w)$ と $\varphi(w)$ は,推測精度において優れていると 考えられます.

(注意)$G$ はサンプル $\mathcal{D}$ の関数です. つまり,$G$ はサンプルの確率的なばらつきに伴って確率的に変動します。 言いかえれば,$G$ は非負の実数に値を取る確率変数です.

  • (1.G) さて,周辺尤度 $Z$ の対数を取ることで定義される \(F = -\log Z\)

もまた,サンプル $\mathcal{D}$ の関数ですから $F$ もまた確率変数ですが,この $F$ のことを 対数周辺尤度,ベイズ符号長,確率的複雑さ (Log marginal likelihood, Bayes description length, Stochastic complexity) と呼ぶ。 自由エネルギー (Free energy) と呼ばれる場合もあります. 数学的にはひとつのものであるにも関わらず,いろいろな名前がついているのは,この量が,それぞれ,統計学,情報理論,学習理論,および統計力学において,決定的な役割を果たしているからです. 確率変数 $F$ の意味を感じ取れるようになることは,それぞれの分野が理解できるようになることと,ほとんど同じと 言ってもよいくらいです.

(注意)関数 ($-\log(\cdot)$) は単調減少関数なので,$Z$ が最大になることと $F$ が最小になることは等価です. つまり $Z$ と $F$ は情報論的には同じものですが,$F$ の方が挙動がマイルドであることと,実世界的な意味を有している(具体物を直接に現している,あるいは,単位を持っているので, 理論や実験においては $F$ を指標として用いることが少なくありません.

(注意)数学的に同じものであっても,$F$ は,応用される分野に依存して異なる意味を持っています. あるひとつの分野において F の意味を理解していても,他分野における F の意味が習わずにわかるということはありませんから,どれかひとつの分野を専門としている人は,この点に十分な注意を払う必要があるでしょう. このことを考えるための例題として,次の問題を出しておきます.

  1. エネルギーと自由エネルギーの違いを述べよ.
  2. F が符号長であるということを説明せよ.
  3. F が「モデルと事前分布」の尤度であるとは,どういうことであるか.

この問題を考えると自動的に,それぞれの分野におけるエントロピーの意味を 考えることになります.

変分法

区間 $[0,1]$ から実数への関数 $f(x)$ について,面積 $S(f)$ と回転体の体積 $V(f)$ を次の式で定義しよう。 以下では積分記号 $\int$ は $[0,1]$ 上での定積分を表すものする。

\[\begin{aligned} S(f) &= \int f(x)\, dx\\ V(f) &= \pi\int f(x)^{2}\,dx \end{aligned}\]

次の問題を考えてみましょう。 「$S(f)=1$ を満たす関数 $f(x)$ で $V(f)$ を最小にするものを求めよ」 (注意)なお、$S(f)=1$ を満たす関数 $f(x)$ で $V(f)$ をいくらでも大きくするものが作れますので、上記の最大化は意味がありません。

未定係数法

未定係数 $\lambda$ を用いて条件部も含めて定義されたラグランジュアンを \(L(f,\lambda) = \pi\int f(x)^{2}\,dx + \lambda\left( \int f(x)\,dx -1 \right)\) と定義する。 $L(f,\lambda)$ を $f$ と $\lambda$ について微分して零になるという条件式を満たす $(f,\lambda)$ を見つければ,目的のものの候補が見つかる。 そこで $\lambda$ について微分したものを 0 と置けば,一つめの条件 \(\int f(x)\,dx -1 =0\tag{1}\) が得られる。

次に $L(f,\lambda)$ の $f$ を変数とする微分を求める。 これを変分法という。 $f(x)$ を関数として無限に小さく変化させて,$f(x) +\left(\delta f\right)(x)$ を考えて差を求める。 \(\begin{aligned} \delta L(f,\lambda)&\equiv L(f+\delta f,\lambda) –L(f,\lambda)\\ &= \pi\int 2f(x) \delta f(x) dx + \lambda\int \delta f(x) \end{aligned}\tag{2}\)

ここで $(\delta f)(x)$ は無限に小さく変化させたものなので $(\delta f)(x)^2$ は $(\delta f)(x)$ に比較して無視してよいと考えて (2) 式では 0 としている。

変分法の考え方

前ページの (2) 式をまとめると次の式になる。 \(\delta L(f,\lambda) =\int\left(2\pi f(x) + \lambda\right) \delta f(x) \, dx\) もし $f(x)$ が目的の関数であるならば,無限に小さく変化させる $\delta f(x)$ が何であっても,$\delta L(f,\lambda)$ が 0 になっているはずである。 (もし 0 になっていなければ,その $\delta f(x)$ の変化の分だけ $\delta L(f,\lambda)$ を変化させることがでる(背理法)。

従って上式はどんなδf(x) についても零でなければならないので、 \(2\pi f(x) +\lambda=0\tag{3}\) でなくてはならない。 以上より得られた 式 (1) と (3) を連立させれば、その答えは \(f(x)=1, \lambda=-2\pi\) となることがわかる。 これ以外に変分が 0 になるところがないので、これが最小値を与えている。

学習理論への応用1:正則化理論

学習理論への応用をふたつあげます。まずひとつめです。

信号処理、画像認識、音声認識の分野では昔から次の問題がよく考えられてきました。

データ ${(x_i,y_i); i=1,2,\ldots,n}$ が与えられたとき、$P$ をある微分作用素とする。 \(L(f) = \sum(y_i-f(x_i))^2+\int(Pf)(x)^2\,dx\) を最小とする関数 $f$ を求めよ。 これは右辺第2項を関数 $f$ の事前分布から導出されたものと考えると統計学における逆問題の例にもなっている。

学習理論への応用1:正則化理論

この問題は変分法を適用すると解くことができる。 $P$ の共役作用素を $P^{\star}$ として,関数 $G(x,y)$ を条件 $(P^{\star}P)G(x,y)=\delta(x-y)$ を満たすものとする。 すなわち $G(x,y)$ は $(P^{\star}P)$ の グリーン関数。 このとき上のの問題の解を与える関数は, \(f(x)= \sum c_i G(x-x_i)\) という形をしていることを導くことができる。 例として例えば微分作用素が \((P^{\star}P)(f)(x) = \sum_{k}\left(-\frac{1}{2}\right)^{k}\frac{(\nabla^{2k}f)(x)}{k!}\) のときには $G(x)=\exp(-x^2/2)$ であることから \(f(x) =\sum c_i e^{-\frac{(x-x_i)^2}{2}}\) であることがわかる。

Poggio,T., Girosi,F. (1990) Networks for approximation and learning. Proc. of IEEE, Vol.78, pp.1481-1497.

学習理論への応用2:平均場近似

変数 $x,y\in\mathcal{R}$ の確率密度関数を $p(x), q(y)$ と書く。 ある関数 $H(x,y)$ に対して \(\begin{aligned} \int p(x)dx &=1, \\ \int q(y)dy &=1. \end{aligned}\) のもとで次の汎関数 $F(p,q)$ を最小にする $p(x), q(y)$ を平均場近似と呼ぶ。

\[F(p,q)=\int p(x) \log p(x) dx + \int q(y) \log q(y) dy + \int\int p(x)q(y) H(x,y) dxdy.\]

この問題に変分法を適用してみましょう。 未定係数 $\lambda$ と $\mu$ を用いてラグランジュアンは \(L(p,q) = F(p,q) + \lambda\left(\int p(x)dx-1\right) + \mu\left(\int q(y)dy-1\right)\) となります。 二つの関数 $p(x), q(y)$ についてそれぞれの変分を計算すると \(\begin{aligned} \delta L= \int\left\{ \log p(x) + 1 + \int q(y) H(x,y) dy + \lambda\right\} \left(\delta p\right)(x) dx\\ \delta L= \int\left\{ \log q(y) + 1 + \int p(x) H(x,y) dx + \mu \right\} \left(\delta q\right)(y) dy\\ \end{aligned}\) となります。

変分が 0 になるという条件から \(\begin{aligned} \log p(x) + 1 + &\int q(y) H(x,y) dy+\lambda &= 0\\ \log q(y) + 1 + &\int p(x) H(x,y) dx+\mu &= 0\\ \end{aligned}\) が得られました。 このことから $(p(x),q(y))$ は次の条件を満たさなくてはなりません。 \(\begin{aligned} p(x) &\propto e^{ -\int q(y) H(x,y)\, dy} \\ q(y) &\propto e^{-\int p(x) H(x,y)\,dx} \\ \end{aligned}\)

$H(x,y)$ が具体的に与えられれば、④⑤の連立方程式を解くことができる場合があります。 これを数値的に解くための方法として④⑤式の繰り返し代入を行なうという方法もあります。

なお、④⑤ 式を満たす $p(x), q(y)$ の組は普通は一組ではなく、多数組あります。

それらの組の中で $F(p,q)$ を最小にするものが求めるものになります。 ベイズ法で事後分布 $\exp(-H(x,y))$ を数値的に作ることが難しい場合に、上記の方法で得た $p(x)q(y)$ をその近似として用いる方法を変分ベイズ法と呼びます。

変分法の歴史と未来

上記の例は数式の変形がすごく簡単な場合を紹介しましたが、現実の問題に適用するときには、偏微分方程式を代表とする数学の全分野に関係する知識および数式の変形計算における試行錯誤力の両方が必要になることが多いと思います。

歴史的には、例えばニュートンの運動方程式をより一般的な法則として理解する過程で発展してきたと思います(解析力学)。 解析力学のカッコを量子力学のカッコで置き換えることが、古典力学から量子力学への橋を渡ることに対応するという不思議さは、数理科学というものの面白さが最大に輝く瞬間のひとつです。

今日では大学で解析力学を学ぶ機会は少ないかもしれないですが、最適化問題、凸解析問題、確率アルゴリズムなど、情報科学の未来への基盤としてなくてはならないもののひとつです。 未来がどのようになるか予測できないときこそ、数学と基礎科学とを学んでおくことが大切だと思います。

以上のようにとても重要な役割を担っている変分法ですが、数学的に厳密に考えるためには高度な問題を含んでいます。関数を変数として扱う場合には、関数が入っている集合を定めておく必要があるからです。 また変分をとることで、その集合からとびでることはないかといったことや、最適な解が満たす微分方程式を考察するときの解の集合との関係などの数学的に面白い問題がたくさんあります。

エントロピー Entropy (あるいは,情報量 Information Measure)

  • 離散的確率変数 $x$ の特定の値を観測したとき,どの程度の情報を受け取ることができるかを示す量。
  • 驚き surprise の程度を表す情報の量
    • 確実性 certainity は,情報がないことを言う。
    • ある事象が起こる可能性が低い場合には,その情報が起こった時に,より多くの情報が得られると考える。
  • 確率分布 $p(x)$ とそのときの量 $h(x)$ に依存する。
  • 無関係な 2 つの事象 $x$ と $y$ があるとき,$h(x,y) = h(x)+h(y)$ としたい。
  • したがって $h(x)=-\log_{2}p(x)$ を選ぶ。
    • 負は情報量が正であることを保証するために付与されている
  • 平均的な情報伝達量は $p(x)$ に対する期待値であり,これがエントロピーと呼ばれる量である。

  • 情報量: 確率変数 $x$ のサプライズ量
    • まれにしか起こらない事象が起こった場合には情報量は大きい。ニュースになる
    • 必ず起こることが起こっても情報量は小さい。ニュースにならない

\(H(x)=-\sum_x p(x)\log_2p(x)\)

  • マイナスをつけるのは正の値にするため サプライズ量の平均: 平均エントロピー

一方情報論的エントロピー $H$ の定義は事象 $A$ の起こる確率を $P(A)$ とすれば

\[H(A) = - \sum_{A\in\Omega} P(A) \log P(A)\]

確率の制約,及び,平均と分散に関する制約条件を以下のように記述:

  • $\displaystyle\int p\left(x\right)\;dx =1$ : 確率
  • $\displaystyle\int xp\left(x\right)\;dx =\mu$ : 平均
  • $\displaystyle\int \left(x-\mu\right)^2p\left(x\right)\;dx=\sigma^2$ : 分散
  • ラグランジェ乗数を使って制約条件下での最大化
\[L(x,\lambda_1,\lambda_2,\lambda_3)=-\int p\left(x\right)\log p\left(x\right)\;dx + \lambda_1\left(\int p\left(x\right)\;dx-1\right) + \lambda_2\left(\int xp\left(x\right)\;dx-\mu\right)+\lambda_3\left(\int\left(x-\mu\right)^2p\left(x\right)\;dx-\sigma^2\right)\]

各変数で微分して 0 と置き,整理:

\[p\left(x\right)=\exp\left(-1+\lambda_1+\lambda_2x+\lambda_3\left(x-\mu\right)^2\right)\]
  • 以上より連続量の最大エントロピーを与える確率分布はガウス分布となる

  • (自由エネルギーの最小化) = (予測誤差を最小化するように信念を書き換え予測を最適化)+(予測誤差)を最小化するような行動をとる)
  • (自由エネルギー) = (内部エネルギー)-(エントロピー)

カルバック・ライブラー・ダイバージェンス,(KL ダイバージェンス)

カルバック・ライブラーダイバージェンスは 2 つの確率密度 $p$, $q$ の乖離を表す指標である。 教科書によっては,カルバック・ライブラーの偽距離と記載されている場合もある。 また,表記として $KL\left(p|| q\right)$ あるいは $D_{KL}\left(p|| q\right)$ と表記する文献も存在する。

カルバック・ライブラーダイバージェンスは,非対称であることに注意が必要である。 すなわち $KL[p|q] \ne KL[q|p]$ である。 カルバック・ライブラーのダイバージェンスの非対称性は,定義を見れば納得できる。

\[KL\left(p\|q\right)= - \int p \log\left(\frac{p}{q}\right)\;dp = -\left[\int p\log p\;dp + \int p\log q\;dp\right]\]

上式最右辺,第一項は,エントロピーの定義式であり,分布 $p$ の負の対数の平均である。 一方,上式最右辺第二項は,分布 $q$ を,$q$ の確率密度を使って平均を求めている。 このため,$\log q$ に大きな値を取る領域や部分があっても,$p$ が 0 に近ければ,両分布の乖離度合いとして計算されないことを意味している。 KL ダイバージェンスの非対称性を説明する下図に示す。

青い曲線は真の事後分布とする。 仮に双峰性の分布であると考える。 緑の分布は最適化を介して青い密度に適合させる変分近似による分布を表すものとする。 これは フォワード KL と呼ばれている。 図左のように,双峰性の真の分布を単峰性の分布で近似することを考える。 このとき,一方の峰に当てはまるように調整すると,もう一方の峰の値についての当てはまりが悪くなり結果として右下図のような裾野の広い分布を得ることになる。

反対に,緑の単峰性の分布を青の双峰性の分布で近似しようとする リバースKL を考える。 このとき基準となる真の分布である単峰性の分布の確率密度がほとんど 0 の領域では,推定する分布がどのような値を取ろうとも KL ダイバージェンス の値に影響を与えないため,いずれか一方の峰が真の分布と重なるような値を得ることになる。

KL ダイバージェンスの非対称性。 フォーワード KL (左)とリバース KL (右)。

大抵の場合,現実は複雑(怪奇) で(図中の青色で描かれた分布),モデル (図中の緑で描かれた分布) は素朴で単純であると考えられる。 図左は,現実が双峰性分布でモデルが単峰性分布のときに,現実(青色)からみたモデル(緑色)の乖離であるから, 現実(青)の存在する領域に,モデルが存在しない状況 (左上図)では KL ダイバージェンスは大きく,したがって,両分布の乖離は大きくなる。 したがって,現実を最もよく推定することを試みた場合 (左下図) モデル(の推定)は,裾野の広い分布と推定することとなる。

一方,単峰性分布モデル(緑)から,双峰性分布である現実(青)を見た場合,モデルと現実があっていない状況(右上図)になる。 この状態で,モデルから,無理やり現実を推定しようとする リバース KL (右下図) では,現実を最もよく推定すると, 双峰性分布の,どちらかのピークと重なる形で,モデル(緑色)は,現実 (青色)を推定してしまうこととなる。

物理学におけるエントロピー

  • $N$ 個の物質が $i$ 個の状態,各状態には $n_i$ 個の物質
  • $N$ 個の物質を全て並べる: $N\cdot(N-1)\cdots2\cdot1=N!$
  • 各状態の中では物質の順序は問わないことにする
  • 総数 $N$ 個の物質を $n_i$ に分ける場合の組み合わせ: $W=\frac{N!}{\prod_{i}n_{i}!}$
  • エントロピーの定義
\[H=\frac{1}{N}\ln W=\frac{1}{N}\ln N!-\frac{1}{N}\sum_i\ln n_i!\]
  • スターリングの公式 $N! \approx N\log N-N$ を用いて \(H=-\lim_{N\rightarrow\infty}\sum_i\left(\frac{n_i}{N}\right)\ln\left(\frac{n_!}{N}\right)=-\sum_ip_i\ln p_i\)
  • 全体の分布 $\displaystyle\frac{n_i}{N}$ をマクロステート
  • 各状態をミクロステート $n_i$ を

連続系のエントロピー

  • 離散量 $p(x_i)\Delta$ を考えて $\Delta\rightarrow0$ を考える:
    • $\displaystyle\int_{i\Delta}^{\left(i+1\right)\Delta}p(x)d(x)=p(x_i)\Delta$
  • 連続系のエントロピー \(H_{\Delta}=-\sum_ip(x_i)\Delta\log\left(p(x_i)\Delta\right)=-\sum_ip(x_i)\Delta\log(x_i)-\Delta\log\Delta\)
  • $\Delta\rightarrow0$ の極限を考えれば: \(H_\Delta=-\int p(x) \log p(x)\,dx\)
  • 連続系と離散系のエントロピーは $\Delta\log\Delta$ だけ異なる

連続系のエントロピーを最大化する分布

  • どのような分布が連続系のエントロピーを最大化するか?
    • 離散系では一様分布
    • 連続系では? \(H[x]=-\int p(x)\log p(x)\;dx\)

汎関数としてのエントロピー

  • 通常の関数: 微分 := スカラを入力として,スカラを返す関数(演算子)
  • 汎関数: 関数を入力としてスカラを返す関数(演算子)
  • 機械学習における汎関数の例: スカラ値を返すエントロピー $H[p(x)]$ を最大化
    • 変分原理あるいは変分推論

Maximizing a Functional

  • 汎関数: 関数からスカラへの写像
    • 最大値を与える関数を探す
    • 制約付の最大化(最小化)
    • ラグランジアンの利用

エントロピーの最大化

  • 確率の制約,及び,平均と分散に関する制約条件を以下のように記述:
    • $\displaystyle\int p(x)\;dx =1$ : 確率
    • $\displaystyle\int xp(x)\;dx =\mu$ : 平均
    • $\displaystyle\int (x-\mu)^2 p(x)\;dx=\sigma^2$ : 分散
  • ラグランジェ乗数を使って制約条件下での最大化«!–Constrained maximization is performed using Lagrangian multipliers. Maximize following functional w.r.t $p(x)$:–>

\(-\int p(x)\log p(x)\,dx + \lambda_1\left(\int p(x)\;dx-1\right) + \lambda_2\left(\int xp(x)\;dx-\mu\right) +\lambda_3\left(\int(x-\mu)^2p(x)\;dx-\sigma^2\right)\) 各変数で微分して0と置き,整理: \(p(x)=\exp\left(-1+\lambda_1+\lambda_2x+\lambda_3(x-\mu)^2\right)\)

  • 以上より連続量の最大エントロピーを与える確率分布はガウス分布となる

Differential Entropy of Gaussian

\(p(x)=\frac{1}{\left(2\pi\sigma^2\right)^{1/2}} e^{-\left(\frac{x-\mu}{\sigma}\right)^2}\)

  • このとき最大エントロピーは以下: \(H[x]=\frac{1}{2}\left(1+\log\left(2\pi\sigma^2\right)\right)\)

  • 分散が大きくなればエントロピーは増大する
  • 離散系のエントロピーとは異なり,連続系のエントロピーは $\sigma^2<\frac{1}{2}\pi e$ のとき,となる

条件付きエントロピー Conditional Entropy

  • 同時確率 $p(x,y)$ に対して \(H[x,y]=-\int\int p(x,y)\log p(x,y)\;dx\;dy\)
  • $x$ が所与のとき条件付きエントロピー \(H[y\vert x]=-\int p(y\vert x)\log p(y\vert x)\;dy\)

  • さらに以下の関係がある \(H[x,y] = H[y\vert x] + H[x]\)

エントロピー

熱力学的エントロピーと情報論的エントロピーが存在するが式は同じである。

(熱)力学的エントロピー

ある位置 $i$ にある粒子があるとする。各位置にそれぞれ $n_i$ の粒子が存在するとする。 はおのおの区別できないものとすれば,全ての状態は何通りあるかを表す式は次式となる:

\[W=\frac{N!}{\prod_{i} n_i!}\]

エントロピーとはこの状態の数 $W$ の負の対数である. \(H=\frac{1}{N}\log W=\frac{1}{N}\log N!-\frac{1}{N}\sum_i\log n_i!\)

以下のスターリングの近似公式 ($\log N!\approx N\log N - N$) を用いると以下の式を得る

\[H=-\lim_{N\rightarrow\infty}\sum_i\left(\frac{n_i!}{N}\right) \log\left(\frac{n_i!}{N}\right)=-\sum_i p_i\log p_i\] \[S = k \ln W\]

ここで,$k$ はボルツマン定数であり,$W$ は系の微視的な状 態を表す。 一方で統計力学におけるエントロピーの定義は以下の通り:

\[S=k\left<\ln\frac{1}{p(\omega)}\right>=-k\sum_{\omega}p(\omega)\ln p(\omega)\]

上式中 $\left<\;\right>$ はアンサンブル平均と呼ばれ,巨視的に同条件下にある力学系が 系を構成する分子間に相関がなければ,系は微視的にはすべての状態をとりうることから,巨視的状態において統計的に系はすべての状態をとりうることが仮定される。 系の時間的平均と空間間的平均が同じであると仮定できるときその系はエルゴード性を有するという。 エルゴード性により時間平均と空間平均とを区別しないで(しばしば意図的に混乱させて)用いることが行われる。

ヘルムホルツの自由エネルギー: $F = U - TS $

$F$ はヘルムホルツの自由エネルギー,$T$ は温度,$S$ はエントロピー。

  • 熱力学の第一法則 エネルギー保存則
  • 熱力学の第二法則

ギブスの自由エネルギー: $ G = F + pV$


変分ベイズ法 (VB: Variational Bayeisan Methods) は,統計的機械学習で非常によく使われる手法の一群である。 VB 法は,統計的推論問題 (別の確率変数の値から確率変数の値を推定する問題) を最適化問題(ある目的関数を最小化するパラメータ値を求める問題) として書き直すことができる。

この推論と最適化の二重性は,最新の最適化アルゴリズムを使って統計的機械学習の問題を解く (逆に,統計的手法を使って関数を最小化する) ことを可能にするため強力である。

ここでは,変分法について,最適化の目的を導出する。 目的は 変分下限 Variational Lower Bound としても知られ Variational Autoencoders で使われているものと全く同じものである。

ELBO あるいは 変分下界

変分推論の考え方は,事後推論の方法がわかっている簡単なパラメトリック分布 $Q_{\phi}\left(Z \vert X\right)$ (ガウス分布など) に対して推論を行い,パラメータ $\phi$ を調整して$P$ になるべく近づけようというものである。

分布が「近い」とはどういうことか? 平均場変分ベイズ (最も一般的な型) では,2 つの分布の間の距離指標として 逆 KL ダイバージェンスを用いる。

\[KL(Q_\phi(Z\vert X)\vert\vert P(Z\vert X)) = \sum_{z \in Z}{q_\phi(z\vert x)\log\frac{q_\phi(z\vert x)}{p(z\vert x)}}\]

逆 KL ダイバージェンスは,$P(Z)$ を $Q_\phi(Z)$ に「歪める」ために必要な情報量 (つまり $\displaystyle\frac{1}{\log(2)}$ ビット) を測定する。 この量を $\phi$ に関して最小化したい。

条件付き分布の定義から $\displaystyle p(z|x)=\frac{p(x,z)}{p(x)}$ となる。 この式を,もとの $KL$ 式に代入して,分配してみよう。

\[\begin{aligned} KL(Q\vert\vert P) & = \sum_{z \in Z}{q_\phi(z\vert x)\log\frac{q_\phi(z\vert x)p(x)}{p(z,x)}} \\ & = \sum_{z \in Z}{q_\phi(z\vert x)\left(\log{\frac{q_\phi(z\vert x)}{p(z,x)}} + \log{p(x)}\right)} \\ & = \left(\sum_{z}{q_\phi(z\vert x)\log{\frac{q_\phi(z\vert x)}{p(z,x)}}}\right) + \left(\sum_{z}{\log{p(x)}q_\phi(z\vert x)}\right) \\ & = \left(\sum_{z}{q_\phi(z\vert x)\log{\frac{q_\phi(z\vert x)}{p(z,x)}}}\right) + \left(\log{p(x)}\sum_{z}{q_\phi(z\vert x)}\right) \\ & = \log{p(x)} + \left(\sum_{z}{q_\phi(z\vert x)\log{\frac{q_\phi(z\vert x)}{p(z,x)}}}\right) \end{aligned}\tag{1}\]

$KL(Q\vert\vert P)$ を変分パラメータ $\phi$ に関して最小化するには,$\log{p(x)}$ は $\phi$ に関して固定なので,$\displaystyle\sum_{z}{q_\phi(z\vert x)} \log{\frac{q_\phi(z\vert x)}{p(z,x)}}$ を最小化すればよい。 この量を分布 $Q_\phi(Z\vert X)$ に対する期待値として書き直そう。

\[\begin{aligned} \sum_{z}{q_\phi(z\vert x)\log{\frac{q_\phi(z\vert x)}{p(z,x)}}} &=\mathbb{E}_{z\sim Q_\phi(Z\vert X)}\left[\log{\frac{q_\phi(z\vert x)}{p(z,x)}}\right] \\ &= \mathbb{E}_Q\left[ \log{q_\phi(z|x)} - \log{p(x,z)} \right] \\ &= \mathbb{E}_Q\left[ \log{q_\phi(z|x)} - (\log{p(x|z)} + \log(p(z))) \right] && \\ & = \mathbb{E}_Q\left[ \log{q_\phi(z|x)} - \log{p(x|z)} - \log(p(z))) \right] \\ \end{aligned}\]

これを最小化することは,この関数の負の値を 最大化 することと等価である。

\[\begin{aligned} \max\mathcal{L} &= -\sum_{z}{q_\phi(z|x)\log{\frac{q_\phi(z|x)}{p(z,x)}}} \\ & = \mathbb{E}_Q\left[ -\log{q_\phi(z|x)} + \log{p(x|z)} + \log(p(z))) \right] \\ & =  \mathbb{E}_Q\left[ \log{p(x|z)} + \log{\frac{p(z)}{ q_\phi(z|x)}} \right] \\ \end{aligned}\tag{2}\]

文献では,$\mathcal{L}$ は 変分下限 variational lower bound と呼ばれ,$p(x|z), p(z), q(z|x)$ を評価できれば,計算上,扱いやすいとされている。 さらに直感的な式が得られるように項を並べ替えることができる。

\[\begin{aligned} \mathcal{L} &= \mathbb{E}_Q\left[ \log{p(x|z)} + \log{\frac{p(z)}{ q_\phi(z|x)}} \right] \\ &= \mathbb{E}_Q\left[ \log{p(x|z)} \right] + \sum_{Q}{q(z|x)\log{\frac{p(z)}{ q_\phi(z|x)}}} && \\ &= \mathbb{E}_Q\left[ \log{p(x|z)} \right] - KL(Q(Z|X)||P(Z)) && \\ \end{aligned}\tag{3}\]

標本抽出 $z \sim Q(Z\vert X)$ が観測値 $x$ を潜在符号 $z$ に変換する「符号化」過程だとすると,標本抽出 $x \sim Q(X\vert Z)$ は観測値を $z$ から復元する「復号化」過程であることがわかる。

このことから $\mathcal{L}$ は,期待「復号化」尤度 (変分分布が $Z$の標本を $X$ の標本に復号化できる程度) と,変分近似と $Z$ に関する事前分布の間の KL ダイバージェンスの和であることがわかる。 $Q(Z|X)$ が条件付きガウス分布であるとすると,$Z$ の事前分布は平均 0,標準偏差 1 の対角ガウス分布が選ばれることが多い。

$\mathcal{L}$ が変分下界と呼ばれるのはなぜか? 式(1) に $\mathcal{L}$ を代入し直すと,以下のようになる:

\[\begin{aligned} KL(Q\|P) & = \log p(x) - \mathcal{L} \\ \log p(x) & = \mathcal{L} + KL(Q\|P) \\ \end{aligned}\tag{4}\]

式 (4) の意味を平たく言うと,あるデータ点 $x$ の真の分布の下での対数尤度 $p(x)$ は$\mathcal{L}$ に,その特定の値 $x$ における $Q(Z\vert X=x)$ と $P(Z\vert X=x)$ 間の距離を表す誤差項 $KL(Q \vert\vert P)$ が加わるということである。

$KL(Q||P) \geq 0$ なので,$\log p(x)$ は $\mathcal{L}$ より大きい必要がある。 よって,$\mathcal{L}$ は $\log p(x)$ の 下限 lower bound である。 また,$\mathcal{L}$ は別形式で証拠下界 (ELBO) とも呼ばれる。

\[\mathcal{L} = \log p(x) - KL(Q(Z|X)||P(Z|X)) = \mathbb{E}_Q\left[ \log{p(x\vert z)} \right] - KL(Q(Z\vert X)\|\|P(Z))\]

なお,$\mathcal{L}$ 自体には,近似事後確率と事前確率の間の KL ダイバージェンス項が含まれているので,$\log p(x)$ には合計 2 つの KL 項が含まれることになる。

順方向 KL と逆方向 KL

KL ダイバージェンスは対称距離関数ではなく,$KL(P||Q) \neq KL(Q||P)$ ($Q \equiv P$ である場合を除く) である。 前者は「順向 KL」、後者は「逆向 KL」と呼ばれる。 では、なぜ 逆向 KLを使うのだろうか? それは,結果として得られる導出が $p(Z|X)$ の計算方法を知っている必要があるからである。

PML 教科書 にある Kevin Murphy の説明がとても好みなので,ここで再掲してみることにする。

まず,順方向 KL を考える。 上の導出で見たように KL は重み関数 $p(z)$ に対する「罰則」関数 $\displaystyle\log \frac{p(z)}{q(z)}$ の期待値として書くことができる。

\[\begin{aligned} KL(P||Q) & = \sum_z p(z) \log \frac{p(z)}{q(z)} \\ & = \mathbb{E}_{p(z)}{\left[\log \frac{p(z)}{q(z)}\right]}\\ \end{aligned}\]

ペナルティ関数は $p(Z) > 0$ のとき,全 KL に損失を寄与する。 $p(Z) > 0$ の場合,$\lim_{q(Z) \to 0}\log\frac{p(z)}{q(z)} \to \infty$ となる。 これは,$Q(Z)$ が $P(Z)$ を「カバー」できないところでは,順向 KL が大きくなることを意味する。

よって,$p(z)>0$ のところでは $q(z)>0$ を確保すれば,順向 KL は最小になることがわかる。 最適化された変分分布 $Q(Z)$ は「ゼロ回避 zero-avoiding」($p(Z)$ がゼロのとき,密度がゼロを回避する) として知られている。

逆向 KL を最小化すると,全く逆の挙動になる:

\[\begin{aligned} KL(Q||P) & = \sum_z q(z) \log \frac{q(z)}{p(z)} \\ & = \mathbb{E}_{p(z)}{\left[\log \frac{q(z)}{p(z)}\right]}\ \end{aligned}\]

$p(Z)=0$ ならば,分母 $p(Z)=0$ であればどこでも重み付け関数 $q(Z)=0$ を確保しなければ,KL は吹き飛んでしまう。 これは「ゼロ強制 zero-forcing」と呼ばれる。

つまり 順向 KL を最小化すると変分分布 $Q(Z)$ が $P(Z)$ 全体を 覆う ように「伸び」,逆向 KL を最小化すると $P(Z)$ の 下に $Q(z)$ が「しぼむ」。

機械学習の問題で平均場近似を使うとき,逆 KL を使うことの意味を覚えておくことが重要である。 単峰性の分布を多峰性の分布に当てはめると,偽陰性が多くなる ($Q(Z)$ は何もないと思っていたのに,$P(Z)$ は実際に確率的な量がある) ことになる。

変分法は Deep Learning にとって本当に重要である。

  1. ディープラーニングは,たくさんのデータを使った非常に大きなパラメータ空間での最適化(具体的には勾配降下法) が得意だ。
  2. 変分ベイズは,統計的推論問題を最適化問題として書き直すことができる枠組みを与えてくれる。

深層学習と変分ベイズの組み合わせにより,極めて複雑な事後分布の推論が可能になる。 結果的に,変分自己符号化器のような最新の技術は,この投稿で導かれたのと全く同じ平均場変分下界を最適化する