ディープラーニングにおけるMLEとクロスエントロピーの関係はどの程度意味がありますか?


12

一連の独立した観測 が与えられたことを理解してい最尤推定(または、平坦と同等に、MAP /均一前)ことを識別するパラメータ\ mathbf {θ}モデル分布生成 P_ {モデル} \ これらの観測に最もよく一致するleft(\、\ cdot \、; \ mathbf {θ} \ right)は、mO={o(1),...,o(m)}θpmodel(;θ)

θML(O)=pmodel(O;θ)=argmaxθi=1mpmodel(o(i);θ)

または、より便利に

θML(O)=argminθi=1mlogpmodel(o(i);θ)

その役割を参照θML、マルチクラスの深いニューラルネットワークを損失関数を定義する際に再生することができますがこれでθネットワークのトレーニング可能パラメータ(例えば、に相当するθ={W,b})と観測は、入力アクティベーションxと対応する正しいクラスラベルy[1,k]\ mathbf {oのペアです。} ^ {(i)}o(i) = { x(i),y(i) }

pmodel(o(i);θ)pmodel(y(i)|x(i);θ)


私が理解していないのは、これが(ベクトル化された)正しい出力いわゆる「クロスエントロピー」と、ネットワークの対応する出力アクティベーション トレーニング中にエラー/損失を測定する場合、実際に使用されています。関連する問題がいくつかあります。y(i)a(x(i);θ)

H(o(i);θ)=y(i)loga(x(i);θ)


「確率として」のアクティベーション

MLEとクロスエントロピーの関係を確立する手順の1つは、出力アクティベーションを確率であるかのように使用することです。しかし、それらがそうであるか、少なくともがそうであるかは、私には明らかではありません。all

トレーニングエラーを計算する際、具体的には「クロスエントロピー損失」と呼ぶ場合、(アクティベーションを合計して1に正規化した後)と見なされます。

(1)pmodel(o(i);θ)ay(i)(x(i);θ)

または

logpmodel(o(i);θ)=logay(i)(x(i);θ)

書けるように

(3)logpmodel(o(i);θ)=y(i)loga(x(i);θ)

したがって

θML(O)=argminθi=1mH(o(i);θ)

しかし、これは確かに(何かがある程度確率にする一方で、他のアクティベーションに制限はありません。ay(i)(x(i);θML)

その場合、本当にPMFであると言えますか?作るものがありではない彼ら"のような"実際の確率(及び単にで)?ay(i)(x(i);θML)ay(i)(x(i);θML)


分類の制限

上記のMLEをクロスエントロピーと同等にする重要な手順は、(単一ラベルの)マルチクラス学習問題を特徴付けるの「ワンホット」構造に完全に依存しています。他の構造は、からに取得することを不可能にします。y(i)y(i)(1)(3)

MLEの方程式とクロスエントロピーの最小化は、が「ワンホット」である場合に限定されますか? y(i)


さまざまなトレーニングおよび予測確率

予測中、ほとんどの場合、

(2)pmodel(y(i)|x(i);θ)P(argmaxj[1,k]aj(x(i);θ)=y(i))

これにより、トレーニング中に学習された確率とは異なる正しい予測確率が得られます。

ay(i)(x(i);θML)=P(argmaxj[1,k]aj(x(i);θML)=y(i))

これはこれまでに確実に当てはまりますか?それは少なくともほぼ本当ですか?または、ラベル位置での学習されたアクティベーションの値のこの方程式を、学習されたアクティベーションの最大値がそこで発生する確率で正当化する他のいくつかの引数がありますか?


エントロピーと情報理論

上記の懸念事項に対処し、アクティベーションが有効なPMFである(または意味のあるものとして扱うことができる)と仮定しても、計算で クロスエントロピーが果たす役割は問題にならないため、明確ではありません。のエントロピーについて話すことは、なぜ役立つか意味があるのか、シャノンのエントロピーは特定の一種のエンコーディング。ネットワークのトレーニングに使用されているエンコーディングではありません。θMLa(x(i);θML)

MLEに対応するツールを計算するためのツールを(クロスエントロピーの形で)単に提供するのではなく、コスト理論を解釈する上で情報理論的エントロピーはどのような役割を果たしますか?

回答:


5

ニューラルネットは、必ずしも確率を出力として与えるわけではありませんが、これを行うように設計できます。確率として解釈するには、値のセットが負ではなく、合計が1でなければなりません。確率を出力するネットワークの設計は、通常、これらの制約を課す出力層を選択することになります。たとえば、クラスの分類問題では、一般的な選択は単位のsoftmax出力層です。softmax関数は出力を強制的に非負にし、合計を1にします。目の出力部はクラスである確率与え。バイナリ分類問題の場合、もう1つの一般的な選択肢は、ロジスティックで単一の出力ユニットを使用することですkkjjアクティベーション機能。ロジスティック関数の出力は0〜1であり、クラスが1である確率を示します。クラスが0である確率は、暗黙的に1からこの値を引いたものです。ネットワークに隠れ層が含まれていない場合、これらの2つの例は、それぞれ多項ロジスティック回帰ロジスティック回帰に相当します。

クロスエントロピー は、2つの確率分布と差を測定します。クロスエントロピーが識別的分類子の損失関数として使用される場合、および特定のデータポイント)が与えられると、およびはクラスラベルの分布になります。は「真の」分布であり、はモデルによって予測された分布です。典型的な分類問題では、データセットの各入力は、真のクラスを表す整数ラベルに関連付けられています。この場合、我々は、使用経験分布のためH(p,q)pqpqpqp。これは、データポイントの真のクラスに確率1を割り当て、他のすべてのクラスに確率0を割り当てるだけです。は、ネットワークによって予測されたクラス確率の分布です(上記のように)。q

データがiidであり、が経験的分布であり、が予測分布であるとします(番目のデータポイントの場合)。次に、クロスエントロピー損失(つまりデータポイントで平均化されたを最小化することは、データの尤度を最大化することと同じです。証明は比較的簡単です。基本的な考え方は、クロスエントロピー損失がデータポイントの負の対数予測確率の合計に比例することを示すことです。これは、経験的分布の形のため、きれいに抜け落ちます。piqiiH(pi,qi)

クロスエントロピー損失は、より一般的に適用することもできます。たとえば、「ソフト分類」問題では、ハードクラスラベルではなくクラスラベルの分布が与えられます(したがって、経験的分布は使用しません)。ここでは、その場合のクロスエントロピー損失の使用方法について説明します。

質問の他の詳細に対処するには:

さまざまなトレーニングおよび予測確率

アクティベーションが最大の出力ユニットを見つけ、これをクラスラベルと比較しているようです。これは、クロスエントロピー損失を使用したトレーニングでは行われません。代わりに、モデルによって出力された確率が「真の」確率(通常は経験的分布と見なされます)と比較されます。

シャノンエントロピーは、ネットワークのトレーニングに使用されていない特定の種類のエンコーディングに適用されます。

クロスエントロピーは、分布最適なコードを使用している場合、真の分布から引き出されたイベントをエンコードするために(平均して)必要なメッセージあたりのビット数として解釈できます。クロスエントロピーの最小値をとる(のシャノンエントロピー)とき。と一致が良いH(p,q)pqH(p)pq=pqp、メッセージ長が短くなります。クロスエントロピーを最小化するためのモデルのトレーニングは、真の分布をより近似するためのモデルのトレーニングと見なすことができます。私たちが議論してきたような教師あり学習問題では、モデルは、入力が与えられた場合、可能な出力の確率分布を与えます。分布に最適なコードを明示的に見つけることは、プロセスの一部ではありません。


「これは、クロスエントロピー損失を使用したトレーニングでは行われません。」これはTensorFlowのようなAPIとまったく同じsoftmax_cross_entropy_with_logitsです。これらはを計算します 、したがっては、(少なくともラベルの場所で)確率を生成するように「設計された」ネットワークを定義します。番号?argminθi=1mH(o(i);θ)θML(O)
オロメ2017

はい、クロスエントロピーは最小化され、可能性は(少なくとも局所的に)最大化されます。その文では、「トレーニングと予測の確率が異なる」セクションの方程式を参照していました。もう一度見てみると、これらの方程式の意味が明確ではないので、次のように言います各ユニットがクラス確率を与える出力層を使用している場合(たとえば、softmax)。モデルの確率は、トレーニングと予測で同じです。pmodel(y(i)=jx(i);θ)=aj(x(i);θ)
user20160 2017

同じ値が使用されていること、つまり学習されたが予測に使用されていることを理解していますが、それらはさまざまな方法で使用されています。モデルがについて学習する確率は、確かにですが、がトレーニング済みモデルによって予測される確率同じ入力に応じて、は。(2)がtrueでない限り、これらは同じではありません。apmodel(y(i)|x(i);θML)ay(i)(x(i);θML)y(i)x(i)P(argmaxj[1,k]aj(x(i);θML)=y(i))
オロメ

そして(最初の質問)私は、式で定義されている役割のために、(1)、がを最大化する際に、値確率です(理由はsoftmaxの1に追加されることを保証するだけです。しかし、それは他の制約を課しません。(合計が)。したがって、どのようにPMFと見なされるかはわかりません。ay(i)(x(i);θ)pmodel(O;θ)ay(i)(x(i);θML)ajjy(i)1ay(i)a(x(i);θML)
オロメ

最初の質問のポイントを作成する別の方法は、のみがMLプロセスに参加するため、それらのみが確率と見なされることです。また、適切なアクティブ化関数(softmaxなど)は、残りのアクティブ化の合計が確率になることを保証しますが、それらの間の関係には意味がありません。ay(i)
オロメ

3

どのように、いつ、なぜNN出力を確率分布と見なすことができるかという性質について、もう少し一般的な視点から答えます。

ソフトマックスは、出力が1に合計し、非負に強制という意味で、ネットワークの出力は、あるクラス上の離散確率分布、又は少なくともそのようなものとして解釈することができます。したがって、クロスエントロピーと最大尤度について話すことは完全に合理的です。

しかし、あなたが見ている(そしてそれが正しい)と私が思うのは、出力の「確率」は実際の正確性の確率とは何の関係もないということです。これは、キャリブレーションと呼ばれるMLでよく知られている問題です。例えば、あなたの分級場合犬のや猫言う、そして、あなたは例のセット取った場合、その期待すべてがであった場合、入力の約30%が誤って分類されます(これは70%の確信しかなかったため)。fθDCfθ(xi,C)=P(xi=C|θ)=0.7S={xj} P(xj=C|θ)=0.7

ただし、最新のトレーニング方法ではこれがまったく強制されないことがわかります。参照してください現代ニューラルネットワークのキャリブレーションにら郭は、このいくつかの議論を参照してください。

言い換えると、softmaxからの出力の「確率」は、実際のモデルの信頼性とは何の関係もない可能性があります。そして、これは驚きではありません。私たちは正確さを最大化したいだけであり、すべての入力例は、そのターゲットクラスである確率が1です。これを正しくするためにモデルにインセンティブを与えることはほとんどありません。不確実性を推定する必要がない場合、なぜそれが必要なのでしょうか。クロスエントロピーはこの問題を修正しません。確かに、あなたはそれを毎回デルタ関数に行くように言っています!

ベイジアンニューラルネットワークに関する最近の多くの研究が、この問題の修正に努めています。そのようなモデルは、データ与えられたパラメーターの分布を使用します。これを統合して、実際の確率分布を取得できます。これは、有用な不確実性測定とより良い校正を保証するのに役立ちます。ただし、計算上は問題が多くなります。P(θ|X)=P(X|θ)P(θ)/P(X)P(yi|xi,X)=P(yi|θ,xi)P(θ|X)dθ

うまくいけば、私はあなたの質問を誤解していませんでした!


関連する素晴らしい作品:arxiv.org/abs/1711.01297
user3658307

0

フィードフォワードニューラルネットワークは、適切にトレーニングされている場合、真のクラス確率を近似します。

1991年に、Richard&Lippmannは、フィードフォワードニューラルネットワークが{0,1}クラス指標のターゲットパターンでトレーニングされると、事後クラス確率に近づくことを証明しました[ Richard MD、&Lippmann RP(1991)。ニューラルネットワーク分類器は、ベイジアンの事後確率を推定します。神経計算、3、461-483。]。証明の行では、1つの非表示のレイヤーフィードフォワードニューラルネットワークを使用しています。

Duda&Hartの数学的注釈[ Duda RO&Hart PE(1973)Pattern Classification and Scene Analysis、Wiley ]で、フィードフォワードニューラルネットワークへの入力ベクトルとして提供される特徴分布を、たとえば、4つの特徴変数を持つ分類タスクの場合、データベクトルはと等しくなります。インデックスが可能示し、クラスの。P(xωi)x=(0.2,10.2,0,2)ini{1,,n}

フィードフォワードニューラルネットワーク分類器は、勾配降下法によって学習されると、事後確率学習します。所望の出力パターンニーズ例えばすべき 2クラス分類問題のために、。フィードフォワードニューラルネットワークには、クラスごとに1つの出力ノードがあります。ベクトルは、観測された特徴ベクトルが2番目のクラスに属することを示します。P^(ωix)o=(0,1)(0,1)


それは問題ではありません。
オロメ

0

対数尤度は、質問のコンテキストにおけるエントロピーに直接リンクされていません。類似性は表面的なものです。どちらも確率のような量の対数の合計を持っています。

対数尤度(MLE)の対数は、純粋に数値計算の理由で行われます。特にサンプルが大きい場合、確率の積は非常に小さい数になる可能性があります。次に、可能性の範囲は1から製品の非常に小さい値になります。ログを取得すると、積は合計になり、ログ関数は値の範囲をより小さい管理しやすいドメインに圧縮します。対数は単調な関数なので、対数尤度の最大(最小)は、尤度自体の同じ答えを生成します。したがって、MLE式でのログの存在は、数学的な意味では重要ではなく、単に便宜上の問題です。

エントロピー内の対数関数の存在はより重要であり、物理学の一分野である統計力学にそのルーツがあります。これは、ガスの理論で使用されているボルツマン分布にリンクしています。たとえば、気圧を高度の関数として、それを使用して導出できます。


これが問題のどの部分に対応しているかを強調できますか?
オロメ

OPで述べたように、MLEを表現する2番目の方法でログを使用することは、単なる利便性(最初の2つの段落)であることは明らかです。そして、最後の段落は、エントロピーの表現におけるログの存在が、エントロピーのコンテキスト(特に物理学)において意味があると言っているようです。しかし、欠けているのは(そしてこれが問題です)、これら2つの異なる(そして真の)観察をリンクすることの正当化です。MLEの2番目の方程式を表現するための有用な方法である(3)の後の方程式以外に、1つはわかりません。多分それはあなたが言っていることですか?
オロメ

@orome、もちろんNNにエントロピーを計算させることもできますが、それはクロスエントロピー関数が実際にほとんどの場合に使用される方法ではありません。ここでは、これを別の種類のコスト関数と考えることができます。それは望ましい性質を持っているようで、対称性があります。
Aksakal

はい、エントロピーと呼ぶか、が意味があることを示唆してい分布(「エントロピー」が何らかの洞察を提供するもの)は誤解を招くものです。ay(i)(x(i);θML)
オロメ

@orome、名前にこだわりません。「ヒンジ損失」機能はヒンジとはほとんど関係がないようです。その関数形式は情報エントロピー方程式とまったく同じであるため、これを「エントロピー損失」と呼びます。
Aksakal
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.