情報エントロピー、相互エントロピー、KL 発散公式の簡単な理解

追記:私は機械学習が好きではありません

1 情報量

時間の尺度が秒であるのと同じように、情報量は情報の尺度です。離散確率変数 x を考えるとき、この変数の特定の値を観察すると、どのくらいの情報が得られるでしょうか?

例えば、東から太陽が昇る音を聞いても、それは避けられない出来事なので、私たちに伝わる情報量はゼロです。大手メーカーから内定通知が来たとき、前兆がなければ情報量が膨大です。

たとえば、コイントス ゲームでは、表と裏の 2 つの可能性があり、表を表すには H を使用し、裏を表すには文字 T を使用できます。HやTの情報を他の人に伝えることで、その場にいない人にゲームの結果を伝えますが、もちろん裏を0、表を1として伝えることもできます。

コンピューターでは、1 つのビット単位が 2 つの可能性を表すことは誰もが知っています。言い換えれば、1 つのビット単位を使用してコイン投げゲームの結果を記述し、他の人に伝えることができます。この情報は、2 つの状況でどちらの側が現れるかの不確実性を取り除くのに役立ちます。

ゲームをして二人の間にバリアを張りましょう、このバリアは0か1の電気信号しか伝わりません。バリアの両端に 2 人がいます。A と B としましょう。A は、A、B、C、D の文字からランダムに 1 文字を取り出し、0 と 1 の組み合わせから文字 A を抽出します。 . A の情報はバリアを介して B に伝えます。 、情報を転送するには 2 ビットが必要です。たとえば、00 は A を表し、01 は B を表し、10 は C を表し、11 は D を表します。つまり、2 ビットの情報が必要です。

log ⁡ 2 2 = 1 log ⁡ 2 4 = 4 log ⁡ 2 8 = 3 \begin{aligned} \log_2 2 = 1 \\ \log_2 4 = 4 \\ \log_2 8 = 3 \end{aligned}ログ_22=1ログ_24=4ログ_28=3

上記のイベントにおけるすべての等確率のイベントの数は、底 2 の対数として取得されます。これは、まさにこのイベントの結果を伝えるために必要な信号の数です。

システムに存在する可能性のあるイベントが多いほど、イベントを記述するために必要なビット数も多くなります。ここで想定されている同様の確率のイベントは、いくつかの連続する 2 つの乗算で表すことができます。では、結果が 10 の可能性のある確率イベントであるランダムなイベントの情報量はどのように表現されるべきでしょうか?

4 ビット情報を使用して 10 の可能性を表すことができますが、ここでは 6 ビットが無駄になります。もちろん、log ⁡ 2 10 ≈ 3.33 log⁡_2^{10}≈ 3.33ログ _ _210情報を送信するには3.33ビット。上記の例を通じて、情報量の公式を導き出すことができます。

情報量は、システム内で発生する可能性のあるイベントが多いほど、イベントの 1 つを送信するために必要な情報量が多くなるという事実を表します。起こり得るイベントが多ければ多いほど、どのイベントが発生するかについての不確実性は大きくなります。

h ( x ) = log ⁡ MS = k B ln ⁡ Ω \begin{aligned} h(x) &=\log M \\ S &= k_B\ln \Omega \end{aligned}h ( x )S=ログ_M=kBlnおお

ここで、Ω系の微小状態の数は系内の等確率事象の数に相当するので、不確実性を測る情報量を情報量と呼ぶことができる

しかし、私たちがこれまで研究してきたシステムは、確率が等しいイベントから構成されており、理想的なシステムとみなすことができますが、実際には、システムは異なる確率のイベントから構成されていることがほとんどです。

実際、確率事象を等確率事象系で起こる事象の確率に変換することができます。つまり、確率イベントは、N 個のボールから特定のボールを取り出す確率など、常に N 個の等しい確率イベントに変換できます。たとえば、宝くじに当たる確率は 2kw に 1 つで、これは 2kw から当たり玉を引く確率であるため、1 を確率値 p で除算すると、同じ確率の数が得られます上式によれば、情報量の確率表現は次のように得られます。

h ( x ) = log ⁡ 1 / ( 1 / M ) = − log ⁡ 1 / M = − log ⁡ 2 p ( x ) \begin{aligned} h(x) &=\log 1/(1/M) \\ &=-\log 1/M \\ &=-\log_2 p(x) \end{aligned}h ( x )=ログ_1/ ( 1/メートル)=ログ_1/=ログ_2p ( x )

つまり、ある事象について、その発生確率が小さいほど情報量は多くなり、発生確率が大きいほど情報量は少なくなる(下限は0以上)。上式のp ( x ) p(x)p ( x )はランダムなイベントxxxの確率

ここから、ある事象の確率が 100% である場合、その情報量は 0、つまり、決定された情報は伝達する価値がないという事実がわかります

2 情報エントロピー

コインを投げる例を考えてみましょう。コインを投げたときに表が出る確率をp、裏が出る確率をqとします。これら 2 つの確率事象をそれぞれ等確率系に変換し、1/の等確率系に変換します。 p1/qの量を使用するため、これら 2 つの等確率系の情報量は次のように簡単に計算できます。

− log ⁡ 2 p 、− log ⁡ 2 q -\log_2 p、-\log_2 qログ_2p ログ_2q

次に、 2 つの等確率システムの出現確率テーブルをそれぞれ乗算し、その合計が現在のシステムの期待情報量になります。これが情報エントロピーの公式です。

H ( X ) = − ∑ j = 1 np ( x 1 ) log ⁡ p ( xi ) H(X)=-\sum_{j=1}^np(x_1)\log p(x_i)H ( X )=j = 1p ( x1)ログ_p ( x私は)

情報量は特定のイベントの発生によってもたらされる情報を測定しますエントロピー結果が出るまでに生成される可能性のある情報量の期待値です。確率変数のすべての可能な値を考慮します。起こり得るあらゆる出来事によってもたらされる情報、これからもたらされる情報の量への期待。率直に言うと、情報エントロピーは情報量の数学的期待値です。

情報エントロピーの意味

光の速度が物理世界の速度の限界となるのと同じように、情報エントロピーは通信の限界を示します。あるいはデータ圧縮効率の限界。この限界を突破しようとするあらゆる試みは無駄になります。さまざまな情報が考えられるため、送信や保存のためにデータをエンコードして圧縮できます。

3 クロスエントロピー

情報理論では同じイベント尺度に基づく 2 つの確率分布 p と q のクロス エントロピーは、 (「実際の」分布 p と比較して) 「不自然な」確率分布 q に基づく場合のクロスエントロピーを指します。イベントのコレクション内のイベントを一意に識別するために必要なビット数

2 つの確率分布pおよびq が与えられると、qに対するpのクロス エントロピーは次のように定義されます。

H ( p , q ) = E p [ − log ⁡ q ] = H ( p ) + DKL ( p ∣ ∣ q ) H(p,q)=E_p[-\log q]=H(p)+D_{ KL}(p||q)H ( p ,q )=Ep[ ログ_q ]=H ( p )+DKL _( p ∣∣ q )

ここで、H ( p ) H(p)H ( p )はppですpのエントロピーDKL ( p ∣ ∣ q ) D_{KL}(p||q)DKL _( p ∣∣ q )はppからのものですpqqqの KL 発散ppqqに対するpqの相対エントロピー

離散分布の場合pppqqq、これは次のことを意味します。

H ( p , q ) = − ∑ xp ( x ) log ⁡ q ( x ) H(p,q)=-\sum_x p(x) \log q(x)H ( p ,q )=バツp ( x )ログ_q ( x )

連続分布についても同様です。ppと仮定しますpqq小節rrのqはr上で絶対連続ですrrはボレルσ代数のルベーグ測度です)。PPさせてくださいPQQQはそれぞれpppqqq はメジャー r の確率密度関数です。しかし:

− ∫ XP ( x ) log ⁡ Q ( x ) dr ( x ) = E p [ − log ⁡ Q ] -\int_X P(x)\log Q(x)dr(x)=E_p[-\log Q]×P ( × )ログ_Q ( x ) d r ( x )=Ep[ ログ_Q ]

ほとんどの場合、分布pのクロスエントロピーは、その分布を知ることなく計算されます。たとえば、言語モデルでは、トレーニング セット T に基づいて言語モデルが作成され、モデルの精度はテスト セット上のクロス エントロピーによって評価されます。p はコーパス内の単語の真の分布であり、q は取得された言語モデルによって予測された単語の分布です。真の分布は不明であるため、クロスエントロピーを直接計算することはできません。この場合、クロスエントロピーは次のように推定できます。

H ( T , q ) = − ∑ i = 1 N 1 N log ⁡ 2 q ( xi ) H(T,q)=-\sum_{i=1}^N \frac{1}{N} \log_2 q (x_i)H ( T q )=i = 1NN1ログ_2q ( x私は)

Nはテスト セットのサイズ、q(x)はトレーニング セットで発生するイベントxの推定確率です。トレーニング セットが p(x)** の真のサンプルであると仮定すると、このメソッドは真のクロスエントロピーのモンテカルロ推定を取得します。

4KL発散式

KL ダイバージェンスの概念は、確率理論と情報理論から来ています。KL ダイバージェンスは、相対エントロピー、相互エントロピー、判別情報、カルバック エントロピー、カルバック ライブルダイバージェンス (KL ダイバージェンスの略語) としても知られています。機械学習と深層学習の分野では、KL 発散は変分オートエンコーダー (VAE と呼ばれる variational AutoEncoder)、EM アルゴリズム、および GAN​​ ネットワークで広く使用されています。

KL ダイバージェンスの定義はエントロピーに基づいています。ここでは、離散確率変数を例として、エントロピーの定義が最初に与えられ、次に KL 発散の定義が与えられます。

離散確率変数 X の取り得る値がX = { x 1 , x 2 , ⋯ , xn }の場合バツ={ ×1バツ2バツ}、対応する確率はpi = p ( X = xi ) p_i=p(X=x_i)p私は=p ( X=バツ私は)の場合、確率変数 X のエントロピーは次のように定義されます。

H ( X ) = − ∑ i = 1 np ( xi ) log ⁡ p ( xi ) H(X)=−\sum_{i=1}^np(x_i)\log p(x_i)H ( X )=i = 1p ( x私は)ログ_p ( x私は)

注:p(xi)=0のとき、p(x_i)=0と規定されています。p ( x私は)=0のとき、p ( xi ) log ⁡ p ( xi ) = 0 p(x_i) \log p(x_i)=0p ( x私は)ログ_p ( x私は)=0

2 つの確率変数P と Qがあり、それらの確率分布がそれぞれp(x)q(x)である場合、q に対する p の相対エントロピーは次のようになります。

DKL ( p ∣ ∣ q ) = ∑ i = 1 np ( x ) log ⁡ p ( x ) q ( x ) DKL(p||q)=\sum_{i=1}^np(x)\log\frac {p(x)}{q(x)}DK L ( p ∣∣ q )=i = 1p ( x )ログ_q ( x )p ( x )

2 つの確率変数の交差エントロピー (Cross-Entropy) と情報エントロピーから導出できるため、相対エントロピーと呼ばれます。

上記の離散変数 **p(x)、q(x)** の確率分布の場合、クロス エントロピーは次のように定義されます。

H ( p , q ) = ∑ xp ( x ) log ⁡ 1 q ( x ) − sumxp ( x ) log ⁡ q ( x ) \begin{aligned} H(p,q)&=\sum_x p(x) \ log \frac{1}{q(x)} \\ &-sum_x p(x) \log q(x) \end{aligned}H ( p ,q )=バツp ( x )ログ_q ( x )1うーん_ _×p ( x )ログ_q ( x )

情報理論では、クロス エントロピーは、予測分布 q(x) を真の分布 p(x) でエンコードするために必要な情報量と考えることができます

したがって、KL 発散または相対エントロピーは次のようにして求めることができます。

DKL ( p ∥ q ) = H ( p , q ) − H ( p ) = − ∑ xp ( x ) log ⁡ q ( x ) − ∑ x − p ( x ) log ⁡ p ( x ) = − ∑ xp ( x ) ( log ⁡ q ( x ) − log ⁡ p ( x ) ) = − ∑ xp ( x ) log ⁡ q ( x ) p ( x ) \begin{aligned} D_{KL}(p \| q) & =H(p, q)-H(p) \\ & =-\sum_{x} p(x) \log q(x)-\sum_{x}-p(x) \log p(x) \ \ & =-\sum_{x} p(x)(\log q(x)-\log p(x)) \\ & =-\sum_{x} p(x) \log \frac{q(x )}{p(x)} \end{整列}DKL _( p q )=H ( p ,q )H ( p )=バツp ( x )ログ_q ( x )バツp ( x )ログ_p ( x )=バツp ( x ) ( log _q ( x )ログ_p ( x ))=バツp ( x )ログ_p ( x )q ( x )

KL ダイバージェンスをさまざまな角度から解釈する

  • 統計的な意味での KL 発散: 統計的な意味では、KL 発散は2 つの分布間の差異の程度を測定するために使用できます。2 つの差が小さい場合、KL 発散は小さくなり、その逆も同様です。2 つの分布が一貫している場合、KL 発散は 0 になります。KL ダイバージェンスは 2 つの分布間の差を測定できるため、VAEEM、およびGAN​​ で使用されます。
  • 情報理論の観点から見た KL 発散: 情報理論における KL 発散の専門用語は、相対エントロピーです。これは、情報をエンコードするためにエンコード システムが必要とする追加情報の平均量として理解できます。情報量の単位は計算式におけるログ演算の根拠により変わります。

ログの底は 2: 単位はビット (bit)
ログの底は e: 単位は nat

参考:
https://blog.csdn.net/qq_40714949/article/details/120503277
https://juejin.cn/post/7024393012650180644
http://www.ttshitu.com/news/53cb16eba9a046f58c57b2a3b06763ad.html
https://www.wikiwand.com/zh-hans/%E4%BA%A4%E5%8F%89%E7%86%B5
https://hsinjhao.github.io/2019/05/22/KL-DivergenceIntroduction/

おすすめ

転載: blog.csdn.net/mengjizhiyou/article/details/130611947