なぜ他の代わりにシグモイド関数なのか?


40

事実上の標準シグモイド関数が(非深層)ニューラルネットワークとロジスティック回帰で非常に人気があるのはなぜですか?11+ex

他の多くの派生関数を使用して、計算時間を短縮するか、減衰を遅くします(勾配の消失が少なくなります)。シグモイド関数に関するいくつかの例がウィキペディアにあります。減衰が遅く計算が速い私のお気に入りの1つはです。x1+|x|

編集

この質問は、シグモイドの「なぜ」にのみ興味があるので、賛否両論のニューラルネットワークの活性化関数の包括的なリストとは異なります。


6
ロジスティックシグモイドは、ソフトマックス関数の特殊なケースであることに注意してください、この質問に対する私の答えを参照してください。stats.stackexchange.com/questions/145272/...
ニール・G

10
あります一般的に使用されているプロビットまたはcloglogのような他の機能はを参照してください:stats.stackexchange.com/questions/20523/...
ティム

4
@ user777あなたが参照するスレッドはなぜ質問に本当に答えないので、それが重複しているかどうかはわかりません。
ティム

@KarelMacek、その派生物には0の左/右の制限がないと確信していますか?ウィキペディアからのリンクされた画像に接線があるように見えます。
マークホーバス

5
私はこれを重複として閉じることを投票した多くの著名なコミュニティメンバーに反対することを嫌いますが、明らかな重複は「理由」に対応していないと確信しているため、この質問を再開することに投票しました。
whuber

回答:


24

この答えから別の質問への引用:

パターン認識と機械学習(Springer 2006)のセクション4.2 では、Bishopはロジットが2クラス分類のベイジアン処理における事後確率分布の形として自然に発生することを示しています。その後、彼は、離散的に分布した特徴、および指数分布のファミリーのサブセットにも同じことが当てはまることを示しています。マルチクラス分類の場合、ロジットは正規化された指数関数またはソフトマックス関数に一般化します。

これは、このシグモイドがロジスティック回帰で使用される理由を説明しています。

ニューラルネットワークに関して、このブログ投稿では、ロジット/ソフトマックスやニューラルネットワークで使用されるプロビットを含むさまざまな非線形性に、統計的解釈とそれによる動機付けを与える方法について説明しています。基本的な考え方は、多層ニューラルネットワークを一般化線形モデルの階層と見なすことができるということです。これによると、アクティベーション関数はリンク関数であり、リンク関数は異なる分布の仮定に対応しています。


1
すばらしいです!したがって、ネットワークでシグモイドを使用している場合、ネットワークがさまざまなイベント(内部層または出力)の確率を「モデル化」すると暗黙的に仮定していると言えます。これは、二乗誤差(出力ニューロンに異なる活性化関数を許可する)の場合でも、ネットワーク内の賢明なモデルになります。これまでこの直感を考えたことはありません、ありがとう!
マークホーバース

@MarkHorvathうれしい :-)
A.ドンダ

歴史的にはそうではありません。乱雑な歴史の私の最高の要約は、時間の変化を予測するために使用される関数形式(ロジスティック曲線に従うことが期待される集団)がバイナリ関数のリンク関数として適応および採用されると正しく見えたため、主にロジットが統計科学に入ったということです(そこに時系列の使用!) ; また、絶対値の式ではない単純な計算を使用して簡単に操作できます。しかし、当然、そのような関数の最も単純な論理的正当化は興味深く、重要であり、あなたの答えはそれに対処します。
ニックコックス

1
ビショップの本(2006年と1995年)の両方のセクションを読みましたが、ここではシグモイドが不可欠であるとはまだ確信していませんが、ロジットの動機は確かに得ています。2クラスのポアソン仮定に基づいて同じクロスエントロピー損失関数を書き留め、シグモイドの代わりに異なる活性化関数を使用するとどうなりますか?たとえば、これは似ていますが、区分的に定義されたものとしてはあまり良くありません:g>(x)= 1 /(2-2x)if x <0、1-1 /(2 + 2x)for x> 0、g(0)= 0.5。今、最尤方程式は異なって見えますが、それを最小化しても、出力として確率は得られませんか?
エラウル

Bischopがa = p x C 1をとっ場合、 "天然に生じる"関数は次のようになりa=p(x,C1)(1+p(x,C1))p(x,C2)ですね。a1+a2
チョルダー氏

18

この関数が他の関数よりも「自然」に見える理由の1つは、たまたまベルヌーイ分布の正準パラメーターの逆関数であることです: (指数内のpの関数は、標準パラメーターと呼ばれます。)

fy=py1p1y=1pexp{yログp1p}
p

シグモイド関数を最大エントロピーモデルとして導き出すことができる情報理論から、より説得力のある正当化がもたらされる可能性があります。大まかに言えば、シグモイド関数は最小の構造を想定しており、基礎となるモデルに関する一般的な無知の状態を反映しています。


ロジスティック回帰の正当な理由。我々はあまりにも二乗誤差のためにこれを使用し続けることをおかしい事...
マーク・Horvathの

11

私は何ヶ月もこの質問を自問してきました。CrossValidatedとQuoraの答えはすべて、ロジスティックシグモイド関数の優れたプロパティをリストしていますが、この関数を巧妙に推測したようです。私が逃したのは、それを選択する正当性でした。Bengio(2016)「Deep Learning」本のセクション6.2.2.2でようやく見つかりました。自分自身の言葉で:

要するに、モデルの出力の対数は、トレーニングデータの対数尤度の勾配ベースの最適化に適している必要があります。

動機

  • 私たちは、線形モデルをしたいが、我々は使用できませんz=wTバツ+bとして直接z+
  • 分類のために、ベルヌーイ分布を仮定し、そのパラメーターθPY=1=θモデル化することは理にかなっています。
  • そこで、我々は、マップする必要がzから(,+)[0,1]の分類を行うこと。

ロジスティックシグモイド関数が必要な理由

切断zP(Y=1|z)=max{0,min{1,z}}ゼロ勾配が得られるzの外側[0,1]。勾配降下法でロジスティック回帰を解決するため、モデルの予測が間違っている場合は常に強い勾配が必要です。ロジスティック回帰の場合、閉じた形式のソリューションはありません。

ロジスティック関数には、モデルを予測するために最尤推定を使用すると、モデルの予測が間違っている場合に一定の勾配を漸近させるという優れた特性があります。これを以下に示します。

数値的な利点については、トレーニングデータの負の対数尤度を最小化することにより、最尤推定を実行できます。したがって、コスト関数は次のとおりです。

J(w,b)=1mi=1mlogP(Y=yi|xi;w,b)=1mi=1m(yilogP(Y=1|z)+(yi1)logP(Y=0|z))

以来、P(Y=0|z)=1P(Y=1|z)、我々は上に集中することができY=1の場合。だから、質問はモデル化する方法であるP(Y=1|z)我々が持っていることを考えるとz=wTx+b

zP Y = 1 | z )にマッピングする関数fの明らかな要件は次のとおりです。zP(Y=1|z)

  • zR:f(z)[0,1]
  • f(0)=0.5
  • f回転対称WRTでなければならない(0,0.5)、すなわちf(x)=1f(x)クラスの符号を反転することはコスト関数に影響を及ぼさないように、。
  • fは、減少せず、連続的で微分可能でなければなりません。

これらの要件はすべて、シグモイド関数を再スケーリングすることで満たされます。両方のfz=11+ezおよびfz=0.5+0.5z1+|z|それらを実現します。ただし、シグモイド関数は、対数尤度の勾配ベースの最適化中の動作に関して異なります。ロジスティック関数fz=1を差し込むことで違いを確認できますfz=11+ezをコスト関数に入れます。

Y = 1の彩度Y=1

以下のためのPY=1|z=11+ezおよびY=1場合、単一の誤分類サンプル(つまりm=1)のコストは次のとおりです。

Jz=ログPY=1|z=ログ11+ez=ログez1+ez=z+ログ1+ez

私たちは、線形成分があることがわかりますz。次に、2つのケースを見てみましょう。

  • 場合z大きいため、モデルの予測が正しかったY=1。コスト関数で、ログ1+ezzが大きい場合はz漸近します。したがって、それは概ねキャンセルzこのサンプルのおおよそゼロコスト及び弱い勾配をもたらすうち。モデルはすでに正しいクラスを予測しているため、これは理にかなっています。
  • zが小さい場合(ただし|z|が大きい場合)、Y = 1であるため、モデルの予測は正しくありませんでした。コスト関数では、対数1 + e z項は、zが小さい場合は0に漸近します。したがって、このサンプルの全体的なコストはおおよそである- Z WRT勾配意味、zはおおよそれる- 1。これにより、モデルは受け取った一定の勾配に基づいて間違った予測を簡単に修正できます。非常に小さいzでもY=1log(1+ez)0zzz1z、飽和が発生せず、勾配が消失します。

Y = 0の彩度Y=0

上記では、Y=1ケースに焦点を合わせました。以下のためにY=0、コスト関数は、モデルの予測が間違っている場合にのみ、強い勾配を提供し、同様に動作します。

これは、Y = 1の場合のコスト関数J(z)です。Y=1

ここに画像の説明を入力してください

これは、水平に反転されたsoftplus関数です。以下のためにY=0、それはsoftplus関数です。

代替案

ロジスティックシグモイド関数の代替物、たとえばz1+|z|[0,1]P(Y=1|z)=0.5+0.5z1+|z|

Y=1

J(z)=log(0.5+0.5z1+|z|)

次のようになります。

ここに画像の説明を入力してください

z


「モデルが間違っているとき」と書くとき、どういう意味ですか?
ガブリエルロモン

バツyz=5y=0

6

元の質問では減衰勾配問題について言及しているため、中間層(活性化をクラス確率または回帰出力として解釈する必要がない場合)では、他の非線形性がシグモイド関数よりも好まれることが多いことを付け加えます。最も顕著なのは整流器機能(ReLUなど)で、正の領域では線形で、負の領域ではゼロです。それらの利点の1つは、微分が正の領域で一定であるため、減衰勾配問題の影響を受けにくいことです。ReLUは、シグモイドを事実上の標準とはもう呼べないほどの人気を博しています。

Glorot et al。(2011)。ディープスパース整流器ニューラルネットワーク


2
うん。ロジスティック関数が非常に人気があった理由は、統計からのインポートによるものだと思います。Reluは、今日多くの分野で最も人気があります。
リカルドクルス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.