ニューラルネットワークで押しつぶし機能が重要な理由


ベストアンサー

押しつぶし機能にはさまざまな種類があります。押しつぶし関数は、基本的に、小さな間隔の一方の端に入力を押しつぶす関数として定義されます。ニューラルネットワークでは、これらを隠れ層のノードで使用して入力を押しつぶすことができます。これにより、NNに非線形性が導入され、NNが効果的になります。各層に非線形性を導入しなくても、基本的に一連の線形変換があり、1つの線形変換と同じくらい効果的であるため、NNは線形回帰のようになります。

使用されている人気のあるものには、シグモイド関数、双曲線正接関数などがあります。これらのリソースの多くはオンラインで見つけることができます。

押しつぶし関数はNNで重要な役割を果たしますが、いくつかの問題があります。 1つを使用して。問題の1つは、スカッシュ関数を使用して中間値を取得するのが難しいことです。これは、定義上、スカッシュ関数が関数を間隔の両端に押しつぶそうとするためです。したがって、それらは使用するのが難しい場合があり、多くの場合、押しつぶし機能は、適用される重みに非常に敏感になる可能性があります。これにより、トレーニングが非常に困難になる可能性があります。これは、希望どおりに押しつぶすことができる非常に正確なウェイトセットを見つける必要があるためです(そうしないと、値が押しつぶされます。中間点はありません)。

もう1つの問題は、勾配消失問題です。バックプロパゲーションを使用してエラーをカスケードする場合、エラーは、スカッシング出力と重み(通常は1の端数として初期化されることが多い)から常に1の端数で乗算されるため、急速に減少する傾向があります。したがって、初期のレイヤーはトレーニングが最も遅く、トレーニングが困難です。

NNの最近の有効性につながったのは、押しつぶすのではなく、押しつぶす関数の代わりにReLU関数を使用したことです。入力を完全に行い、入力を[0、x]間隔にマップします。これはNNではるかに効果的であることが証明され、最近のNNの成功につながりました。人々は、もともと、おそらく少し素朴に、関数が微分可能ではないため、それほど効果的ではないと考えていましたが、そうではないことが証明されました。

ReLUを使用しても、勾配消失問題まだ存在しており、非常に深いネットワークでは依然として問題です。この問題に対処するために現在取り組んでいるさまざまな方法があります。

回答

押しつぶし機能がないと、ニューラルネットワークは非線形関係をモデル化できません。実際、すべてのニューロンが線形応答関数を持っている場合、どのトポロジが線形回帰に単純化されていても、ニューラルネットワークです。

出力ニューロンがある場合 y は中間層に線形依存します u

y = \ sum\_i \ gamma\_i u\_i

これは、入力ニューロンに線形的に依存します x

u\_i = \ sum\_j \ beta\_ {ij} x\_j

ニューラルネットワーク全体が単純化されて

y = \ sum\_ {ij} \ gamma\_i \ beta\_ {ij} x\_j

二乗誤差項を最適化すると、線形回帰になります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です