5 確率と情報 ── 分布・変換・エントロピー
前章では、刺激から応答への写像を決定的な関数として書いた。\mathbf{r} = f(s) である。だが実際には、同じ刺激を繰り返しても応答は毎回違う。第2章第6節で見たとおり、皮質のニューロンは驚くほど不規則に発火する。だから応答は確率分布として扱わねばならない。
本章はそのための道具箱である。地味な章に見えるかもしれないが、ここで整える道具の使用頻度は本書で最も高い。
とくに第2節の変数変換とヤコビアンは、以下の三つの場面で主役を張る。
- 第11章第4節 — 刺激空間から応答空間への写像。J^\top J が表現の計量になる
- 第15章第4節 — 正規化フロー。\lvert\det J\rvert が厳密な尤度を与える
- 第15章第5節 — 単峰の分布から多峰の分布が生まれる仕組み
一つの公式が、表現の幾何と生成モデルの両方を支える。この節だけは飛ばさないでほしい。
第1節は復習なので、確率に慣れていれば飛ばしてよい。
第2節が本章の要である。変数変換の公式そのものは短いが、「なぜヤコビアン行列式が現れるのか」を体積の言葉で理解しておくと、後の章が楽になる。
第3〜4節(エントロピー・KL)は第7章と第14章で、第5節(白色化)は第4章第6節の続き、第6節(符号化の効率)は第9章第3節につながる。
第4節のイェンセンの不等式は、第14章第3節で ELBO を導くときにそのまま使う。印を付けておいてほしい。
1. 必要な数学:確率分布の復習
記号の約束
第1章第4節で述べたとおり、確率変数を大文字 X、その実現値を小文字 x で書く。X は結果が出る前の変数、x は実際に出た値である。X が分布 p に従うことを X \sim p と書く。
p(x) の読み方は、離散か連続かで違う。離散変数なら p(x) は X = x となる確率そのものである。連続変数なら p(x) は確率密度で、区間 [a, b] に入る確率は \int_a^b p(x)\,dx で求める。密度の値そのものは確率ではないので、1を超えることもある(x に測定単位があれば、密度の単位はその逆数になる)。
そのうえで、離散と連続を、いちいち区別しない。和と積分を適宜読み替えてほしい。厳密さが必要な場面では断る。
同時分布・周辺分布・条件付き分布
二つの確率変数 X, Y があるとき、同時分布は二つの値の組の起こりやすさ、条件付き分布は一方の値を知ったあとの他方の分布を表す(以下の割り算では p(x) > 0 とする)。
p(x, y) \quad\textsf{(同時分布)}, \qquad p(x) = \int p(x,y)\, dy \quad\textsf{(周辺分布)}
p(y \mid x) = \frac{p(x,y)}{p(x)} \quad\textsf{(条件付き分布)}
周辺化とは「興味のない変数を積分で消すこと」である。この操作が計算できるかどうかが、第14章で決定的な問題になる(潜在変数の周辺化ができないことが、変分推論の出発点である)。
条件付き分布の定義から、ただちにベイズの定理が出る。
p(y \mid x) = \frac{p(x \mid y)\, p(y)}{p(x)}
本書での使い方を先に述べておく。y が刺激、x が神経応答なら、p(x\mid y) がエンコーディング、p(y\mid x) がデコーディングである。ベイズの定理が、両者を結ぶ。第6章第4節の主題になる。
独立性
p(x,y) = p(x)p(y) のとき、X と Y は独立である。同値な言い方として p(y\mid x) = p(y)—「x を知っても y について何も分からない」。
条件付き独立も定義しておく。p(x, y \mid z) = p(x\mid z)\, p(y\mid z) のとき、X と Y は Z のもとで条件付き独立といい、X \perp Y \mid Z と書く。
この概念は第16章第6節のマルコフブランケットで中心的な役割を果たす。「z さえ知ってしまえば、x と y は無関係」—という構造である。
期待値・分散・共分散
\mathbb{E}[X] = \int x\, p(x)\, dx, \qquad \mathrm{Var}[X] = \mathbb{E}\big[(X - \mathbb{E}[X])^2\big]
複数の変数では、それぞれのばらつきに加えて、二つの変数が一緒に増減する程度も知りたい。n 個の確率変数を列ベクトル \mathbf{X} = (X_1, \dots, X_n)^\top にまとめ、平均ベクトルを \boldsymbol{\mu} = \mathbb{E}[\mathbf{X}] \in \mathbb{R}^n とすると、多変数の分散は共分散行列になる。
\Sigma = \mathbb{E}\big[(\mathbf{X} - \boldsymbol{\mu})(\mathbf{X}-\boldsymbol{\mu})^\top\big] \in \mathbb{R}^{n \times n}, \qquad \boldsymbol{\mu} = \mathbb{E}[\mathbf{X}]
行と列はどちらも変数の成分に対応し、第 i 行第 j 列は \Sigma_{ij} = \mathbb{E}[(X_i - \mu_i)(X_j - \mu_j)] である。対角成分が各変数の分散、非対角成分が二つの変数の共分散にあたる。
\Sigma は対称かつ半正定値である。言葉を決めておこう。ベクトル \mathbf{a} と正方行列 M から \mathbf{a}^\top M \mathbf{a} という一つの実数を作る式を二次形式という(\mathbf{a} を二回使うので「二次」である)。どんな \mathbf{a} \ne \mathbf{0} についても \mathbf{a}^\top M \mathbf{a} \ge 0 が成り立つとき M は半正定値、つねに > 0 なら正定値と呼ぶ(\Sigma が正定値である場合の式は、この節のあとで出てくる)。共分散行列の場合、\mathbf{a}^\top \Sigma \mathbf{a} は「\mathbf{a} の向きに測ったばらつきの大きさ」にあたるので、負にならないのは当然である。半正定値な対称行列は固有値分解でき、固有値はすべて 0 以上になる(正定値ならすべて正)。この分解は—第6章第7節の主成分分析と、第11章第7節の表現次元で、どちらも使う。
期待値の線形性は、独立性を仮定せずに成り立つ。
\mathbb{E}[aX + bY] = a\mathbb{E}[X] + b\mathbb{E}[Y]
一方、分散はそう単純ではない。\mathrm{Var}[X+Y] = \mathrm{Var}[X] + \mathrm{Var}[Y] + 2\mathrm{Cov}[X,Y] だから、足せるのは共分散がゼロのとき—無相関のとき—である。独立ならば無相関なので分散は足せるが、逆は成り立たない(無相関でも従属なことがある)。必要なのは無相関の側だと覚えておいてほしい。
本書でよく使う分布
次の表には、連続分布の密度と離散分布の確率を並べてある。ガウス分布の \mu は平均、\sigma^2 > 0 は分散である。ポアソン分布の n = 0, 1, 2, \dots は一定の観測区間に入る回数、\lambda > 0 はその平均回数を表す。指数分布の x \ge 0 は待ち時間、\lambda > 0 は発生率で、平均待ち時間は 1/\lambda である—同じ \lambda でも二つの行で意味と単位が違うので注意してほしい。ベルヌーイ分布の x は 0 か 1 を取り、この行の p は 1 が出る確率を表す数(0 \le p \le 1)であって、密度関数を表す p(x) とは別物である。
| 分布 | 密度または確率 | 本書での出番 |
|---|---|---|
| ガウス | \frac{1}{\sqrt{2\pi\sigma^2}}\exp\!\big[-(x-\mu)^2/(2\sigma^2)\big] | いたるところ。とくに14〜15章 |
| ポアソン | \frac{\lambda^n}{n!}e^{-\lambda} | 2.6節、6章(スパイク数) |
| 指数 | \lambda e^{-\lambda x} | 2.6節(ISI) |
| ベルヌーイ | p^x(1-p)^{1-x} | 7章(ボルツマンマシンのユニット) |
多変量ガウス分布は本書の主力なので、形だけ書いておく。\Sigma が正定値の場合の式である(共分散行列は半正定値なので、ここでは正定値であることと逆行列を持つことが同じになる)。半正定値で逆行列を持たないとき—たとえばある成分が他の成分の和で決まってしまうとき—この形は書けない。書きたいのは、複数の量が一緒にばらつく様子を一つの式で表すことである。
p(\mathbf{x}) = \frac{1}{\sqrt{(2\pi)^n \det\Sigma}} \exp\left(-\frac{1}{2}(\mathbf{x}-\boldsymbol{\mu})^\top \Sigma^{-1}(\mathbf{x}-\boldsymbol{\mu})\right)
指数の中身に注目してほしい。(\mathbf{x}-\boldsymbol{\mu})^\top\Sigma^{-1}(\mathbf{x}-\boldsymbol{\mu}) という二次形式が現れている。これは第11章第2節のマハラノビス距離の二乗そのものであり、第11章第5節のフィッシャー情報行列とも同じ形をしている。「共分散の逆行列で重みを付けた距離」という構造は、本書に繰り返し現れる。
2. 変数変換とヤコビアン ── なぜ変換でモードが動くのか
一次元の場合
確率変数 X が密度 p_X(x) を持つとする。Y = g(X) という変換をしたとき、Y の密度はどうなるか。以下では g が微分可能で一対一(単調)、かつ g' \ne 0 とする。この条件が崩れると、行き先が重なったり密度が発散したりする。
素朴に p_Y(y) = p_X(g^{-1}(y)) としてはいけない。確率の総和が 1 でなくなってしまう。
正しい導出は、確率が保存することから始める。x の近傍 [x, x+dx] にある確率と、その行き先 [y, y+dy] にある確率は等しい。
p_X(x)\, |dx| = p_Y(y)\, |dy|
したがって
p_Y(y) = p_X(x) \left| \frac{dx}{dy} \right| = \frac{p_X\big(g^{-1}(y)\big)}{\big| g'(x) \big|}
|g'| で割るのが要点である。意味を言葉にしよう。
- g が空間を引き伸ばす場所(|g'| が大きい)では、同じ確率が広い範囲に散らばる → 密度は薄くなる
- g が押し縮める場所(|g'| が小さい)では、確率が狭い範囲に集まる → 密度は濃くなる
多次元の場合
多次元では、各方向の伸縮をまとめて扱う。成分数を n とし、実現値 \mathbf{x} \in \mathbb{R}^n を \mathbf{y} = g(\mathbf{x}) \in \mathbb{R}^n に変換する(g は微分可能な写像とする)。一次元の g' の代わりに現れるのがヤコビアン行列 J \in \mathbb{R}^{n \times n} で、行が出力の成分、列が入力の成分に対応する。
J = \frac{\partial \mathbf{y}}{\partial \mathbf{x}}, \qquad J_{ij} = \frac{\partial y_i}{\partial x_j}
第 i 行第 j 列は「入力の第 j 成分を少し動かしたとき、出力の第 i 成分がどれだけ動くか」である。J は場所ごとに違うので、どの点で評価するかを意識してほしい。
二次元で横幅が2倍に引き伸ばされれば、同じ確率が2倍の面積に薄まる。多次元でも同じで、密度を求めるには微小な領域の体積が何倍になるかを調べればよい。対応する微小体積を dV_x、dV_y と書くと dV_y = |\det J|\, dV_x であり、そこに入る確率は変換の前後で等しい(p_X(\mathbf{x})\, dV_x = p_Y(\mathbf{y})\, dV_y)。だから次の式が出る。絶対値を取るのは、向きが反転しても体積の倍率は正だからである。ただし条件が要る。 g は同じ次元どうしの写像で、局所的に可逆(\det J \ne 0)でなければならない。単射とは「別の \mathbf{x} が同じ \mathbf{y} に写ることがない」という性質である。単射でなければ、一つの \mathbf{y} に写ってくる \mathbf{x}(前像)が複数あるので、それぞれについて足し合わせる必要があり、次元が変わる写像ではこの式はそのまま使えない。
p_Y(\mathbf{y}) = \frac{p_X(\mathbf{x})}{\big| \det J \big|}
なぜ行列式なのか。線形代数の基本的な事実を思い出してほしい—行列 A による線形変換は、体積を |\det A| 倍にする。n 次元の単位立方体が、A によって体積 |\det A| の平行多面体に移るからである。
非線形の写像でも、微小な近傍では線形近似(=ヤコビアン)が効く。だから局所的な体積変化率が |\det J| になる。これがヤコビアンの二つ目の役目である(一つ目は第2章第4節・第3章第3節の安定性判定)。
ここがポイント
p_Y(\mathbf{y}) = p_X(\mathbf{x})\, \big|\det J\big|^{-1} |\det J| は「体積が何倍になったか」であり、密度はその逆数倍になる。引き伸ばせば薄く、縮めれば濃くなる—この一点を掴んでおけば、第15章のフローも拡散も見通せる。
モードは変換で動く
この公式には、直感に反する帰結がある。変換すると、分布の最頻値(モード)の位置が対応しなくなる。
具体例で見よう。X \sim \mathcal{N}(0,1) とし、Y = e^X とする(対数正規分布)。
X のモードは x = 0 である。g(0) = e^0 = 1 だから、素朴には Y のモードも y=1 だと思いたくなる。確かめてみよう。
g'(x) = e^x = y だから、
p_Y(y) = \frac{1}{y}\, \frac{1}{\sqrt{2\pi}} \exp\left(-\frac{(\ln y)^2}{2}\right)
これを y で微分してゼロと置く。対数を取って微分するほうが楽である。
\begin{aligned} \ln p_Y(y) &= -\ln y - \frac{(\ln y)^2}{2} + \text{const} \\ \frac{d}{dy}\ln p_Y &= -\frac{1}{y} - \frac{\ln y}{y} = -\frac{1 + \ln y}{y} &&\textsf{(連鎖律)} \end{aligned}
ゼロと置くと \ln y = -1、つまり y = e^{-1} \approx 0.368。
y = 1 ではない。モードは g(0)=1 からずれた。
なぜずれるのか
密度は「区間あたり」の確率だから、区間が伸びた場所では薄まり、縮んだ場所では濃くなる。変換後の高さは p_X(x) だけでなく、割り算の相手 |g'(x)| にも左右されるのである。
だが、非線形なら必ずモードがずれるわけではない。X\sim\mathcal{N}(0,1) に g(x)=x+x^3 を施すと、p_Y(g(x))=p_X(x)/(1+3x^2) である。分子は x=0 で最大、分母はそこで最小なので、モードは 0\mapsto0 と保たれる。
一般の場合を微分で調べると、傾きの変化を表す g'' の項が現れる。詳しい計算は、発展編A.2で確かめよう。大事なのは、変換前のモードを写した先が、変換後もモードになるとは当てにできないことだ。実務にも効いてくる。
- 生成モデルの潜在空間で「もっともらしい点」(事前分布のモード)を選んでデコードしても、データ空間で最頻の出力が得られるとは限らない(第15章第5節)
- 対数変換したデータで平均や最頻値を求めて元に戻すとき、注意が要る
上の対数正規分布の例を、数値で確かめよう。コードは コード/05_lognormal.py にある。X \sim \mathcal{N}(0,1) から10万個サンプルし、Y = e^X を調べる。
rng = np.random.default_rng(0)
X = rng.standard_normal(100_000)
Y = np.exp(X)
# ヒストグラムの最頻値(ビンの中心)
hist, edges = np.histogram(Y, bins=200, range=(0, 5))
i = hist.argmax()
mode = 0.5*(edges[i] + edges[i+1])
print(mode, np.exp(-1)) # 標本のモード と 理論値
print(np.median(Y), 1.0) # 中央値は動かない
print(Y.mean(), np.exp(0.5)) # 平均| 標本から | 理論値 | |
|---|---|---|
| モード | 0.388 | e^{-1} = 0.368 |
| 中央値 | 0.996 | e^{0} = 1 |
| 平均 | 1.648 | e^{1/2} = 1.649 |
モードは y=1 ではない。X のモード 0 の行き先 e^0 = 1 から、はっきりずれている。
ところが中央値は動いていない。X の中央値 0 の行き先が、そのまま Y の中央値になっている。
なぜモードは動いて中央値は動かないのか。ヒントは「中央値の定義に密度が現れない」ことにある—中央値は「半分より下」という順序だけで決まり、単調変換は順序を変えない。一方モードは密度の最大点なので、ヤコビ因子に引きずられる。
3. エントロピーと相互情報量
エントロピー
起こりにくい結果ほど、観測したときの驚きは大きい。その驚きを -\log p(x) で測り、各結果の起こる確率で平均した量が、確率変数 X のエントロピーである。二つの変数のあいだの量ではなく、X の分布そのものが持つ不確かさを表す。離散変数で書けば、
H(X) = -\sum_x p(x) \log p(x) = -\mathbb{E}\big[\log p(X)\big]
和は X が取りうる値について取る。右端の p(X) は「実際に出た値の確率」を返す量なので、それ自体が結果によって変わる。期待値は、その変わる量を分布 p で平均している。p(x) = 0 の項は 0 \log 0 = 0 と扱う。対数の底が 2 なら単位は bit、e なら nat である。
読み方は「平均的な驚きの大きさ」である。-\log p(x) には事象 x の自己情報量(surprise)という名前があり、その期待値がエントロピーだ。この -\log p という量を覚えておいてほしい。第16章第2節で、自由エネルギーが「驚きの上界」として導入されるとき、まったく同じ量が現れる。
エントロピーの性質を二つ。
- 一様分布のとき最大(n 個の値なら \log n)
- 一点に集中しているとき最小(ゼロ)
連続分布での注意
連続分布では、和を積分に置き換えて微分エントロピーを定義する。
h(X) = -\int p(x)\log p(x)\, dx
だが、これは離散版と性質が違う。二つ注意点がある。第一に、負になりうる。たとえば \mathcal{N}(0,\sigma^2) の微分エントロピーは \log(\sigma\sqrt{2\pi e}) で、\sigma が小さいと負になる。離散の確率と違って密度には上限がないことが効いている。「情報量が負」は解釈しにくい。第二に、変数変換で値が変わる。第2節の公式を使うと、Y = g(X) に対して
h(Y) = h(X) + \mathbb{E}\big[\log |g'(X)|\big]
単位を変えるだけで値が変わってしまう。メートルで測るかセンチメートルで測るかで密度の数値が変わり、微分エントロピーも違ってくる(ここでいう単位は変数の測定単位のことで、対数の底で決まる bit・nat とは別の話である)。だから微分エントロピーは、それ単独では意味を持たない。差を取れば意味を持つ—次の相互情報量がそれである。同じ変数について「観測前の不確かさ」と「別の変数を観測したあとの不確かさ」を比べるので、変数変換で入る補正項が両側で同じだけ動いて相殺されるのである。
相互情報量
Y を観測すると、X についての不確かさは平均してどれだけ減るだろうか。その減少量が相互情報量 I(X; Y) である(ここでの I は、第2章の電流や第3章の抑制性集団の活動とは別の量である)。Y = y を知ったあとの X の分布は p(x \mid y) で、そのエントロピーを y の起こる確率で平均したものが条件付きエントロピー H(X \mid Y) = -\sum_y p(y) \sum_x p(x \mid y) \log p(x \mid y) である。知る前の不確かさから、知ったあとに残る不確かさを引けば、
I(X; Y) = H(X) - H(X\mid Y) = \sum_{x,y} p(x,y)\log\frac{p(x,y)}{p(x)p(y)}
となる。右辺は、実際の同時分布 p(x,y) と、独立だった場合の分布 p(x)p(y) とを比べた形になっている。まさに「Y を知ることで X についての不確かさがどれだけ減るか」である。数で見よう。X が 0 と 1 を半々に取るとき、対数の底を2に取れば観測前の不確かさは1ビットである。Y = X なら観測後はゼロなので相互情報量は1ビット、Y が X と独立なら不確かさは減らずゼロビットになる。
性質を三つ。
- I(X;Y) \ge 0。等号は独立のときに限る
- I(X;Y) = I(Y;X)(対称)
- 変数変換で不変(可逆な変換に対して)
三番目が大事である。上で見たように微分エントロピーは単位に依存するが、相互情報量は依存しない。二つのエントロピーの差なので、ヤコビアンの項が打ち消し合うからだ。だから連続変数でも安心して使える。
神経科学での使い方
相互情報量は「神経応答が刺激についてどれだけ情報を持つか」を測る量として使われる。刺激を確率変数 S、神経応答を確率変数 R と書けば I(S; R) である(S、R は試行ごとに変わる変数を指し、実際に提示した刺激や得られた応答の値とは区別する。複数のニューロンなら、R は応答ベクトル全体を一つの確率変数として表す)。
古典的な例が、コオロギの尾葉感覚系(cercal system)の研究である。コオロギの尾には気流を感じる毛があり、4個の介在ニューロンが気流の方向を符号化している。Theunissen と Miller らは、この系で I(S;R) を実測し、わずか4個のニューロンが気流方向についてどれだけの情報を持つかを定量化した。
ただし、推定は難しい。相互情報量の推定にはサンプル数が要る。頻度をそのまま代入して計算する素朴な推定量では、データが少ないと系統的に過大評価されることが知られている(有限標本バイアス)。神経データは試行数が限られるので、これは実務上の深刻な問題である。
4. KL ダイバージェンスと最尤推定
定義
同じ結果 x について、二つの分布 p、q を考える。実際には p に従って結果が出るのに、その起こりやすさを q で見積もったとしたら、驚きは平均してどれだけ増えるだろうか。この増分が、二つの分布 p, q のカルバック・ライブラー(KL)ダイバージェンスである。\mathrm{KL}(p\|q) と書き(文献では D_{\mathrm{KL}}(p\|q) とも書く)、縦線の左が平均を取る分布、右が比較する分布で、順序に意味がある。単位はエントロピーと同じく bit または nat である。定義は、
\mathrm{KL}(p \,\|\, q) = \sum_x p(x)\log\frac{p(x)}{q(x)} = \mathbb{E}_{p}\left[\log\frac{p(X)}{q(X)}\right]
「p を q で近似したときの、平均的な損失」と読める。
非負性の証明
\mathrm{KL}(p\|q) \ge 0 が成り立つ。これは本書で何度も使うので、証明しておこう。
道具はイェンセンの不等式である。平均してから関数に入れた値と、各値を関数に入れてから平均した値を比べたい。グラフが上にふくらむ凹関数なら、前者が後者以上になる。f が凹関数のとき、
f\big(\mathbb{E}[X]\big) \ge \mathbb{E}\big[f(X)\big]
\log は凹関数だから、\log\mathbb{E}[X] \ge \mathbb{E}[\log X] が成り立つ。これを使う。
以下では、p と q が同じ有限個の点の上で正の値を取るとしておく。p(x)=0 の点があるときは、和を p(x)>0 の範囲に限ればよい。そのときは \sum_{p>0} q(x) \le 1 になるので、最後の等号が \le に変わるだけで、結論(KL が非負)は同じである。
\begin{aligned} -\mathrm{KL}(p\|q) &= \mathbb{E}_p\left[\log\frac{q(X)}{p(X)}\right] &&\textsf{(符号を入れて分数を逆に)}\\ &\le \log\, \mathbb{E}_p\left[\frac{q(X)}{p(X)}\right] &&\textsf{(イェンセン。} \log \textsf{ を外に出した)}\\ &= \log \sum_x p(x)\frac{q(x)}{p(x)} &&\textsf{(期待値を書き下した)}\\ &= \log \sum_x q(x) = \log 1 = 0 &&\textsf{(} p \textsf{ が約分され、} q \textsf{ の総和は 1)} \end{aligned}
したがって \mathrm{KL}(p\|q) \ge 0。等号は p = q のときに限る。この証明の筋—イェンセンで \log を外に出す—を覚えておいてほしい。第14章第3節で ELBO を導くとき、まったく同じ手を使う。
非対称性
KL は距離ではない。一般に \mathrm{KL}(p\|q) \ne \mathrm{KL}(q\|p) である。この非対称性には意味がある。
以下は、多峰の p を、たとえば単峰のガウスのような制限された族の q で近似する場合の話である(q を何でも選べるなら、どちらの向きでも最小解は q=p になる)。\mathrm{KL}(p\|q) を最小化する場合。p が大きいところで q が小さいと、大きなペナルティを受ける。だから q は p の台を覆うように広がりやすい(mode-covering)。
\mathrm{KL}(q\|p) を最小化する場合。q が大きいところで p が小さいとペナルティを受ける。だから q は p の峰の一つに縮こまりやすい(mode-seeking)。
変分推論が使うのは後者である(第14章)。近似分布 q が真の事後分布(観測を見たあとの分布。第6章第4節で定義する)の一つの峰に集中しがちで、分散を過小評価する傾向がある—これはこの非対称性の帰結である。
最尤推定は KL 最小化である
データが真の分布 p_{\text{data}} から独立に N 個得られ、その値を x_1, \dots, x_N とする。q_\theta は調整できるパラメータ \theta を持つモデル分布である。データを固定して \theta を動かしながら \prod_{i=1}^N q_\theta(x_i) を評価したものを尤度と呼ぶ(連続データなら各因子は密度であって、その一点が出る確率ではない)。積の対数を取れば和になり、N で割れば1標本あたりの平均になる。モデル q_\theta の対数尤度は
\frac{1}{N}\sum_{i=1}^{N} \log q_\theta(x_i) \;\xrightarrow[N\to\infty]{}\; \mathbb{E}_{p_{\text{data}}}\big[\log q_\theta(X)\big]
大数の法則である。そして
\mathrm{KL}(p_{\text{data}} \| q_\theta) = \underbrace{\mathbb{E}_{p_{\text{data}}}[\log p_{\text{data}}]}_{\theta \textsf{ によらない}} - \mathbb{E}_{p_{\text{data}}}[\log q_\theta]
第一項は \theta に依存しない。だから、N \to \infty の極限では次が言える(有限の標本では、最尤推定が最小化しているのは真の KL ではなく、標本平均で置き換えた量である)。
\underbrace{\text{対数尤度を最大化する}}_{\textsf{最尤推定}} \quad\Longleftrightarrow\quad \underbrace{\mathrm{KL}(p_{\text{data}}\|q_\theta)\text{ を最小化する}}_{\textsf{分布を近づける}}
最尤推定とは、モデル分布をデータ分布に KL の意味で近づけることだった。この読み替えは、第7章のボルツマンマシンの学習則を導くときにも、第14章の VAE でも使う。
交差エントロピー
分類問題で使う交差エントロピー損失も、同じ話である。正解の側の分布に従って結果が出るのに、予測の側の分布で驚きを測る—それを平均して、予測の悪さを一つの数にするのである。
H(p, q) = -\sum_x p(x)\log q(x) = H(p) + \mathrm{KL}(p\|q)
H(p) はデータで決まる定数だから、交差エントロピーの最小化は KL の最小化と同じである。第8章第4節で損失関数を選ぶとき、この関係が根拠になる。
5. ノイズと最適フィルタ
問題設定
観測が信号とノイズの和で得られるとする。
x(t) = s(t) + n(t)
s を推定したい。線形フィルタ h を掛けて \hat{s} = h * x とするとき、二乗誤差を最小にする h は何か。
Wiener フィルタ
信号とノイズの統計的な性質が、観測する時刻によらないとしよう。平均が一定で、二つの時刻の値の共分散が時刻の差だけで決まる、ということである。これを(広義)定常という。さらに信号とノイズは互いに無相関とし、各周波数にどれだけの強さがあるかを表すパワースペクトルを、それぞれ S(\omega)、N(\omega) と書く(この S、N は確率変数や標本数ではなく、角周波数 \omega の関数である)。答えは周波数領域で書ける。線形フィルタ h のフーリエ変換を \hat{h}(\omega)—各周波数の成分を何倍にするかを指定する量—と書く。\hat{s} の帽子は推定値を表したが、\hat{h} の帽子はフーリエ変換の印である。
\hat{h}(\omega) = \frac{S(\omega)}{S(\omega) + N(\omega)}
読み方が美しい。各周波数で、
- 信号が強い(S \gg N)なら \hat{h} \approx 1 → そのまま通す
- ノイズが強い(S \ll N)なら \hat{h} \approx 0 → 遮断する
つまり Wiener フィルタは「周波数ごとの信号対雑音比に応じて重み付ける」フィルタである。畳み込み定理(第4章第2節)のおかげで、周波数領域では各成分が独立に扱えるから、こんな簡単な形になる。
白色化との関係
第4章第6節で、網膜の受容野が「白色化フィルタ」として説明されることを見た。そこで保留した「ノイズがある場合の修正」を、ここで補っておく。
自然画像は S(\omega) \propto 1/\omega^2、ノイズは白色($N() = $ 一定)だとする。純粋な白色化フィルタを \hat{k} と書くと |\hat{k}| \propto \omega である(Wiener フィルタの \hat{h} と区別する)。これに Wiener フィルタを掛け合わせてみよう。
|\hat{k}(\omega)\,\hat{h}(\omega)| \propto \omega \cdot \frac{S(\omega)}{S(\omega)+N(\omega)}
低周波では白色化が効いて \omega に比例して増加し、高周波ではノイズが優勢になって減衰する。つまり中間の周波数帯をよく通すバンドパス特性になる。
断っておくと、この掛け算は導出ではない。Wiener フィルタは「観測から信号を復元する」ための最適な推定器、白色化フィルタは「符号化の表現を作る」ためのフィルタで、目的が違う。二つを掛けたものが符号化として最適だと示したわけではなく、白色化とノイズ抑制を組み合わせた定性的なモデルである。それでも、この特性は実際の網膜神経節細胞の周波数特性とよく合う。そして照明が暗いとき(ノイズが相対的に大きいとき)は、ピークが低周波側に移動する—この予測も実験的に確かめられている。解釈モデルが定量的な予測を出した好例である。
6. チャネル容量と符号化の効率
チャネル容量
通信路に入力 X を入れて出力 Y を得るとき、伝えられる情報量の上限をチャネル容量と呼ぶ。
C = \sup_{p(x)} I(X; Y)
入力分布を最適に選んだときの相互情報量である。通信路の応答規則 p(y\mid x) は固定したまま、p(x) だけを動かす。\sup は得られる値すべてを上から押さえる最小の数で、最大値があればそれに等しい。Shannon の通信路符号化定理が言うのは、容量より低い速度なら、十分に長い符号を使って誤りの確率をいくらでも小さくできるということである(有限の長さの符号で誤りがゼロになる、という意味ではない)。なお C は通信路を一回使うあたりの上限なので、毎秒あたりに直すには一秒に何回使えるかを掛ける必要がある。
神経系への適用
神経系を通信路と見なすと、いくつかの問いが立つ。一個のニューロンはどれだけの情報を伝えられるか。発火率の上限(不応期による)とノイズから見積もると、数十〜百ビット毎秒程度になる。感覚器官が受け取る情報量に比べると、はるかに小さい。大幅な圧縮が必要である。
入力分布をどう合わせるか。出力のエントロピーを最大化するには、出力が一様分布になるのがよい。応答が雑音のない単調な関数 r = F(s) で決まり、出力の範囲が決まっているなら、F は刺激の累積分布関数(刺激がある値以下になる確率を、その値の関数として表したもの)に比例すべきだ—出力の範囲を [0,1] に取れば、累積分布関数そのものになる。これがヒストグラム等化の原理である。雑音があるときは、それを織り込んだ別の最適化になる。この予測は検証されている。ハエの視覚系で光受容細胞から入力を受ける大単極細胞(LMC)の入出力関数が、自然環境のコントラスト(背景に対する相対的な明暗差)の分布の累積分布とよく一致することが示されている(Laughlin 1981)。符号化が入力統計に適応している直接的な証拠である。
情報ボトルネック
もう一つ、第9章につながる概念を紹介しておく。入力 X から中間表現 T を作り、目標 Y を予測したい。たとえば画像から中間表現を作って、その画像の分類を当てる場合である。入力の細部をどれだけ捨てても、予測に必要な情報は保てるだろうか。良い T とは何か。X、T、Y はいずれも確率変数で、入力と目標の同時分布 p(x,y) を固定したうえで、入力から表現を作る規則 p(t \mid x) を選ぶ。T は X だけから作るので、三変数の同時分布は p(x,t,y) = p(x,y)\,p(t\mid x) である。I(X; T) は表現に残った入力の情報量、I(T; Y) は表現が持つ目標についての情報量である。前者を小さくし、後者を大きくしたい—この二つの要求を重み \beta \ge 0 で組み合わせる。情報ボトルネックの定式化はこうである。
\min_{p(t\mid x)} \; \underbrace{I(X;T)}_{\textsf{圧縮したい}} - \beta\, \underbrace{I(T;Y)}_{\textsf{予測に必要}}
X については忘れるが、Y については覚えている—そんな表現が良い表現だ、という主張である。
Tishby と Zaslavsky は、深層ネットワークの各層がこのトレードオフに沿って動くと論じた。層を上がるにつれて入力の情報を捨て、目標の情報を保つという描像である。
ただしこの主張には批判もある。連続な X から潰れのない表現を決定的に作ると I(X;T) が発散しうるし、有限のデータから推定した値は離散化の仕方にも依存するので、測り方に議論の余地がある。第9章で扱う汎化理論の文脈でも、情報ボトルネックがどこまで説明力を持つかは決着していない。それでも「何を捨て、何を保つか」という問いの立て方は、本書の主題そのものである。第13章第6節では、この問いが準同型の核と像として定式化される。
次章へ
本章で確率と情報の道具を整えた。次章では、これを使ってデコーディング—応答から刺激を読み出す—を扱う。そこで登場するフィッシャー情報量は、本章の相互情報量とは別の量だが、やはり「情報」の名を持つ。そして第11章第5節で、それが表現幾何の計量と同じ式だったと明かされる。
確認問題
[考える]周辺化 p(x) = \int p(x,y)\,dy が計算できないことが、第14章のどんな困難につながるかを予想せよ。(第1節・第14章第1節)
[導出]一次元の変数変換の公式 p_Y(y) = p_X(x)/|g'(x)| を、確率の保存から導出せよ。(第2節)
[導出]X\sim\mathcal{N}(0,1)、Y = e^X のとき、Y のモードを求めよ。g(0)=1 とずれる理由を説明せよ。(第2節)
[導出]イェンセンの不等式を用いて \mathrm{KL}(p\|q)\ge 0 を証明せよ。(第4節)
[確認]\mathrm{KL}(p\|q) と \mathrm{KL}(q\|p) を最小化したときの q の振る舞いの違いを述べよ。変分推論が使うのはどちらか。(第4節・第14章第3節)
[導出]最尤推定が KL ダイバージェンスの最小化と等価であることを示せ。(第4節)
[導出]自然画像(S\propto 1/\omega^2)と白色ノイズのもとで、白色化と Wiener フィルタを組み合わせるとバンドパス特性になることを説明せよ。(第5節・第4章第6節)
[確認]情報ボトルネックの目的関数を書き、\beta が何を制御するかを述べよ。(第6節・第9章第3節)
参考文献
- MacKay, D. J. C. (2003). Information Theory, Inference, and Learning Algorithms. Cambridge University Press. — 情報理論の入口。無料で公開されている
- Rieke, F., Warland, D., de Ruyter van Steveninck, R., & Bialek, W. (1997). Spikes: Exploring the Neural Code. MIT Press. — 神経系を情報路として見る古典
- Tishby, N., & Zaslavsky, N. (2015). Deep learning and the information bottleneck principle. arXiv:1503.02406. https://doi.org/10.48550/arxiv.1503.02406 — 情報ボトルネック[6節]