"機械学習","信号解析","ディープラーニング"の勉強

HELLO CYBERNETICS

深層学習、機械学習、強化学習、信号処理、制御工学などをテーマに扱っていきます

エントロピーからKLダイバージェンスまでの話

 

 

情報理論でエントロピーなる概念を導入し、情報量を定式化したことを前回の記事で紹介しました。

s0sem0y.hatenablog.com

 

機械学習ではパラメトリックな推定を行う際に真の確率分布p(x)をq(x|θ)で表現するために、KLダイバージェンスKL(p(x)||q(x|θ))を最小化する問題に帰着させます。

KLダイバージェンスの性質が確率分布の隔たりを表現できると考えられるため、このような学習則が用いられ、実際にKLダイバージェンスの最小化は、尤度の最大化と数学的に一致しますから尤もらしい推定を行っていると言えます。

今回はこれを情報量なる観点から見なおして、元々の定義であるエントロピーの立場から、確率分布を近似する有効な手法であることを見ていきます。KLダイバージェンスは相対エントロピーと呼ばれる概念と同等のものであり、相対エントロピーの最小化が最尤推定に一致するわけですが、では他のエントロピーの概念を使えば、ちょっと違う視点の推定が行えそうだというのはいうまでもありません。

 

 

 KLダイバージェンス

KLダイバージェンスの定義

確率変数xに関して確率分布p(x)とq(x)のKLダイバージェンスは

 

 KL(p(x)|q(x))=-\int p(x) {\rm log} ({\frac{q(x)}{p(x)}) }dx

 

と表記されます。

KLダイバージェンスの性質

 

 KL(p|q)  {\geq}  0

 

 KL(p|q) = 0 は p=q のときに成り立ち、かつそのときに限る

KLダイバージェンスの応用上の意義

冒頭で紹介した通り、この値が小さければ小さいほどp(x)とq(x)は似ているということです。つまり真の分布がp(x)だとしたら、q(x|θ)という確率分布を準備して、θを色々変えてKLダイバージェンスを計算してみて、値が小さくなるようにq(x|θ)を選べば、p(x)を近似できたことになります。

性質からも明らかな通り、p=qになるにはKLダイバージェンスが0にならなければならず、この0に近づいていくようにqを選ぼうというわけです。しかも必ずKLダイバージェンスは正の値を取るので、あたかもpとqの距離を測っているかのように感じます。

ただ一般的には

 

 KL(p|q){\neq}KL(q|p)

 

であるため、「距離」という概念とは違うものであるとされます。普通、a地点の距離とb地点の距離を測っても、b地点とa地点の距離を測っても結果は同じで、順序に意味はないはずですが、KLダイバージェンスの場合はどちらからどちらに値を測るかで結果が変わってくるのです。

しかし、いきなりKLダイバージェンスの数式が与えられ、そしてその性質を見たとしても、そもそもどこからこの数式が来たんだ?他の評価方法はないのかという疑問は残るかと思います。

結果的にはこのKLダイバージェンスは統計学における最尤推定と結果が一致することが知られており、やはり妥当な評価基準であることが示されます。

今回は、それはそうとして、このKLダイバージェンスなる数式がどのようにして現れたのかを、情報量、すなわちエントロピーの概念から見ていきます。

 相対エントロピー

エントロピー

確率変数xに関するエントロピーは、その確率分布p(x)を用いて以下の数式で定義されます。

 

 I(p(x)) = -{\int}p(x){\rm log}(p(x))dx

 

この数式は、確率変数xがどんな値になるかを知るときに得られる情報量の期待値を表現しています。このことに関しては記事

情報で出てくるエントロピーとは - "機械学習","信号解析","ディープラーニング"の勉強

を参照してください。

このエントロピーから出発して、KLダイバージェンスなる概念を導出していきます。

エントロピーの違いは、確率分布の違い。情報の送信を例に

まず自分の知っていることを誰かに伝えるという状況を考えます。

その伝えたい事象xの確率分布がp(x)だとして、これを誰かに伝えたいという状況です。もしも素直にこれを誰かに伝えるということを考えれば、情報を受け取る側の得られる情報量の期待値、すなわちエントロピーは

 

 -{\int} p(x) {\rm log} (p(x)) dx

 

です。

さて、今p(x)がかなり複雑な様相をしており、これを伝送路を使って送信したい場合にかなり時間を要するとしましょう。もう少し単純な確率分布q(x)を使って時間短縮をしたいと思います。ここで注意して欲しいのはq(x)は便宜的に用意された偽物の分布であり、実際の情報xは確率分布p(x)に従っているということです。もしも勝手に作ったq(x)でxを送信した場合には、これを受け取った側が得るエントロピーは

 

 -{\int}p(x){\rm log}(q(x))dx

 

になります。

積分の中身のp(x)は、本当の確率であり、 {\rm log}(q(x))は伝えられた情報量になります。そして積分することで期待値を計算しています。

さて、当然ですがこれは本来の確率分布p(x)を使って伝えれたエントロピーとは違うものになっていますね。これは、当然のことながら便宜的に違う確率分布を使ってしまったからにほかなりません。xに関するエントロピーの差は確率分布の違いによるものなのです。

 

相対エントロピー

あなたは情報を受け取った側に、実はp(x)があまりにも送信に時間がかかるから、代わりにq(x)を使って情報を送信してしまったんだと伝えます。情報の受信者は、受け取った -{\int}p(x){\rm log}(q(x))dx本来のエントロピー -{\int} p(x) {\rm log} (p(x)) dxとの差を知りたくなります。これがだいたい同じなのであれば、まあq(x)で送ってきたことを許してあげようということになります。つまり以下の値に興味があるのです。

 

 (-{\int}p(x){\rm log}(q(x))dx)-(-{\int}p(x){\rm log}(p(x))dx)

  

これの第一項は、送られてきた情報に関するエントロピーであり、第二項は本来のエントロピーです。この差があまりに大きいと、全然違うものが送られてきたと考えて差し支えないでしょう。 だからこれは小さければ小さいほど嬉しいです。これはインテグラルの中身を統合してp(x)でくくって、更にlogの性質を使ってまとめられます。

 

-{\int}p(x)({\rm log}(q(x))-{\rm log}(p(x)))dx

 

=-{\int}p(x){\rm log}({\frac {q(x)}{p(x)})}dx

 

これを相対エントロピーと言います。

相対エントロピーは便宜的にq(x)を使って送られてきた際のエントロピーの差と、本来のp(x)によるエントロピーとの差であって、当然この差は便宜的に使われたq(x)がp(x)になるべく近いものであるかが鍵になってきます。エントロピー自体が確率を元に定義されてきたものですから、得られる情報量の期待値が似ているか否かというのが、確率分布そのものが似ているかどうかの議論に繋がるのは直感的にも分かるでしょう。

 

この相対エントロピーの別名がKLダイバージェンスです。

よってKLダイバージェンスは直感的に確率分布pとqが似たものかを判断する指標になりそうなことが分かります。また前述の性質から、実際に(距離とは言えないが)pとqの隔たり具合を評価する指標に実際に使えるということが分かります。

発展的内容

数学的見解とJSダイバージェンス

情報量という概念と数学的性質からKLダイバージェンスが、確率分布の隔たりを表現する指標になりそうなのは間違いありません。

素直に興味のある値を見ていこうとしたときにKLダイバージェンスが得られたのを見てきました。しかし、先にも述べた通りKLダイバージェンスは KL(p|q){\neq}KL(q|p)であり、何か奇妙な感じもします。これは、確率分布の隔たりを表現できそうと言いつつも、先程の例で挙げたp(x)とq(x)が逆だった場合には違う評価が得られるということですから、やはり何か腑に落ちません。しかしそれは数学的な性質であるから認めざるを得ません。応用上は、真の分布なるものは分からないが存在はしていて、適当なそれに近い分布を得られさえすればいいので、例題でいうp(x)は問題ごとに固定されていますから、もしも入れ替わったらという考えは杞憂かもしれません。

しかし、やはり対称性というのは数学のテーマの1つですから、KLダイバージェンスを出発点に様々な概念が考えられるようになります。まずは、「ダイバージェンス」なる概念を定式化します。

 

 D(p|q)  {\geq}  0

 

 D(p|q) = 0 は p=q のときに成り立ち、かつそのときに限る

 

この2つを満たすようなDは、なんでもダイバージェンスと呼ぶことにするのです(ベクトル解析のダイバージェンス div とは別物です。また厳密には条件は3つあるが細かいことなので割愛)。そして、これを満たすようないろいろなDを考案してみて、何かに使えないかということを考えたくなります。

最も単純なのはJSダイバージェンスと呼ばれるものです。JSダイバージェンスは

 

 {\frac {1}{2}}(KL(p|q)+KL(q|p)) 

 

と、KLダイバージェンスを使って定義されます。KLダイバージェンスの性質から、当然JSダイバージェンスも常に正で、p=qならば0となります。第一項と第二項が違う値になってしまうというのが、KLダイバージェンスの気持ち悪いところでしたが、平均を取ってしまうことで、JSダイバージェンスは対称性を獲得しました。

当然、普通に我々が使う「ユークリッド距離」もダイバージェンスの一種です。ダイバージェンスに更に対称性と三角不等式を満たすようにすれば一般的な距離になります。

情報幾何学

このように確率分布の隔たり具合を論じる分野として情報幾何学があります。

確率分布を定めるパラメータを座標上にプロットしたときに、そのパラメータ空間でダイバージェンスを考えることで確率分布の隔たり具合を論じようということです。この世の全ての確率分布を包含できる空間に、個々の分布が存在しており、更にパラメータを介して多様体を構成しているというお話です。その多様体同士のダイバージェンスを論じる際、それぞれの多様体の曲がり具合が違うため、どんなダイバージェンスを用いると良い指標となるのかは異なってきます(つまり何でもかんでも相対エントロピー・KLダイバージェンスじゃダメということ)。

非常に難しい話なので私の手には追えませんが、興味があれば情報幾何学というワードで調べてみてください。