情報幾何学は確率の地図を描く考え方
Series
情報幾何から検定へシリーズ全体の地図では、情報幾何学から検定、A/B テスト、多重検定までの流れを俯瞰しています。
情報幾何学は、ひとことで言うと「確率分布の集まりを、図形のように見る」考え方です。
この一文だけだと、かなり抽象的に聞こえると思います。確率分布は数学の式で、図形は丸や三角形や曲面です。ふつうは別々のものに見えます。
でも、少しだけ見方を変えると、確率分布にも「点」「座標」「距離のようなもの」「まっすぐな道」「ベクトルの運び方」があります。情報幾何学は、確率分布の世界に地図を描くための道具です。
この記事では、厳密な証明よりも直感を優先します。微分幾何学を知らなくても、統計学を深く学んでいなくても、「何を図形として見ているのか」がつかめるところを目標にします。
この記事のゴール
この記事で持ち帰ってほしいことは、次の 7 つです。
- 確率分布は、ひとつの点として見ることができる。
- 点が集まった空間は、多様体として見ることができる。
- その点から少し動く方向は、接ベクトルやベクトル場として表せる。
- 確率分布どうしのズレは、ふつうの距離とは少し違う。
- 確率分布の空間には、場所ごとに違うものさしがある。
- 同じ確率分布でも、 と という 2 つの座標で見られる。
- 「まっすぐ進む」「矢印を運ぶ」にも、複数の意味がある。
最初からすべての式を理解する必要はありません。むしろ、式を読む前に「何をしたいのか」をつかむほうが大切です。
読む前に、記号の怖さを少し下げる
この記事では、途中で 、、微分、接線、ポテンシャル関数といった言葉が出てきます。
これらの言葉に慣れていなくても、読むのを止めなくて大丈夫です。ここでは、次のように読み替えてください。
| 記号や言葉 | まずはこう読めばよい |
|---|---|
| 比を扱いやすい尺度に直すもの | |
| と逆向きの変換 | |
| 微分 | その場所での傾き、または少し動かしたときの変化 |
| 2 回微分 | 傾きの変わり方、つまり曲がり具合 |
| 接線 | その場所で曲線をまっすぐ近似した線 |
| ポテンシャル関数 | 微分すると大事な量が出てくる関数 |
| Legendre 変換 | 場所で見る関数を、傾きで見る関数へ変える操作 |
高校数学の範囲だけだと、微分は「関数の傾き」として習います。この記事でも、ほとんどそれで足ります。
たとえば、山道を歩いているとします。今いる場所で道がどれくらい急かを見るのが 1 回微分です。さらに、その急さがどれくらい変わっていくかを見るのが 2 回微分です。
情報幾何学では、この「傾き」や「曲がり具合」を使って、確率分布の空間にものさしを作ります。
ここから先で式が出てきたら、まずは「これは傾きの話をしているのか」「これは曲がり具合の話をしているのか」と考えてください。それだけで、かなり読みやすくなります。
コイン投げから始める
いちばん簡単な例として、コイン投げを考えます。
表が出る確率を とします。
- なら、表と裏が半々で出る普通のコインです。
- なら、表がかなり出やすいコインです。
- なら、裏が出やすいコインです。
このとき、 の値をひとつ決めると、コイン投げの確率分布がひとつ決まります。
たとえば なら、
です。
もう少し記号で書くと、
です。左が裏、右が表です。
ここで大事なのは、 が単なる数字ではなく、「ひとつの確率分布」を表していることです。
、、 は、それぞれ別の点だと考えられます。数直線上に点を置くように、確率分布の世界にも点を置けるわけです。
確率分布を点として見る
ふつうの平面では、点を のような座標で表します。
情報幾何学では、点を「確率分布」として表します。
コイン投げなら、点は ひとつで指定できます。これは 1 次元の空間です。 を 0 から 1 まで動かすと、いろいろなコインが並びます。
では、選択肢が 3 つある場合はどうでしょうか。
たとえば、赤・青・緑のどれかが出るくじを考えます。赤が出る確率を 、青を 、緑を とすると、
です。
ただし、確率なので次が成り立ちます。
全部の確率を足したら 1 になるからです。
この条件があるので、 は 3 つの数字に見えても、完全に自由に動けるわけではありません。実際には、三角形の中を動くようなイメージになります。この三角形を確率単体と呼びます。
ここまでで、すでに幾何学らしい見方が出てきました。
- コイン投げの分布は、線の上の点として見られる。
- 3 択の分布は、三角形の中の点として見られる。
- もっと複雑な分布は、もっと高次元の空間の点として見られる。
情報幾何学は、この「確率分布が点として並んでいる空間」を調べます。
多様体は「近くを見ると座標で表せる空間」
ここで、多様体という言葉を入れます。
多様体は、ざっくり言うと「近くを見ると、ふつうの座標で表せる空間」です。
たとえば地球の表面を考えます。地球全体は丸いので、1 枚の平らな紙に完全には広げられません。世界地図には必ず歪みがあります。
でも、今いる街の近くだけを見るなら、平面の地図でかなり正確に表せます。道を北へ 100 メートル、東へ 50 メートル進む、という言い方もできます。
このように「全体としては曲がっているかもしれないけれど、近くを見ると座標で扱えるもの」が多様体です。
代表例は次のようなものです。
- は、ふつうの平面です。
- は、ふつうの 3 次元空間です。
- 円は、1 次元の多様体です。角度ひとつで場所を表せます。
- 球面は、2 次元の多様体です。地球の表面のように、緯度と経度で場所を表せます。
- トーラスは、ドーナツ型の 2 次元多様体です。輪の周り方向と穴の周り方向の 2 つの角度で場所を表せます。
- 確率単体は、確率分布が並ぶ多様体として見られます。
ここで大事なのは、多様体は「3 次元空間に浮かんでいるきれいな形」だけではないということです。
確率分布の集まりも、多様体として見ることがあります。見た目の形が球やドーナツでなくても、点があり、座標があり、近くの動きがあり、ものさしを定められるなら、幾何学の言葉で扱えます。
普通の多様体を先に触ってみる
下の実験パネルは、微分幾何学側の多様体を触るためのものです。最初は球面を表示しています。
球面 S2、接平面、接ベクトル、大円を表示します。
まずは、次の順番で見てください。
- 多様体の例を 、円、球面、トーラスに切り替える。
- 座標系を切り替えて、同じ図形でも座標の取り方が変わることを見る。
- 点を表示して、その点の近くに接平面や接ベクトルが出ることを見る。
- 曲線を入力して、曲線上の点を動かし、速度ベクトルを見る。
- 計量テンソルで、接ベクトルの長さや内積が決まることを見る。
このパネルで見ている「点」「座標」「接ベクトル」「接平面」「計量」「曲線」は、あとで確率分布の空間にもそのまま出てきます。
情報幾何学は、これを確率分布に対してやります。
球面上の点を動かす代わりに、確率分布の点を動かす。
球面上の接ベクトルを見る代わりに、確率分布を少し変える方向を見る。
球面上の計量を見る代わりに、Fisher 計量を見る。
そう考えると、情報幾何学は急に別世界の話ではなくなります。
接空間は「その点から動ける方向の集まり」
多様体の上では、点だけでなく「その点からどちらへ動けるか」も大事です。
球面を例にします。
球面上のある点に立っているとします。その場所から北へ進むことも、東へ進むことも、その中間の方向へ進むこともできます。これらの「その点から少し動く方向」を集めたものが接空間です。
球面なら、接空間はその点で球に触れる平面としてイメージできます。地球の表面に立っている人にとって、足元の地面が平らに見えるようなものです。
接空間の中にある矢印が接ベクトルです。
接ベクトルは、「その点からどちらへ、どれくらいの速さで動くか」を表します。
確率分布の空間でも同じです。
Bernoulli 分布の点 にいるとします。この点から を少し増やす方向もあれば、少し減らす方向もあります。
を増やす方向は、「表が出やすいコインへ動く方向」です。 を減らす方向は、「裏が出やすいコインへ動く方向」です。
これが確率分布の空間における接ベクトルです。
ベクトル場は「各点に矢印を置いたもの」
接ベクトルは、ひとつの点にある矢印です。
それに対して、ベクトル場は、空間の各点に矢印を置いたものです。
天気図の風を思い浮かべるとわかりやすいです。ある場所では北東に風が吹き、別の場所では南に風が吹く。地図上のそれぞれの地点に矢印が置かれています。
これがベクトル場のイメージです。
多様体の上でも、各点に「次に進む方向」を割り当てることができます。
機械学習で出てくる勾配も、ベクトル場として見られます。損失関数を小さくする方向が、各点に矢印として置かれているからです。
ただし、確率分布の空間では、どのものさしで「急な方向」を見るかが重要になります。
普通の勾配は、パラメータの座標で見た矢印です。natural gradient は、Fisher 計量というものさしで見た矢印です。
つまり natural gradient は、情報幾何学の言葉で言えば「Fisher 計量に合わせて作ったベクトル場」です。
この見方を持つと、後半で出てくる Fisher 計量や平行移動が、機械学習とかなり自然につながります。
計量は「ベクトルの長さと角度を決めるルール」
多様体の上で矢印を扱うなら、その矢印がどれくらい長いのか、2 つの矢印がどれくらい似た方向を向いているのかを知りたくなります。
そのためのルールが計量です。
平面では、矢印 の長さは、ふつう次のように測ります。
これは当たり前に見えますが、実は「平面には標準的なものさしが入っている」からそう測れています。
曲がった空間や歪んだ座標では、同じ成分の矢印でも、場所によって長さが変わることがあります。
計量は、それを決めるルールです。
式では、2 つの接ベクトル と に対して、
のように書きます。
は今いる点です。 は「点 で使うものさし」です。
特に、
は、ベクトル の長さの 2 乗に対応します。
計量があると、次のことができます。
- 接ベクトルの長さを測る。
- 2 つの接ベクトルの角度を測る。
- 勾配を定義する。
- 曲線の長さを測る。
- 最短経路としての測地線を考える。
情報幾何学では、この計量として Fisher 計量が出てきます。
対応表で全体像を見る
ここまで出てきた言葉を、微分幾何、情報幾何、統計・機械学習の言葉に並べると、かなり見通しがよくなります。
| 微分幾何の言葉 | 情報幾何での見方 | 統計・機械学習での見方 |
|---|---|---|
| 点 | ひとつの確率分布 | モデルが出している予測分布 |
| 多様体 | 確率分布が集まった空間 | パラメータを動かしたときに到達できるモデルの集まり |
| 座標 | 、、 などの分布の表し方 | 確率、logit、平均、分散、モデルパラメータ |
| 接空間 | ある分布から少し動ける方向の集まり | その時点で可能な更新方向の集まり |
| 接ベクトル | 分布を少し変える方向 | 勾配、更新方向、微小なパラメータ変化 |
| ベクトル場 | 各分布に矢印を置いたもの | 損失を下げる方向を各点に割り当てたもの |
| 計量 | 接ベクトルの長さや角度を測るルール | どの変化を大きい変化とみなすかの基準 |
| Fisher 計量 | 確率分布の自然なものさし | natural gradient や統計的な感度の基準 |
| 曲線 | 分布が連続的に変わる道 | 学習過程、補間、推定値へ向かう経路 |
| 測地線 | ある意味でのまっすぐな道 | 分布間をどう補間するか |
| 接続 | 別の点にある矢印を比べるルール | 更新方向や勾配を別時点で比較するための約束 |
| 平行移動 | 矢印を別の点へ運ぶ操作 | 方向を保ったままモデルを動かす考え方 |
| KL divergence | 2 つの分布の説明のズレ | 損失、クロスエントロピー、モデル比較の基礎 |
この表でいちばん大事なのは、統計や機械学習の言葉を、幾何学の言葉に翻訳できることです。
たとえば「モデルのパラメータを更新する」は、幾何学の言葉では「確率分布の多様体上で、ある接ベクトルの方向へ動く」と読めます。
「損失が下がる方向を探す」は、「各点に置かれたベクトル場を見る」と読めます。
「natural gradient を使う」は、「Fisher 計量で測ったときに自然な更新方向を使う」と読めます。
この翻訳ができると、検定の話にも入りやすくなります。検定では、データを見たあとで「ある仮説が作る分布の集合」と「データに一番合う分布」を比べます。つまり、確率分布の地図の上で、点や部分空間の距離を測る話になります。
まず実験パネルを触ってみる
下の実験パネルでは、いくつかの確率分布の空間を触れます。最初は Bernoulli、つまりコイン投げのモデルになっています。
最初は、深く考えすぎずに次を試してみてください。
- 点 の値を 0.2 や 0.5 に変える。
- 点 の値を 0.8 や 0.9 に変える。
- KL の値がどう変わるかを見る。
- と の値が同時に変わることを見る。
- 移動経路を e 測地線、m 測地線、 測地線に切り替える。
- 始点接ベクトル を変えて、平行移動後のベクトルがどう変わるかを見る。
今は、表示される言葉を全部覚えなくて大丈夫です。まずは「確率分布を動かすと、いろいろな量が一緒に動く」という感覚を持てば十分です。
KL は「説明のズレ」
確率分布を点として見られるなら、次に知りたくなるのは「点どうしの近さ」です。
ふつうの平面なら、2 点の距離は定規で測れます。では、2 つの確率分布の近さはどう測ればよいでしょうか。
ここでよく出てくるのが KL divergence です。
読み方は「 から への KL」くらいでよいです。
KL は、ざっくり言うと「本当は分布 なのに、分布 だと思って説明したときのズレ」です。
たとえば、本当のコインが 、つまり表がかなり出やすいコインだとします。ところが、こちらが「普通のコインだから だろう」と思っていると、観測結果をうまく説明できません。表が多く出すぎるからです。
この「説明の苦しさ」を数にしたものが KL だと思うと、最初はわかりやすいです。
ただし、KL はふつうの距離ではありません。大事な違いがあります。
多くの場合、
です。
東京から大阪までの距離と、大阪から東京までの距離は同じです。ところが KL では、向きを入れ替えると値が変わります。
これは変なことではありません。「本当は なのに で説明する」のと、「本当は なのに で説明する」のは、同じ失敗ではないからです。
情報幾何学では、このような「距離に似ているけれど、ふつうの距離とは違う量」が重要になります。
Fisher 計量は確率分布のものさし
次に Fisher 計量を考えます。
さきほど、計量は「接ベクトルの長さと角度を決めるルール」だと言いました。
Fisher 計量は、それを確率分布の空間に入れたものです。
コイン投げで、 を少しだけ変えることを考えます。
から に変えると、少し表が出やすくなります。まだ普通のコインにかなり近いです。
一方で、 から に近づくと、かなり極端です。「ほぼ必ず表」から「さらに必ず表に近いコイン」へ向かう変化だからです。
数字だけ見れば、どちらも小さな変化です。でも、確率分布としての意味は同じではありません。
つまり、確率分布の空間では、同じ量だけ動いても、場所によって変化の重みが違います。
この違いを測るために Fisher 計量が出てきます。
Bernoulli 分布を 座標で見ると、Fisher 計量は次の形になります。
接ベクトルを とすると、その長さの 2 乗はだいたい次のように測ります。
の近くでは、
です。
一方、 の近くでは、
です。
同じ でも、端のほうではずっと大きく測られます。これは、端のほうでは少し動くだけでも分布の意味が大きく変わる、という直感と合っています。
実験パネルの Fisher g は、その点でのものさしを表しています。点 を 0.5 から 0.9、0.99 に近づけると、ものさしが強く変わることが見えます。
Bernoulli 分布の Fisher 情報量
p が 0 や 1 に近い場所では、同じ p の移動でも分布の変化が大きく見えます。
多次元の分布では、Fisher 計量は 1 つの数ではなく、行列になります。
という形です。
これは、 番目の方向と 番目の方向が、確率分布としてどれくらい関係しているかを表します。
統計学の式で書くと、Fisher 計量はよく次の形で出てきます。
いきなり読むと重い式ですが、言っていることは次の通りです。
まず、 は「今のパラメータ が、観測 をどれくらい説明できるか」を log で見たものです。
それを で微分すると、「 方向に少し動かしたとき、説明のしやすさがどれくらい変わるか」がわかります。
この変化の量を、別の方向の変化と掛け合わせて平均したものが Fisher 計量です。
つまり Fisher 計量は、確率分布がパラメータの変化にどれくらい敏感かを測っています。
ここが重要です。
Fisher 計量は、外から勝手に置いたものさしではありません。確率モデル自身の「変わりやすさ」から出てくるものさしです。
だから情報幾何学では、Fisher 計量がとても自然な計量になります。
ここから先で考えること
ここまでは、確率分布を点として見て、点どうしのズレや場所ごとのものさしを見てきました。
ここから少し話が抽象的になります。
でも、考えたいことはひとつです。
同じ確率分布の空間を、違う地図で見たらどうなるのか。
たとえば、日本地図を見るとき、地形図、路線図、天気図では同じ場所が違って見えます。地形図では山や川が大事です。路線図では駅と線路が大事です。天気図では気圧や風の流れが大事です。
確率分布の空間にも、複数の地図があります。
情報幾何学で特に大事なのが、 の地図と の地図です。
ここからは、その 2 つの地図がどうつながっているかを見ます。
同じ点を 2 つの座標で見る
情報幾何学で最初に混乱しやすく、同時にいちばんおもしろいところは、同じ確率分布を 2 つの座標で見るところです。
「同じものを 2 つの座標で見る」と言われても、最初はぴんと来ないかもしれません。
身近な例で考えます。地球上の場所は、緯度と経度で表せます。でも、地図アプリの中では、画面上のピクセル位置でも表せます。同じ東京駅でも、「北緯何度・東経何度」と言うこともできるし、「画面のこの位置」と言うこともできます。
温度も似ています。同じ温度を、摂氏で 20 度と言うことも、華氏で 68 度と言うこともできます。値は違いますが、表している物理的な状態は同じです。
情報幾何学でも、同じ確率分布を別の座標で見ます。ただし、ここで出てくる 2 つの座標は、単なる単位換算よりも深い関係を持っています。
代表的なのが、自然パラメータ と期待値パラメータ です。
この 2 つは「双対座標」と呼ばれます。
双対という言葉は難しそうですが、ここでは「別々の見方だけれど、互いにペアになっている」と思ってください。
期待値パラメータ η は、結果の平均を見る座標
まず、期待値パラメータ から見ます。
Bernoulli 分布、つまりコイン投げでは、表が出る確率を としました。このとき、
です。
これはとても素直です。表が出る確率そのものです。
なぜ「期待値」と呼ぶのでしょうか。
コインの表を 1、裏を 0 として考えます。表が出る確率が なら、平均的にはどれくらい 1 が出るでしょうか。
表は確率 で 1、裏は確率 で 0 です。平均は、
になります。
つまり Bernoulli 分布では、「表が出る確率」と「値の平均」が同じです。だから は期待値パラメータと呼ばれます。
ここまでは直感的です。
自然パラメータ θ は、傾きや偏りを見る座標
もうひとつの座標が自然パラメータ です。
Bernoulli 分布では、次のように定義されます。
急に難しく見えます。順番に分解します。
まず、
は「表の出やすさ」と「裏の出やすさ」の比です。
たとえば なら、
です。これは、表が裏の 4 倍出やすいという意味です。
なら、
です。表と裏の出やすさは同じです。
なら、
です。表は裏の 4 分の 1 しか出ません。
この比に をつけたものが です。
をつけると何がうれしいのでしょうか。
比そのものは、、、 のように、かけ算的に変わります。一方、 を取ると、比の変化を足し算的な尺度に直せます。
たとえば、
- なら
- なら
- なら
です。
と が、 ではちょうど正負に分かれます。普通のコイン が 0 で、それより表に偏ると正、裏に偏ると負です。
つまり は、「表側にどれくらい傾いているか」を表す座標です。
η と θ は、同じ点を違う方向から見ている
ここまでを表にすると、次のようになります。
| の意味 | ||
|---|---|---|
| 0.2 | 0.2 | 裏に偏っている |
| 0.5 | 0.5 | どちらにも偏っていない |
| 0.8 | 0.8 | 表に偏っている |
は、結果の平均をそのまま見る座標です。
は、表と裏の出やすさの比を log で見た座標です。
どちらも同じ Bernoulli 分布を表しています。別々の分布を表しているのではありません。
実験パネルで点 の値を変えると、 と が同時に変わります。これは、同じ点を 2 種類の座標で読み替えているからです。
この感覚はとても大事です。
情報幾何学では、「どの座標で見るとまっすぐなのか」「どの座標で見ると計算しやすいのか」が重要になります。だから、同じ確率分布に対して複数の座標を持つことが自然になります。
なぜわざわざ θ を使うのか
「 だけで十分ではないのか」と思うかもしれません。
コイン投げだけを見るなら、たしかに だけで十分に見えます。
でも、確率分布を数式として扱うとき、 のほうが自然に現れる場面があります。
Bernoulli 分布の確率は、表を 、裏を とすると、
と書けます。
これを を使って書き直すと、指数関数を使った形になります。
ここで は、確率の合計が 1 になるように調整する関数です。
難しく見えますが、意味は素朴です。
確率分布では、すべての可能性の確率を足すと 1 にならなければなりません。指数関数の形で書くと、そのままでは合計が 1 にならないことがあります。そこで、 が全体を正しく正規化します。
この「指数関数で書ける分布の形」を指数型分布族と呼びます。
情報幾何学では、指数型分布族がとても重要です。Bernoulli、Categorical、Poisson、Normal など、多くの基本的な分布がこの枠組みに入ります。
自然パラメータ は、この指数型分布族の式の中で自然に出てくるので「自然」パラメータと呼ばれます。
ポテンシャル関数 ψ は何をしているのか
ここから、ポテンシャル関数の話に入ります。
実験パネルには、 と が表示されています。
まず から見ます。
Bernoulli 分布では、
です。
いきなりこの式だけ見ると、何のためにあるのか分かりません。
先ほど、Bernoulli 分布を次の形で書けると言いました。
は 0 か 1 です。
このとき、確率の合計が 1 になる必要があります。
実際に計算すると、
です。
足すと、
になります。これを 1 にするためには、
である必要があります。
つまり は、確率分布としてちゃんと合計が 1 になるように整える関数です。
でも、 の役割はそれだけではありません。
実は、 を微分すると が出てきます。
Bernoulli の場合、これは
です。そして、
なので、
になります。
これはかなり重要です。
は、ただの正規化用の関数ではなく、微分すると期待値パラメータ を生み出す関数です。
この意味で、 は 側のポテンシャル関数です。
ポテンシャルという言葉は、物理の位置エネルギーを思い出すと少し近いです。ポテンシャルそのものを微分すると、力や傾きの情報が出てきます。同じように、 を微分すると、 という座標が出てきます。
φ は η 側のポテンシャル関数
次に を見ます。
Bernoulli 分布では、
です。
この式は、エントロピーに似ています。実際、符号を反対にすると Bernoulli 分布のエントロピーになります。
なので、
です。
つまり は、確率分布のばらつき具合と深く関係しています。
そして を微分すると、今度は が出てきます。
実際に微分すると、
は、
になります。
これは、
です。
Bernoulli では なので、
になります。
ここでも、ポテンシャル関数を微分すると、反対側の座標が出てきます。
まとめると、次の関係があります。
は 側のポテンシャルで、微分すると を返します。
は 側のポテンシャルで、微分すると を返します。
これが、双対座標とポテンシャル関数が一緒に出てくる理由です。
Legendre 変換は、ポテンシャルを反対側へ移す
では、 と はどうつながっているのでしょうか。
ここで Legendre 変換が出てきます。
Legendre 変換を、まず簡単な例で考えます。
次の関数を見ます。
これは放物線です。
この関数を、位置 ではなく、傾き で見たいとします。
の傾きは、
です。この例では、傾き と位置 が同じ値になります。
Legendre 変換では、次の量を考えます。
ただし、 は傾き に対応する場所を使います。この例では なので、
になります。
この例は単純すぎて、変換しても同じ形になりました。でも大事なのは、Legendre 変換が「位置で見た関数」を「傾きで見た関数」に変える操作だということです。
情報幾何学では、位置にあたるものが 、傾きにあたるものが です。
なぜなら、
だからです。
は、 の傾きとして出てきます。
そこで、 を 側の関数に変換します。
その結果が です。
式で書くと、
です。
ただし、この は、 を満たす です。
言葉で言うと、こうです。
まず 側のポテンシャル がある。
その傾きとして が出てくる。
その を新しい座標として、ポテンシャルを作り直す。
それが である。
これが Legendre 変換です。
接線で見ると Legendre 変換が少し見える
もう少し図形的に言うと、Legendre 変換は「接線で関数を見る」操作です。
ある曲線に接線を引くと、その接線は傾きと切片を持ちます。
曲線を点の集まりとして見る代わりに、「この曲線にはどんな接線が引けるか」という見方をすることができます。
場所で曲線を見るのが 側の見方だとすると、接線の傾きで曲線を見るのが 側の見方です。
この 2 つの見方を行き来するのが Legendre 変換です。
最初は抽象的ですが、実験パネルの「ψ / φ Legendre」を見ると、次の形が表示されています。
これは、 と が Legendre 変換でぴったり対応していることを表しています。
もし対応する と を使っているなら、上の値は 0 になります。
この式は、双対座標のペアがきちんと噛み合っているかを確認するためのチェックだと思うとよいです。
ポテンシャル関数は、座標とものさしをまとめて持っている
ここまで見ると、ポテンシャル関数はただの補助的な関数ではないことがわかります。
は、 側の世界で重要な情報を持っています。
微分すると が出ます。
さらに、2 回微分すると Fisher 計量が出てきます。
1 次元なら、
が、その場所でのものさしに対応します。
Bernoulli の場合、 を 2 回微分すると、
が出てきます。これは 座標で見たときの Fisher 計量です。
一方、 側では の 2 回微分がものさしを与えます。
Bernoulli の場合、
です。
これは、さきほど Fisher g として見たものと対応しています。
つまりポテンシャル関数は、単に座標変換をするためだけではなく、その空間のものさしも生み出しています。
このあたりから、情報幾何学が「確率分布の地図」を描いている感じが強くなります。
地図には、点の位置だけでなく、距離の測り方や、道の進み方も必要です。ポテンシャル関数は、そのための情報をかなりまとめて持っています。
KL は Bregman divergence としても見える
実験パネルには「KL = Bregman」という表示もあります。
ここまで読んだあとなら、少し意味が見えやすくなっています。
Bregman divergence は、曲線や曲面に接線を引いたときのズレとして考えることができます。
なめらかな関数のグラフを思い浮かべてください。ある点で接線を引くと、その接線はその点の近くではグラフをよく近似します。でも、遠くに行くと、グラフと接線の間にズレが出ます。
この「グラフと接線のズレ」を測る考え方が Bregman divergence です。
式で書くと少し難しくなりますが、考えていることは次の通りです。
- ある点でポテンシャル関数に接線を引く。
- 別の点へ移動する。
- 本当のポテンシャルの値と、接線で予測した値の差を見る。
この差が Bregman divergence です。
指数型分布族というよく使われる確率分布のクラスでは、KL divergence がこの Bregman divergence として表れます。
Bernoulli の場合、 側で見ると、
は「 のところで引いた接線から、 のところの がどれくらい浮いているか」として読めます。
これはかなり美しい事実です。
確率分布の説明のズレである KL が、幾何学的には「ポテンシャル関数と接線のズレ」として見えるからです。
ここで、双対座標、ポテンシャル関数、Legendre 変換、KL が一つにつながります。
- と は、同じ分布を 2 つの座標で見るためのもの。
- と は、それぞれの座標側のポテンシャル関数。
- Legendre 変換は、 と をつなぐ変換。
- KL は、ポテンシャル関数の接線からのズレとして見える。
この 4 つは別々の話ではありません。同じ構造の違う顔です。
実験パネルで双対構造を読む手順
ここまでの話を、実験パネルで確認してみます。
まず統計モデルを Bernoulli にしてください。
点 を 0.2 にします。点 はいったん気にしなくて大丈夫です。
このとき、 は 0.2 になります。これは表が出る確率そのものです。
一方、 は負の値になります。なぜなら、表より裏のほうが出やすいからです。
次に、点 を 0.5 にします。
このとき、 は 0.5 です。 は 0 になります。表と裏が同じくらい出やすいので、偏りがないからです。
次に、点 を 0.8 にします。
このとき、 は 0.8 です。 は正の値になります。表のほうが出やすいからです。
つまり、 は確率そのものとして読みやすい座標で、 は偏りの強さとして読みやすい座標です。
次に「ψ / φ Legendre」の欄を見ます。
そこには、
に対応する値が表示されています。対応する と を使っているので、この値は 0 に近くなります。
これは、 と が Legendre 変換で正しく対応していることを表しています。
最後に「KL = Bregman」の欄を見ます。
点 と点 を離すと、KL の値が大きくなります。同時に、Bregman divergence として見た値も同じになります。
ここで起きていることを言葉にすると、こうです。
点 のところでポテンシャル関数に接線を引く。
点 まで移動する。
本当のポテンシャルの値と、接線で予測した値の差を見る。
その差が KL と対応する。
この流れを一度つかむと、双対座標、ポテンシャル関数、Legendre 変換、KL がひとつの絵として見えてきます。
もう一度、3 つの関係だけ抜き出す
双対座標まわりは情報量が多いので、ここで一度かなり短くまとめます。
まず、 と は同じ点の 2 つの座標です。
Bernoulli では、、 です。
次に、 と は 2 つのポテンシャル関数です。
は 側、 は 側の関数です。
そして、微分すると反対側の座標が出ます。
最後に、 と は Legendre 変換でつながります。
この 3 つだけをまず覚えれば大丈夫です。
「2 つの座標がある」「それぞれにポテンシャルがある」「ポテンシャルを微分すると反対側に行ける」。
これが情報幾何学の双対構造の入口です。
まっすぐにも種類がある
ふつうの平面では、2 点を結ぶまっすぐな線はひとつです。
でも、確率分布の空間では、「どの座標でまっすぐ見るか」によって道が変わります。
代表的なのが e 測地線と m 測地線です。
m 測地線は、確率そのものをまっすぐ混ぜる道です。
のときは 、 のときは です。 なら、ちょうど半分ずつ混ぜた分布になります。
これはかなり自然です。2 つの袋に入ったくじを混ぜるようなイメージです。
一方、e 測地線は自然パラメータ のほうでまっすぐ進む道です。
同じ点 から点 へ向かっていても、 の世界でまっすぐなのか、 の世界でまっすぐなのかで、途中の通り方が変わります。
実験パネルで点 と点 を離してみてください。m-mid と e-mid の値が少し違うはずです。これは「まっすぐ」がひとつではないことを表しています。
α 接続は、まっすぐの見方を動かすつまみ
実験パネルには 接続のスライダーがあります。
に近いと e 接続寄り、 に近いと m 接続寄りです。 はその中間にある Levi-Civita 接続に対応します。
接続という言葉も難しいですが、最初は「点が変わったときに、ベクトルをどう比べるかを決めるルール」と思えばよいです。
ふつうの平面では、場所を変えても座標の向きは変わりません。だから、ある点にある矢印を別の点へスライドしても、同じ矢印として見られます。
でも曲がった空間や、確率分布の空間では、場所によってものさしや座標の意味が変わります。そこで「このルールで比べましょう」と決める必要があります。それが接続です。
平行移動は「矢印をどう運ぶか」
点だけでなく、点から出る矢印も考えましょう。
この矢印は「その点から、どちらへ少し動くか」を表します。幾何学では接ベクトルと呼びます。
Bernoulli 分布なら、 を増やす向きや減らす向きが接ベクトルです。たとえば は、「 を少し増やす方向」と考えられます。
では、点 にある矢印を、点 まで運ぶとどうなるでしょうか。
ふつうの平面なら、矢印をそのまま平行にスライドすればよさそうです。
でも、確率分布の空間ではそう単純ではありません。 の座標で見た矢印の成分を保つのか、 の座標で見た矢印の成分を保つのかで、運ばれたあとの矢印が変わります。
実験パネルでは、始点接ベクトル を入力できます。
- e 接続では、 側で見た成分を保つように運びます。
- m 接続では、 側で見た成分を保つように運びます。
- 接続では、その中間の見方で運びます。
ここで大事なのは、「矢印を同じまま運ぶ」と言っても、何を同じとみなすかは空間の構造によって変わるということです。
これは情報幾何学らしい感覚です。確率分布の空間では、ただ点が並んでいるだけではなく、点ごとにものさしがあり、座標があり、矢印の運び方があります。
Normal や Poisson に切り替えてみる
実験パネルの統計モデルを切り替えると、Bernoulli 以外も見られます。
Normal は正規分布です。平均 と標準偏差 で分布が決まります。学校で見る釣鐘型の曲線を思い出すとよいです。
Poisson は、一定時間内に何回起きるかを表す分布です。たとえば、ある時間に来るリクエスト数や、ある区間で起きるイベント数のモデルとして使われます。
Categorical 3 は、3 つの選択肢の確率分布です。これは三角形の中の点として見るとわかりやすいです。
モデルを切り替えると、点の座標や Fisher 計量、双対座標、測地線の表示も変わります。情報幾何学は、ひとつの分布だけではなく、いろいろな確率分布の族を同じ考え方で眺めようとします。
なぜ機械学習と関係するのか
機械学習では、確率分布がよく出てきます。
たとえば、画像分類モデルが「この画像は猫である確率が 0.8、犬である確率が 0.1、鳥である確率が 0.1」と予測したとします。これは 3 つの選択肢に対する確率分布です。
学習とは、かなり大ざっぱに言えば「データに合う確率分布へ近づくように、モデルを動かすこと」です。
このとき、確率分布の空間がどんな形をしているのか、どの方向に動くと分布がどれくらい変わるのか、どのものさしで近さを見るのかが重要になります。
情報幾何学は、そこに言葉と道具を与えてくれます。
- KL divergence は、分布のズレを見る。
- Fisher 計量は、その場所での変化の大きさを見る。
- 双対座標は、同じ分布を 2 つの見方で見る。
- e/m/α 接続は、まっすぐ進むことや矢印を運ぶことのルールを決める。
機械学習の最適化で出てくる natural gradient も、この Fisher 計量の考え方と関係しています。ふつうの勾配が「パラメータの座標上で急な方向」を見るのに対して、natural gradient は「確率分布として自然に大きく変わる方向」を見ようとします。
ここまで来ると少し専門的ですが、入口の直感は変わりません。
モデルを学習するとは、確率分布の地図の上を動くことです。
最尤推定を地図の上で見る
ここからは、もう少し続きを書きます。
情報幾何学を機械学習につなげるとき、最初に見るとよいのが最尤推定です。
最尤推定という言葉は難しく聞こえますが、考え方はかなり自然です。
「このデータが出やすいような確率分布を選ぼう」
これが最尤推定です。
たとえば、コインを 10 回投げて、表が 8 回、裏が 2 回出たとします。このデータを見たら、普通のコイン よりも、表が出やすいコイン くらいを選びたくなります。
なぜなら、 のほうが「表 8 回、裏 2 回」というデータを自然に説明できるからです。
この「データをどれくらい自然に説明できるか」を尤度と呼びます。
尤度が大きい分布ほど、観測されたデータをうまく説明しています。
機械学習では、尤度をそのまま最大化する代わりに、負の対数尤度を小さくする形で書くことがよくあります。
これは「データを説明する苦しさ」と思うとよいです。小さいほど、データをうまく説明しています。
ここで KL とつながります。
データがたくさんあると、データから見える経験分布があります。たとえば、10 回中 8 回表なら、経験分布はだいたい です。
モデルが を出しているなら、経験分布 から見るとズレています。
このズレを小さくすることは、KL を小さくすることに近いです。
つまり、学習とは「データが示す分布に近づくように、モデルの分布を動かすこと」と見られます。
この見方をすると、機械学習は確率分布の地図の上の移動になります。
クロスエントロピーも同じ景色に入る
画像分類や言語モデルでは、クロスエントロピーという損失関数がよく使われます。
たとえば、正解が猫で、モデルが次のように予測したとします。
これは「猫である確率が 0.8」と言っている確率分布です。
もし正解が猫なら、この予測はそこそこ良いです。もしモデルが、
と予測していたら、犬に強く寄っているので悪い予測です。
クロスエントロピーは、正解の分布を、モデルの分布で説明したときの苦しさです。
正解が猫であることを、モデルが高い確率で猫と言っていれば小さくなります。低い確率しか出していなければ大きくなります。
ここでも、「本当の分布を、別の分布で説明する」という KL と似た構図が出ています。
実際、正解分布側のエントロピーが固定されている場合、クロスエントロピーを小さくすることは KL を小さくすることと同じ方向を向きます。
だから、情報幾何学の言葉で見ると、クロスエントロピーによる学習も「確率分布の空間で、よい点へ近づく」操作として見られます。
Softmax の出力は確率単体の点
ニューラルネットワークの分類モデルでは、最後に softmax を使うことがよくあります。
softmax は、いくつかのスコアを確率に変換します。
たとえば、モデルの最後の層が次のようなスコアを出したとします。
これはそのままでは確率ではありません。足しても 1 にならないし、負の値もあります。
softmax を通すと、これが次のような確率に変わります。
このように、softmax の出力は確率分布です。
3 クラス分類なら、softmax の出力は 3 つの確率です。そして 3 つの確率を足すと 1 になります。
つまり、softmax の出力は確率単体の中の点です。
実験パネルの Categorical 3 は、このイメージに近いです。点が三角形の中を動きます。
モデルが学習するたびに、softmax の出力は三角形の中を少しずつ動いていきます。正解に近い頂点へ向かうこともあれば、複数のクラスの間で迷うこともあります。
このとき、確率単体の上での動き方を考えると、分類モデルの学習も情報幾何学の言葉で眺められます。
普通の勾配と natural gradient の違い
機械学習では、勾配降下法がよく出てきます。
勾配降下法は、損失関数が小さくなる方向へパラメータを少し動かす方法です。
山の上で、いちばん下りやすい方向へ一歩ずつ進むイメージです。
でも、ここで注意が必要です。
パラメータ空間で同じ大きさの一歩を踏んでも、確率分布として同じ大きさだけ動くとは限りません。
たとえば、Bernoulli 分布で の近くを 動くのと、 の近くを 動くのでは、確率分布としての意味が違うと話しました。
普通の勾配降下法は、基本的にはパラメータの座標上で見た急な方向を使います。
しかし、情報幾何学の立場では、確率分布として自然な方向に動きたいです。
そこで出てくるのが natural gradient です。
natural gradient は、Fisher 計量を使って、確率分布の空間に合った勾配を作ります。
かなりざっくり言うと、普通の勾配は「座標の紙の上で急な方向」を見ます。natural gradient は「確率分布の地形の上で自然に急な方向」を見ます。
もし座標が歪んでいたら、紙の上でまっすぐ進んでも、実際の地形では変な方向へ進むかもしれません。natural gradient は、その歪みを補正しようとします。
この考え方は、情報幾何学が機械学習に入ってくる代表的な場所です。
何が「自然」なのか
natural gradient の「natural」は、気分の問題ではありません。
ここで言う自然とは、確率分布としての変化を基準にしている、という意味です。
同じモデルでも、パラメータの取り方は変えられます。
Bernoulli 分布なら、 で表すこともできますし、 で表すこともできます。
もし学習方法がパラメータの取り方に強く依存してしまうと、同じ確率分布を扱っているのに、座標の選び方だけで動き方が変わりすぎてしまいます。
情報幾何学では、座標そのものよりも、確率分布としての点を大事にします。
だから、Fisher 計量を使って「分布としてどれくらい変わったか」を測り、その空間に合った方向を選ぼうとします。
これが natural gradient の直感です。
高校生向けに言い換えるなら、こうです。
普通の勾配は、地図上のマス目を見て歩く。
natural gradient は、実際の地形の伸び縮みも考えて歩く。
どちらも下りたい方向を探しています。ただし、見ているものさしが違います。
接続は、学習の「方向」を比べるためにも必要
ここで、接続と平行移動の話も機械学習へ少しつながります。
学習では、ある時点のパラメータから次の時点のパラメータへ移動します。
そのとき、「前の点での勾配」と「次の点での勾配」を比べたい場面があります。
でも、厳密には、それらの勾配ベクトルは別々の点にあります。
ふつうの平面なら、別々の点にある矢印でも簡単に比べられます。座標の向きがどこでも同じだからです。
しかし、曲がった空間では、別々の点にある矢印をそのまま比べることはできません。
そこで、ある点の矢印を別の点へ運ぶルールが必要になります。
それが平行移動であり、その背後にあるのが接続です。
情報幾何学で e 接続や m 接続が出てくるのは、確率分布の空間では「何を同じ向きとみなすか」が一通りではないからです。
側の成分を保つなら e 接続。
側の成分を保つなら m 接続。
その間を動かすなら 接続。
こう考えると、接続は単なる難しい記号ではなく、「違う場所にある矢印を比べるための約束」だとわかります。
この実験パネルで次に試す順番
ここまで読んだら、実験パネルで次の順番に試すと理解しやすいです。
まず Bernoulli のまま、点 を 0.2、0.5、0.8 に変えます。
はそのまま変わり、 は負、0、正に変わります。ここで「 は確率そのもの、 は偏り」という感覚を確認します。
次に、点 と点 を離します。
KL が大きくなります。これは、2 つの分布が互いに説明しにくくなるからです。
次に「KL = Bregman」を見ます。
KL が、ポテンシャル関数と接線のズレとしても読めることを確認します。
次に 接続を動かします。
、、 で、-mid の値が変わることを見ます。これは、まっすぐの見方が変わっているということです。
最後に、始点接ベクトル を変えます。
移動経路を e 測地線、m 測地線、 測地線に切り替えて、表示中の移動後ベクトルが変わることを見ます。
この順番で触ると、記事の流れとパネルの表示が対応します。
次に学ぶなら何を見るか
この記事は入口なので、まだ厳密な定義までは踏み込んでいません。
次に学ぶなら、次の順番がよいと思います。
まず、指数型分布族をもう少し丁寧に見ることです。
Bernoulli、Categorical、Poisson、Normal が同じ形で書けることを見ると、、、 がなぜ自然に出てくるのかがわかりやすくなります。
次に、Fisher 計量を「対数尤度の 2 回微分」や「スコア関数の分散」として見ることです。
ここまで来ると、Fisher 計量がただの謎のものさしではなく、統計モデルの感度を表していることが見えてきます。
その次に、KL divergence と Bregman divergence の対応をもう少し式で追うとよいです。
最後に、e 接続、m 接続、 接続を、双対平坦構造として見ると、情報幾何学らしい全体像に近づきます。
検定へ進むなら、次は推定から検定へ進む前にで、推定、帰無仮説、統計量、p 値を整理するとつながりやすいです。
一気に全部やる必要はありません。
まずは、確率分布を点として見る。
次に、その点が集まった空間を多様体として見る。
その次に、接ベクトル、ベクトル場、Fisher 計量で「動き方」を見る。
さらに、2 つの座標をポテンシャル関数でつなぐ。
最後に、KL や接続が同じ地図の上に乗っていることを見る。
この順番なら、かなり遠くまで進めます。
最初に混乱しやすいところ
情報幾何学は、最初にいくつか混乱しやすい点があります。
まず、KL は距離ではありません。距離のように「近さ」を見るために使えますが、向きを入れ替えると値が変わります。
次に、計量は座標そのものではありません。座標は点の表し方で、計量はその点で矢印の長さや角度を測るルールです。
また、接ベクトルとベクトル場も別物です。接ベクトルはひとつの点にある矢印で、ベクトル場は各点に矢印を置いたものです。
その次に、 と は別々の分布ではありません。同じ分布を別の座標で見ています。地図で言えば、同じ場所を緯度経度で見るか、別の座標系で見るかの違いです。
また、e 測地線と m 測地線は、どちらが正しいという話ではありません。どの座標でまっすぐ見るかが違うだけです。
最後に、平行移動も「矢印をそのまま置く」だけではありません。何を保つか、どの接続を使うかによって、運ばれた矢印は変わります。
このあたりは、記号だけ読むとかなり難しいです。だからこそ、実験パネルで値を動かしながら見るのが役に立ちます。
今日のまとめ
情報幾何学は、確率分布を図形として見る考え方です。
コイン投げなら、表が出る確率 を決めるたびに、ひとつの確率分布が決まります。その分布を点として見ると、確率分布の空間ができます。
その空間では、ふつうの平面と同じように、近さ、ものさし、座標、まっすぐな道、矢印の運び方を考えられます。ただし、それらはふつうのユークリッド空間とは少し違います。
多様体は、近くを見ると座標で表せる空間です。接ベクトルは、その点から少し動く方向です。ベクトル場は、各点に矢印を置いたものです。
KL は説明のズレを測ります。Fisher 計量は場所ごとのものさしです。 と は同じ分布を見る 2 つの座標です。e 測地線と m 測地線は、違う意味でのまっすぐです。平行移動は、矢印を別の点へ運ぶためのルールです。
最初の理解は、これで十分です。
情報幾何学は、確率をただの数字や式として扱うのではなく、地図として眺めるための考え方です。その地図があると、統計や機械学習で起きていることを、少し違う角度から見られるようになります。
次に読む
この記事の前提や続きを確認したい場合は、関連する記事と用語集をあわせて読むと全体像を追いやすくなります。