ディープニューラルネットワークのシグモイド関数に対するReLUの利点は何ですか?


141

最先端の非線形性は、ディープニューラルネットワークでシグモイド関数の代わりに整流線形ユニット(ReLU)を使用することです。利点は何ですか?

ReLUが使用されているときにネットワークをトレーニングする方が速くなることを知っています。それはより生物学的なインスピレーションです。他の利点は何ですか?(つまり、シグモイドを使用することの欠点)?


私は、ネットワークに非線形性を持たせることが有利であるという印象を受けました。しかし、私は...以下の答えのいずれかでそれを見ていない
モニカHeddneckに

2
@MonicaHeddneck ReLUとシグモイドは両方とも非線形です...-
アントワーヌ

回答:


130

ReLUの2つの追加の主な利点は、スパース性と勾配が消失する可能性の減少です。しかし、最初にReLUの定義はででことを思い出してください。h=max(0,a)a=Wx+b

主な利点の1つは、勾配が消失する可能性が低いことです。これは、ときに発生し。このレジームでは、勾配の値は一定です。対照的に、シグモイドの勾配は、xの絶対値が増加するにつれてますます小さくなります。ReLUの一定の勾配により、学習が速くなります。a>0

ReLUのもう1つの利点は、スパース性です。スパース性が生じたときに。レイヤーに存在するそのようなユニットが多いほど、結果の表現はまばらになります。一方、シグモイドは常に非ゼロ値を生成する可能性が高く、結果として密な表現が得られます。スパース表現は、デンス表現よりも有益であると思われます。a0


2
勾配と言うとき、重みまたは入力xに関してですか?@DaemonMaker
MAS

4
重みに関して。勾配ベースの学習アルゴリズムは、学習者のパラメーター、つまりNNの重みとバイアスに関して常に勾配を取ります。
DaemonMaker

2
「密」と「疎」「表現」とはどういう意味ですか?Googleのクエリ「スパースリプレゼンテーションニューラルネットワーク」では、関連するものは何も考えられません。
ハイエンジェル

6
「疎な表現は、密な表現よりも有益であると思われます。」ソースまたは説明を提供できますか?
ローハンサク

1
この答えがどうして正しいのか、私にはわかりません。「勾配が消失する可能性の低下」により、何かが望まれます。ReLuは、十分に小さいゼロです。学習中、このレジームにいると、特定のニューロンの勾配が消えます。実際、ネットワークは線形になるため、明らかに避けられません。バッチ正規化はこれをほとんど解決します。これには、最も重要な理由であるReLuとその勾配も記載されていません。シグモイドと比較して、計算が非常に高速です。x
アレックスR.

65

利点:

  • シグモイド:活性化を爆破しない
  • Relu:勾配が消えない
  • Relu:Reluはmax(0、)を選択するだけで、Sigmoidsのような高価な指数演​​算を実行する必要がないため、Sigmoidのような関数よりも計算が効率的です。x
  • Relu:実際には、Reluを使用したネットワークは、シグモイドよりも優れた収束パフォーマンスを示す傾向があります。(クリジェフスキーら

不利益:

  • S字型:勾配が消える傾向がある(勾配が「」増加として減少するメカニズムがあるため、「」はS字型関数の入力字型の勾配:。「」が無限に大きくなると、)。aaS(a)=S(a)(1S(a))aS(a)=S(a)(1S(a))=1×(11)=0

  • Relu:活性化を爆破する傾向があります(「」自体が出力であるため、ニューロンの出力を制限するメカニズムはありません)a

  • Relu:死にゆくReluの問題-あまりにも多くのアクティベーションがゼロを下回ると、Reluのネットワーク内のユニット(ニューロン)のほとんどが単にゼロを出力する、つまり死に、それによって学習が禁止されます(これはある程度処理できますが、代わりにLeaky-Reluを使用します。)

7
$x$生成するなど、方程式をドル記号で囲むことにより、Latexで数学の組版を使用できると便利です。x
シルバーフィッシュ

Relu:勾配が消えません。え? 全てのため。Relu(ax+b)=0x<b/a
アレックスR.

40

他の答えを補完するだけです:

消失勾配

他の答えは、入力が大きいほど(絶対値で)シグモイド関数の勾配が小さくなることを指摘するのは正しいことです。しかし、おそらくさらに重要な効果は、シグモイド関数の導関数が常に1より小さいことです。実際、最大で0.25です!

この欠点は、多くのレイヤーがある場合、これらのグラデーションを乗算し、1より小さい値の積が非常に速くゼロになることです。

ディープラーニングの最新技術は、より多くのレイヤーが多くのことを助けていることを示しているため、シグモイド機能のこの欠点はゲームのキラーです。Sigmoidではディープラーニングを実行できません。

一方ReLu関数の勾配のいずれかであり、のためのまたはのために。これは、グラデーションを乗算しても消失も爆発もしないため、好きなだけレイヤーを配置できることを意味します。0a<01a>0


10
これは私が探していた答えです。人々が「勾配の消失」について話しているとき、「ReLuの勾配はその範囲の半分で正確に0です。その「消失」ではありません」と考えるのを止めることはできません。グラデーションが多くのレイヤーで乗算されることを思い出して問題を説明する方法は、非常に明確になります。
ボリスゴリ

3
@ギリェルメ・ド・lazariは最後の行に訂正を提案- reluの値が> 0のためですが、あなたは> 0のための1である勾配について話している
saurabh

4
これが主な理由である場合、シグモイドを1 /(1 + exp(-4x))に再スケーリングすることはできませんか?その場合、導関数は最大で1です(または、1より上または下のオプションを提供するためにさらにスケーリングし直します)。再スケーリングにより微分が0から区別できる領域が減少するため、これははるかにパフォーマンスが悪いと思われます。
ピーター

5
この答えはナンセンスです。定数パラメーター1のシグモイドの導関数は1未満です。しかし、より一般的にはであり、任意の大きな導関数を持つことができます(を実際に大きくするため、シグモイドは急速に0から1になります)。1/(1+exp(ax))a
アレックスR.

7
また、シグモイドを使用して深層学習を行うこともできます。たとえば、バッチ正規化などにより、入力を正規化するだけです。これにより、シグモイドの飽和を回避するために入力が集中化されます。バッチ正規化に関する元の論文では、シグモイド活性化ニューラルネットワークはReLusとほぼ同等です:arxiv.org/pdf/1502.03167.pdf
Alex R.

7

勾配の消失の問題を回避する以外のReLUの利点は、実行時間がはるかに短いことです。max(0、a)は、シグモイド関数(例:= 1 /(1 + e ^(-a))などのシグモイド関数よりもはるかに高速に実行されます。ReLUの勾配(a <0、= 0 else = 1の場合)もシグモイドと比較して計算が非常に簡単であるため(ロジスティック曲線= e ^ a /((1 + e ^ a)^ 2))。

ReLUには、ネットワークの容量を制限するセルが死ぬという欠点があります。これを克服するには、上記の問題に気付いた場合、Leaky ReLUやELUなどのReLUのバリアントを使用します。


1
+1。これは、ここでの唯一の正しい答えの1つです。また、バッチ正規化を使用して入力を集中化し、死んだニューロンに対抗することもできます。
アレックスR.

2

スパースとデンスのパフォーマンスの議論で完了する回答の追加部分。

NNについてはもう考えないでください。ただ、線形代数と行列演算について考えてください。前方伝搬と後方伝搬は一連の行列演算であるためです。

ここで、スパースマトリックスに適用する最適化された演算子が多数存在することを思い出してください。そのため、ネットワークでこれらの操作を最適化すると、アルゴリズムのパフォーマンスが劇的に向上する可能性があります。

それが皆さんの何人かを助けることを願っています...


1

主な利点は、ReLuの導関数が0または1であるため、それを乗算しても、損失関数の最終結果からさらに離れた重みが消失勾配問題の影響を受けないことです。

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

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