機械学習でRe-Luを使用するための数学的直観


10

したがって、現在最も一般的に使用されているアクティベーション機能はRe-Luです。だから私はこの質問に答えましたニューラルネットワークの活性化機能の目的は何ですか?そして、答えを書いている間、それは私を驚かせましたが、Re-Luの近似の非線形関数はどのくらい正確にできますか

純粋な数学的定義によれば、確かに、急激な曲がりによる非線形関数ですが、x軸の正または負の部分のみに限定すると、それらの領域では線形になります。また、x軸全体を取り0 --> 90、シグモイドで可能なように単一ノードの非表示レイヤーで正弦波()のような曲線関数を十分に近似できないという意味で、(厳密な数学的な意味ではなく)その線形も考えますアクティベーション機能。

では、NNでRe-Luが使用されていて、線形であるにもかかわらず、満足のいくパフォーマンスを提供している(私はRe-luの目的を尋ねていません)の背後にある直感は何ですか?または、シグモイドやtanhのような非線形関数がネットワークの途中でスローされることがありますか?

編集:@Ekaのコメントに従って、Re-Luはその能力をニューラルネットの深い層で機能する不連続性から導き出します。これは、Re-Luが、浅いNNではなく、Deep NNで使用する限り、良いことを意味しますか?


2
私はエキスパートではありませんが、このリンクquora.com/…を
Eka

1
@Eka素敵なリンク....しかし、彼らは素敵な直感を与えずに難しい事実を述べています
DuttaA

3
これは推測です。非線形関数を近似するreluの機能は、その不連続性の結果、つまりmax(0,x)ニューラルネットワークの深い層で動作する結果である可能性があります。彼らがディープ線形ネットワークを使用して非線形関数を計算したというopenaiの研究があります。ここにリンクがあります。blog.openai.com/ nonlinear
Eka

回答:


2

ReLUネットワークの出力は常に「線形」で不連続です。それらは曲線を近似することができますが、それは多くのReLUユニットを必要とする可能性があります。ただし、同時に、それらの出力は、多くの場合、連続した曲線出力として解釈されます。

x 3を取り、| x 3 | を出力するニューラルネットワークをトレーニングしたと想像してください。(放物線に似ています)。これは、ReLU機能が完全に実行するのは簡単です。この場合、出力はカーブしています。

しかし、実際には曲がっていません。ここでの入力は、出力と「直線的に」関連しています。ニューラルネットワークが行うのは、入力を受け取り、入力の絶対値を返すことだけです。「線形」の非曲線関数を実行します。元のx値(x in x 3)に対してグラフ化すると、出力が非線形であることがわかります。

したがって、グラフに出力をプロットして曲線に見える場合、通常は、さまざまなx値を入力に関連付けてから、それらのx値に関連して出力をy座標としてプロットしたためです。

では、ReLUを使用してsin(x)をスムーズにモデル化する方法を知りたいと思います。トリックは、xを入力として使用したくないことです。代わりに、x 3のように、入力に対してxに関して湾曲したものを入力します。したがって、入力はx 3で、出力はsin(x)です。これが機能する理由は、入力の正弦を計算するのではなく、入力の立方根の正弦を計算するためです。入力自体の正弦をスムーズに計算することはできませんでした。出力sin(x)をグラフ化するには、元のxをx座標として入力し(入力は入力しないでください)、出力をy座標として配置します。


あなたが与えているアプローチは、多くの結果が必要になると思います...あなたは曲線を離散化しています...それで、より細かい曲線には、より多くの結果が必要です...正しいですか?
DuttaA 2018年

いや、IMO。最初のレイヤーで入力の一連のさまざまな線形結合を取得すると、次のレイヤーでつなぎ合わせることができる多くの異なる種類の曲線が得られます。ここでも線形結合が多くなります。これにより、完璧な出力が得られます。たとえば、ローカルの極値でのみ曲線を一緒にカットアンドペーストすると想像してください。その後、結果の曲線はほぼ完全に連続になります。また、出力の精度にも依存します。線形性が非常に高いため、ReLUよりも優れたアクティブ化機能があることは事実です(例:ELU)
デフォルトの画像

単純なRe-luで多くの異なる曲線を利用できるようになる方法を理解できませんでした。2つの直線の組み合わせになります
DuttaA

@DuttaA直線は単なるマッピング関数です。Reluマッピングを使用して、カーブをカーブにマッピングできます。必要なのは、入力データとして曲線を持つことだけです。
デフォルトの画像

@DuttaA入力数直線は直線で、出力数直線は直線ですが、数直線上のデータの形状については何も言っていません。xy平面は長方形のユークリッド空間ですが、長方形の空間内に曲線を含めることができます。
デフォルトの画像
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.