質問: softmaxクラシファイアでは、なぜ関数を使って正規化を行うのですか? Why use softmax as opposed to standard normalization? In the comment area of the top answer of this question, @Kilian Batzner raised 2 questions which also confuse me a lot. It seems no one gives an explanation except numerical benefits. > クロスエントロピーロスを使用する理由はありますが、それはどのようにソフトマックスに関係していますか?あなたは「ソフトマックスの機能は、予測と真実とのクロスエントロピーを最小限に抑えるように見える」と言った。標準/線形正規化を使用しますが、依然としてクロスエントロピー損失を使用するとします。それから私はクロスエントロピーを最小限にしようとします。では、ソフトマックスはクロスエントロピーにどのようにリンクされていますか?ただし数値的な利点はありますか? > > > > 確率的視点について:対数確率を見る動機は何か?推論は、「xをlog-probabiltiesとして解釈するので、softmaxでe ^ xを使用する」のように思われます。 xをlog-log-log-probabilities(ここではもちろん誇張している)と解釈するので、softmaxでe ^ e ^ e ^ xを使用するのと同じ理由で、xを使用します。私はsoftmaxの数値的利点を得ていますが、それを使用する理論的動機は何ですか? > >
回答: それは単なる数値以上のものです。ソフトマックスのクイックリマインダー: $$ P(y = j | x)= \ frac {e ^ {x_j}} {\ sum_ {k = 1} ^ K e ^ {x_k}} $$ ここで、$ x $は長さがクラス$ K $の数と等しい入力ベクトルです。 softmax関数は、3つの非常に良いプロパティを持っています:1.あなたのデータを正規化し(適切な確率分布を出力します)、2.微分可能です。いくつかの重要な点: 1. 損失関数はsoftmaxとは直接関係しません。標準的な正規化を使用して、クロスエントロピーを使用することができます。 2. "hardmax"関数(argmax)は微分できません。 softmaxは、出力ベクトルのすべての要素に対して少なくとも最小限の確率を与えます。したがって、softmaxでは "soft"という用語がうまく区別できます。 3. これであなたの質問にお答えします。 $ e $ in softmaxは自然指数関数です。正規化する前に、$ x $のグラフのように$ x $を変換します: !natural exponential function $ x $が0、$ y = 1 $、$ x $が1、$ y = 2.7 $、$ x $が2ならば$ y = 7 $!巨大な一歩!これは、正規化されていないログスコアの非線形変換と呼ばれるものです。 softmaxの正規化と組み合わせた指数関数の興味深い特性は、$ x $の高得点が低得点よりもはるかに高い可能性があるということです。 **An example**. Say $K=4$, and your log score $x$ is vector $[2, 4, 2, 1]$. The simple argmax function outputs: $$ [0,1,0,0] $$ argmaxは目標ですが、微分可能ではなく、モデルを訓練することはできません:(微分可能な単純な正規化は、以下の確率を出力します。 $$ [0.2222,0.44444,0.2222,0.1111] $$ それは本当にargmaxから遠いです! :(ソフトマックス出力: $$ [0.1025,0.7573,0.1025,0.0377] $$ それはargmaxにもっと近いです!自然指数を使用するため、標準正規化と比較して最大スコアの確率を大幅に高め、スコアの低い確率を低下させます。したがって、ソフトマックスの「最大」。