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章の情報ボトルネックにつながる。
第4節のイェンセンの不等式は、第14章第3節で ELBO を導くときにそのまま使う。印を付けておいてほしい。
1. 必要な数学:確率分布の復習
記号の約束
第1章第4節で述べたとおり、確率変数を大文字 X、その値を小文字 x で書く。密度関数は p(x)、X が分布 p に従うことを X \sim p と書く。
離散と連続を、いちいち区別しない。和と積分を適宜読み替えてほしい。厳密さが必要な場面では断る。
同時分布・周辺分布・条件付き分布
二つの確率変数 X, Y があるとき、
p(x, y) \quad\textsf{(同時分布)}, \qquad p(x) = \int p(x,y)\, dy \quad\textsf{(周辺分布)}, \qquad 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]
多変数なら共分散行列になる。
\Sigma = \mathbb{E}\big[(\mathbf{X} - \boldsymbol{\mu})(\mathbf{X}-\boldsymbol{\mu})^\top\big], \qquad \boldsymbol{\mu} = \mathbb{E}[\mathbf{X}]
\Sigma は対称かつ半正定値である。だから固有値分解できる—第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]。
本書でよく使う分布
| 分布 | 密度 | 本書での出番 |
|---|---|---|
| ガウス | \frac{1}{\sqrt{2\pi\sigma^2}}e^{-(x-\mu)^2/2\sigma^2} | いたるところ。とくに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章(ボルツマンマシンのユニット) |
多変量ガウス分布は本書の主力なので、形だけ書いておく。
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 の密度はどうなるか。
素朴に 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'| が小さい)では、確率が狭い範囲に集まる → 密度は濃くなる
多次元の場合
多次元では、g' の代わりにヤコビアン行列が現れる。
J = \frac{\partial \mathbf{y}}{\partial \mathbf{x}}, \qquad J_{ij} = \frac{\partial y_i}{\partial x_j}
そして体積の変化率は、ヤコビアン行列の行列式の絶対値で与えられる。ただし条件が要る。 g は同じ次元どうしの写像で、局所的に可逆(\det J \ne 0)でなければならない。非単射なら前像ごとに足し合わせる必要があり、次元が変わる写像ではこの式はそのまま使えない。
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_Y(y) = p_X(x)/|g'(x)| の対数を x で微分する。
\frac{d}{dx}\ln p_Y = \underbrace{\frac{p_X'(x)}{p_X(x)}}_{\textsf{元の分布の効果}} - \underbrace{\frac{g''(x)}{g'(x)}}_{\textsf{変換の曲率の効果}}
x^* が p_X のモードなら第一項はゼロになる。だが第二項は、g'' \ne 0 である限り残る。
つまり—モードがずれるかどうかを決めるのは、その点での g'' である。 g が線形なら g''\equiv0 なので、モードはつねに対応する。非線形でも、たまたまモードの位置で g''=0 になっていれば対応する(たとえば X\sim\mathcal{N}(0,1)、g(x)=x+x^3 では g''(0)=0 なので、モードは 0\mapsto0 と保たれる)。一般にはずれる、というのが正しい言い方である。
この事実には実務的な含意がある。
- 生成モデルの潜在空間で「もっともらしい点」(事前分布のモード)を選んでデコードしても、データ空間で最頻の出力が得られるとは限らない(第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. エントロピーと相互情報量
エントロピー
確率変数 X のエントロピーは、
H(X) = -\sum_x p(x) \log p(x) = -\mathbb{E}\big[\log p(X)\big]
対数の底が2ならビット、e ならナット。
読み方は「平均的な驚きの大きさ」である。-\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]
単位を変えるだけで値が変わってしまう。メートルで測るかセンチメートルで測るかで、微分エントロピーが違う。
だから微分エントロピーは、それ単独では意味を持たない。差を取れば意味を持つ—次の相互情報量がそれである。
相互情報量
I(X; Y) = H(X) - H(X\mid Y) = \sum_{x,y} p(x,y)\log\frac{p(x,y)}{p(x)p(y)}
「Y を知ることで X についての不確かさがどれだけ減るか」である。
性質を三つ。
- I(X;Y) \ge 0。等号は独立のときに限る
- I(X;Y) = I(Y;X)(対称)
- 変数変換で不変(可逆な変換に対して)
三番目が大事である。上で見たように微分エントロピーは単位に依存するが、相互情報量は依存しない。二つのエントロピーの差なので、ヤコビアンの項が打ち消し合うからだ。だから連続変数でも安心して使える。
神経科学での使い方
相互情報量は「神経応答が刺激についてどれだけ情報を持つか」を測る量として使われる。I(S; R) である。
古典的な例が、コオロギの尾葉感覚系(cercal system)の研究である。コオロギの尾には気流を感じる毛があり、4個の介在ニューロンが気流の方向を符号化している。Theunissen と Miller らは、この系で I(S;R) を実測し、わずか4個のニューロンが気流方向についてどれだけの情報を持つかを定量化した。
ただし、推定は難しい。相互情報量の推定にはサンプル数が要る。データが少ないと系統的に過大評価されることが知られている(有限標本バイアス)。神経データは試行数が限られるので、これは実務上の深刻な問題である。
4. KL ダイバージェンスと最尤推定
定義
二つの分布 p, q のカルバック・ライブラー(KL)ダイバージェンスは、
\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] が成り立つ。これを使う。
\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) である。
この非対称性には意味がある。
\mathrm{KL}(p\|q) を最小化する場合。p が大きいところで q が小さいと、大きなペナルティを受ける。だから q は p の台を覆うように広がる(mode-covering)。
\mathrm{KL}(q\|p) を最小化する場合。q が大きいところで p が小さいとペナルティを受ける。だから q は p の峰の一つに縮こまる(mode-seeking)。
変分推論が使うのは後者である(第14章)。近似分布 q が真の事後分布の一つの峰に集中しがちで、分散を過小評価する傾向がある—これはこの非対称性の帰結である。
最尤推定は KL 最小化である
データが真の分布 p_{\text{data}} から独立に N 個得られたとする。モデル 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 に依存しない。だから
\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) だとする。答えは周波数領域で書ける。
\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{h}| \propto \omega だが、これに Wiener フィルタを掛け合わせると
|\hat{h}(\omega)| \propto \omega \cdot \frac{S(\omega)}{S(\omega)+N(\omega)}
低周波では白色化が効いて \omega に比例して増加し、高周波ではノイズが優勢になって減衰する。つまりバンドパス特性になる。
これが実際の網膜神経節細胞の周波数特性とよく合う。そして照明が暗いとき(ノイズが相対的に大きいとき)は、ピークが低周波側に移動する—この予測も実験的に確かめられている。規範モデルが定量的な予測を出した好例である。
6. チャネル容量と符号化の効率
情報路容量
通信路に入力 X を入れて出力 Y を得るとき、伝えられる情報量の上限をチャネル容量と呼ぶ。
C = \max_{p(x)} I(X; Y)
入力分布を最適に選んだときの相互情報量である。Shannon の定理により、これが誤りなく伝送できる速度の上限を与える。
神経系への適用
神経系を通信路と見なすと、いくつかの問いが立つ。
一個のニューロンはどれだけの情報を伝えられるか。発火率の上限(不応期による)とノイズから見積もると、数十〜百ビット毎秒程度になる。感覚器官が受け取る情報量に比べると、はるかに小さい。大幅な圧縮が必要である。
入力分布をどう合わせるか。出力のエントロピーを最大化するには、出力が一様分布になるのがよい。応答が単調な関数 r = F(s) で決まるなら、F は刺激の累積分布関数であるべきだ—これがヒストグラム等化の原理である。
この予測は検証されている。ハエの視覚系の大単極細胞(LMC)の入出力関数が、自然環境のコントラスト分布の累積分布とよく一致することが示されている(Laughlin 1981)。符号化が入力統計に適応している直接的な証拠である。
情報ボトルネック
もう一つ、第9章につながる概念を紹介しておく。
入力 X から中間表現 T を作り、目標 Y を予測したい。良い T とは何か。
情報ボトルネックの定式化はこうである。
\min_{p(t\mid x)} \; \underbrace{I(X;T)}_{\textsf{圧縮したい}} - \beta\, \underbrace{I(T;Y)}_{\textsf{予測に必要}}
X については忘れるが、Y については覚えている—そんな表現が良い表現だ、という主張である。\beta が両者のトレードオフを決める。
Tishby と Zaslavsky は、深層ネットワークの各層がこのトレードオフに沿って動くと論じた。層を上がるにつれて入力の情報を捨て、目標の情報を保つという描像である。
ただしこの主張には批判もある。決定的な写像では 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章第7節)
参考文献
- MacKay, D. J. C. (2003) Information Theory, Inference, and Learning Algorithms ch.2, 8 — 情報理論の入口。無料で公開されている
- Rieke, F. et al. (1997) Spikes — 神経系を情報路として見る古典
- Tishby, N. & Zaslavsky, N. (2015) Deep learning and the information bottleneck principle — 情報ボトルネック[6節]