Softmax関数

Smooth arg maxEdit

参照。 Arg max

“softmax” という名前は誤解を招きます。この関数は滑らかな最大値(最大関数への滑らかな近似)ではなく、むしろ arg max 関数:どのインデックスが最大値を持つかを表す関数への滑らかな近似値です。 実際、「ソフトマックス」という言葉は、密接に関連するLogSumExp関数にも使われており、これは滑らかな最大値である。 このため、より正確な “softargmax “という用語を好む人もいるが、機械学習では “softmax “という用語が一般的である。 この項では、この解釈を強調するために “softargmax “という用語を用いる。

正式には、arg maxをカテゴリ出力1 , … , n {displaystyle 1,\dots ,n} を持つ関数として考えるのではなく、arg maxをカテゴリ出力1 , … , n {displaystyle 1,\dots ,n} を持つ関数として考えている。

(インデックスに対応), 出力のワンショット表現による arg max 関数を考えてみましょう (一意な最大 arg があると仮定): a r g m a x ( z 1 , … , z n ) = ( y 1 , … , y n ) = ( 0 , … , 0 , 1 , 0 , … 0 ) , { Filterstyle {arg,max}, {hat is a r g m a x? (z_{1},\dots ,z_{n})=(y_{1},\dots ,y_{n})=(0,\dots ,0,1,0,\dots ,0),}

ここで出力座標y i = 1 {displaystyle y_{i}=1} とする。

if and only if i {displaystyle i}.

is arg max of ( z 1 , … , z n ) {displaystyle (z_{1},\dots ,z_{n})} } ←クリックすると拡大します。

, z i {displaystyle z_{i}} を意味します。

は ( z 1 , … , z n ) {displaystyle (z_{1},\dots ,z_{n})} の一意の最大値であり、( z 1 , … , z n ) {displaystyle (z_{1},\dots ,z_{n})} の一意の最大値である。

. 例えば、このエンコーディングでは a r g m a x ( 1 , 5 , 10 ) = ( 0 , 0 , 1 ) , {}displaystyle \operatorname {arg,max} {}は、次のようになります。 (1,5,10)=(0,0,1),}

第三引数が最大値なので。

これは複数のarg max値にも一般化できる(multiple equal z i {displaystyle z_{i}}.

が最大である場合、すべての最大引数の間で 1 を割ることにより、形式的には 1/k (k は最大を仮定する引数の数) となる。 例えば、a r g m a x ( 1 , 5 , 5 ) = ( 0 , 1 / 2 , 1 / 2 ) , {}displaystyle \operatorname {arg,max} {}. (1,5,5)=(0,1/2,1/2),}

第2引数と第3引数はともに最大値なので。 すべての引数が等しい場合、これは単純に a r g m a x ( z , … , z ) = ( 1 / n , … , 1 / n ) となります。 {displaystyle \operatorname {arg,max} (z,\dots ,z)=(1/n,\dots ,1/n).}。

複数のarg max値を持つ点zは特異点(または特異点、特異集合を形成)-これらはarg maxが不連続(ジャンプ不連続を持つ)点-であるのに対し、単一のarg maxを持つ点は非特異点または規則点と呼ばれています。

冒頭の最後の式で、softargmaxはarg maxの滑らかな近似となりました: β → ∞ {displaystyle \to \infty }として。

, softargmaxはarg maxに収束する。 関数の収束には様々な考え方がありますが、softargmaxはarg maxにpointwiseに収束する、つまり各固定入力zに対してβ→∞ {displaystyle \to \infty }のように収束するのです。

, σβ ( z ) → a r g m a x ( z ) . (\mathbf {z} ).}.

しかし、softargmaxはarg maxに一様に収束しないので、直感的には異なる点が異なる速度で収束し、恣意的に遅く収束する可能性があることを意味します。 実際、softargmaxは連続であるが、連続関数の一様極限は連続であるが、2つの座標が等しい特異点集合ではarg maxは連続ではない。 一様に収束しないのは、2つの座標がほぼ等しい(一方が最大)入力に対して、arg maxはどちらか一方の指数となるため、入力が小さく変化すると出力が大きく変化するためである。 例えば、σβ ( 1 , 1.0001 ) → ( 0 , 1 ) , {displaystyle \sigma _{beta }(1,1.0001)\to (0,1),}

but σβ ( 1 , 0.9999 ) → ( 1 , 0 ), {displaystyle \sigma _{beta }(1,0.9999)Γ to (1,0),}

and σβ ( 1 , 1 ) = 1 / 2 {displaystyle \sigma _{beta }(1,1)=1/2}

for all inputs: the points are closer to the singular set ( x , x ) {displaystyle (x,x)} Γ (σσβ) Γ (ββ) {displaystyle (1,0), Γ (σβ), Γ (β), Γ (1), Γ (β), Γ (β), Γ (β), Γ (β)

のように、収束が遅くなる。 しかし、softargmaxは非特異集合上ではコンパクトに収束する。

逆に、β→-∞ {displaystyle \beta } to –

, softargmaxは同じようにarg minに収束するが、ここでは特異集合はarg minの値が2つある点である。 トロピカル解析の用語では、ソフトマックスはarg maxとarg minの変形または「量子化」であり、max-plus semiring(それぞれmin-plus semiring)の代わりにlog semiringを使うことに対応し、極限をとってarg maxまたはarg minを回復することは「熱帯化」または「脱量子化」と呼ばれる。

また、任意の固定βに対して、入力z i {displaystyle z_{i}} があれば

は温度T = 1 / β {displaystyle T=1/β }に対して他よりずっと大きい。

の場合、出力はほぼarg maxとなる。 例えば、温度1に対して差が10と大きい場合: σ ( 0 , 10 ) := σ 1 ( 0 , 10 ) = ( 1 / ( 1 + e 10 ) , e 10 / ( 1 + e 10 ) ≒ ( 0.00005 , 0.99995 ) {displaystyle \sigma (0,10):=sigma _{1}(0,10)=Allen(1/(1+e^{10}),e^{10}/(1+e^{10})\right)\approx (0.00005,0.99995)} ←クリックすると拡大します。

ただし、温度に対して差が小さい場合は、arg maxに近い値にはならない。 例えば、温度100に対して差10は小さいです:

σ 1 / 100 ( 0 , 10 ) = ( 1 / ( 1 + e 1 / 10 ) , e 1 / 10 ( 1 + e 1 / 10 ) ) ≒ ( 0.475 , 0.525 ) . {\displaystyle \sigma _{1/100}(0,10)=\left(1/(1+e^{1/10}),e^{1/10}/(1+e^{1/10})\right)\approx (0.475,0.525).}

As β → ∞ {displaystyle ┣┣┣┣┣┣┣┣┣┣┫ }は

, temperature goes to zero, T = 1 / β → 0 {displaystyle T=1/beta \to 0}

, so eventually all differences becomes large (relative to shrinking temperature), which gives another interpretation for the limit behavior.これは、温度による差の縮小と、温度による差の縮小という、極限動作の解釈を与える。

Probability theoryEdit

確率論では、softargmax関数の出力はカテゴリ分布、すなわちK個の異なる可能な結果に対する確率分布を表すのに使用されることがある。

Statistical mechanicsEdit

統計力学では、softargmax関数はボルツマン分布(またはギブス分布)として知られている:7 the index set 1 , … , k {displaystyle {1,\dots ,k}}} 。

はシステムの微小状態であり、入力z i {displaystyle z_{i}} は

はその状態のエネルギー、分母は分配関数として知られ、しばしばZで示される、因子βは冷たさ(または熱力学的β、または逆温度)と呼ばれる。

コメントを残す

メールアドレスが公開されることはありません。