softmax分類器では、なぜexp関数を使用して正規化を行うのですか?


30

標準の正規化ではなく、softmaxを使用する理由 この質問のトップアンサーのコメントエリアで、@ Kilian Batznerは2つの質問を提起しました。数値的な利点を除いて、誰も説明をしていないようです。

クロスエントロピー損失を使用する理由はわかりますが、それはソフトマックスとどのように関連していますか?「ソフトマックス関数は、予測と真実の間のクロスエントロピーを最小化しようとしていると見ることができます」とおっしゃいました。私は標準/線形正規化を使用しますが、クロスエントロピー損失を使用するとします。次に、クロスエントロピーを最小化しようとします。それでは、数値の利点を除いて、ソフトマックスはどのようにクロスエントロピーにリンクされていますか?

確率的ビューについては、ログの確率を見る動機は何ですか?推論は「xを対数確率として解釈するため、softmaxでe ^ xを使用する」に少し似ているようです。同じ理由で、ソフトマックスでe ^ e ^ e ^ xを使用します。これは、xをlog-log-log-probabilitiesとして解釈するためです(もちろん、ここで誇張しています)。softmaxの数値的な利点は得られますが、それを使用する理論的な動機は何ですか?


それは微分可能で、非負の結果(クロスエントロピーを計算できるように確率に必要になるなど)につながり、分類設定に適したmax関数のように動作します。サイトへようこそ!
エムレ

@ありがとうございます!しかし、「最大関数のように動作する」とはどういう意味ですか?また、微分可能で単調増加し、非負の結果につながる別の関数がある場合、それを使用して式のexp関数を置き換えることはできますか?
ハンス

を使用して正規化すると、指数関数の増加により、最大の引数は1にマッピングされ、残りはゼロにマッピングされます。max
エムレ

回答:


37

それは単なる数値以上のものです。ソフトマックスの簡単なリマインダー:

P(y=j|x)=exjk=1Kexk

ここでは、クラス数等しい長さの入力ベクトルです。softmax関数には、3つの非常に優れたプロパティがあります。1。データを正規化する(適切な確率分布を出力する)、2。微分可能であり、3。前述のexpを使用します。いくつかの重要なポイント:xK

  1. 損失関数は、ソフトマックスに直接関係しません。標準正規化を使用しても、クロスエントロピーを使用できます。

  2. 「hardmax」関数(つまりargmax)は微分できません。softmaxは、出力ベクトル内のすべての要素に少なくとも最小の確率を与えるため、微分可能性が高いため、softmaxで「ソフト」という用語が使用されます。

  3. 今、あなたの質問に行きます。softmax のは自然な指数関数です。正規化する前に、グラフのようにを変換します。exex

自然指数関数

場合 0の場合であり、場合、 1、その後で、及び場合 2であり、今!大きなステップ!これは、非正規化ログスコアの非線形変換と呼ばれるものです。softmaxの正規化と組み合わされた指数関数の興味深い特性は、高いスコアが低いスコアよりもはるかに高い確率になることです。xy=1xy=2.7xy=7x

。セイ、およびログスコアベクトルである。単純なargmax関数の出力:K=4x[2,4,2,1]

[0,1,0,0]

argmaxは目標ですが、微分可能ではなく、モデルを訓練することはできません:(微分可能な単純な正規化は、次の確率を出力します:

[0.2222,0.4444,0.2222,0.1111]

それは本当にargmaxから遠いです!:(一方、出力:

[0.1025,0.7573,0.1025,0.0377]

それはargmaxに非常に近いです!自然な指数関数を使用するため、標準の正規化と比較した場合、最大スコアの確率を大幅に増加させ、低いスコアの確率を減少させます。したがって、softmaxの「最大」。


3
素晴らしい情報。ただし、を使用する代わりにe、定数3または4を使用するのはどうですか?結果は同じになりますか?
Cheokヤンチェン

7
@CheokYanCheng、はい。しかしe、より良い派生があります;)
ベガ

softmaxの結果は、通常、各クラスに属する確率として使用されることを見てきました。他の定数ではなく「e」の選択がarbitrary意的である場合、確率の観点からそれを見るのは意味がありませんよね?
javierdvalle

@vega申し訳ありませんが、それがどのように質問に答えているのかまだわかりません。まったく同じ理由でe ^ e ^ e ^ e ^ e ^ xを使用しないのはなぜですか。教えてください
ガルザー

@jvalleそうではないeことができるが、それは確率として、それはソフトマックス出力の各要素は1に[0,1]全体和に制限される事実であることを解釈
VEGA

2

ベガの説明に加えて、

汎用ソフトマックスを定義しましょう: ここで、は定数> = 1です

P(y=j|x)=ψxjk=1Kψxk
ψ

場合、@ vegaが述べたようにargmaxからかなり離れています。ψ=1

と仮定して、argmaxにかなり近づいているが、負の値には本当に小さな数値を、正の値には大きな数値も持っているとします。この数値は、浮動小数点演算の制限を簡単にオーバーフローします(たとえば、numpy float64の最大制限は)。それに加えて、選択がよりはるかに小さいあっても、結果が表現できるように小さくなるため、フレームワークはより安定したバージョンのsoftmax(分子と分母の両方に定数掛ける)を実装する必要がありますそのような精度で。ψ=10010308ψ=e100C

したがって、argmaxを適切に近似するのに十分な大きさの定数と、計算でこれらの大きな数値と小さな数値を表現するのに十分小さい定数を選択する必要があります。

そしてもちろん、にはかなり良い派生物もあります。e


2

この質問はとても興味深いです。正確な理由はわかりませんが、指数関数の使用法を説明するために次の理由を使用できると思います。この投稿は、統計力学と最大エントロピーの原理に触発されています。

私は例を用いてこれを説明するで構成され、画像クラスからの画像、クラスからの画像、...、及びクラスからの画像。次に、ニューラルネットワークが画像に非線形変換を適用して、「エネルギーレベル」をすべてのクラスに割り当てることができたと仮定します。このエネルギーは非線形スケールであり、画像を線形に分離できると想定しています。Nn1C1n2C2nKCKEk

平均エネルギーは、次の関係によって他のエネルギー関連付けられます E¯Ek

NE¯=k=1KnkEk.()

同時に、画像の総量は次の合計として計算できることがわかります

N=k=1Knk.()

最大エントロピー原理の主な考え方は、対応するクラスの画像の数が、特定のエネルギー分布の可能な組み合わせの数が最大になるように分布することです。もっと簡単に言えば、システムは、クラスしか持たない状態になることはほとんどなく、各クラスに同じ数の画像がある状態になることもありません。しかし、これはなぜですか?すべての画像が1つのクラスにある場合、システムのエントロピーは非常に低くなります。2番目のケースも非常に不自然な状況です。中程度のエネルギーの画像が多くなり、非常に高いエネルギーと非常に低いエネルギーの画像が少なくなる可能性が高くなります。n1

エントロピーは、画像を対応するエネルギーを持つ、、...、画像クラスに分割できる組み合わせの数とともに増加します。この組み合わせの数は、多項係数によって与えられますNn1n2nK

(N!n1!,n2!,,nK!)=N!k=1Knk!.

無限に多くの画像があると仮定して、この数を最大化しようとします。しかし、彼の最大化には、等式制約およびます。このタイプの最適化は、制約付き最適化と呼ばれます。ラグランジュ乗数法を使用して、この問題を分析的に解決できます。等式制約にラグランジュ乗数およびを導入し、ラグランジュファンクションを導入します。N()()βαL(n1,n2,,nk;α,β)

L(n1,n2,,nk;α,β)=N!k=1Knk!+β[k=1KnkEkNE¯]+α[Nk=1Knk]

我々が想定したよう我々はまた、想定することができ階乗のためのスターリング近似を用いますNnk

lnn!=nlnnn+O(lnn).

この近似(最初の2つの項)は漸近的なものにすぎず、この近似が収束することを意味しないことに注意してください以下のため。lnn!n

に関するラグランジュ関数の偏微分は、次のようになります。nk~

Lnk~=lnnk~1α+βEk~.

この偏微分をゼロに設定すると、

nk~=exp(βEk~)exp(1+α).()

これを戻すと、取得できます()

exp(1+α)=1Nk=1Kexp(βEk).

これを戻すと、softmax関数を思い出させるものが得られます。()

nk~=exp(βEk~)1Nk=1Kexp(βEk).

をによるクラスの確率として定義すると、softmax関数に本当に似たものが得られます。nk~/NCk~pk~

pk~=exp(βEk~)k=1Kexp(βEk).

したがって、これは、softmax関数が画像の分布のエントロピーを最大化する関数であることを示しています。この点から、これを画像の分布として使用することは理にかなっています。我々が設定されている場合は我々は正確用ソフトマックス関数の定義を得る出力を。βEk~=wkTxkth

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.