1 つの記事で 26 個のニューラル ネットワーク活性化関数 (ReLU から Sinc まで) を紹介します

1 つの記事で 26 個のニューラル ネットワーク活性化関数 (ReLU から Sinc まで) を紹介します

ニューラル ネットワークでは、活性化関数によって、指定された入力セットからノードの出力が決定されます。非線形活性化関数によって、ネットワークは複雑な非線形動作を複製できます。ほとんどのニューラル ネットワークは何らかの形の勾配降下法で最適化されるため、活性化関数は微分可能 (または少なくともほぼ完全に微分可能) である必要があります。さらに、複雑な活性化関数は、勾配消失や勾配爆発の問題を引き起こす可能性があります。したがって、ニューラル ネットワークでは、いくつかの特定の活性化関数 (恒等関数、シグモイド関数、ReLU 関数、およびそれらのバリエーション) が展開される傾向があります。

以下は、26 個の活性化関数とその 1 次導関数のグラフです。右側には、ニューラル ネットワークに関連するいくつかのプロパティが表示されています。

1. ステップ

活性化関数 Step は実用的というより理論的なものであり、生物学的ニューロンの全か無かの特性を模倣しています。ニューラル ネットワークの導関数はゼロであるため (ゼロでの導関数が未定義であることを除く)、これをニューラル ネットワークに適用することはできません。つまり、勾配ベースの最適化方法は実行不可能です。

2. アイデンティティ

関数 Identity を有効にすると、ノードの入力がその出力と等しくなります。これは、基礎となる動作が線形であるタスク (線形回帰に類似) に最適です。非線形性が存在する場合、この活性化関数だけを使用するだけでは不十分ですが、回帰タスクの最終出力ノードでの活性化関数として使用することはできます。

3. 再LU

整流線形ユニット (ReLU) は、ニューラル ネットワークで最も一般的に使用される活性化関数です。これは、ステップ関数の生物学的なインスピレーション(入力がしきい値を超えた場合にのみニューロンが発火する)を保持しますが、入力が正の場合に導関数がゼロ以外になり、勾配ベースの学習が可能になります(ただし、x = 0 の場合、導関数は未定義です)。この関数を使用すると、関数もその導関数も複雑な数学演算を必要としないため、計算が非常に高速になります。ただし、入力が負の場合、ReLU の学習速度が非常に遅くなったり、ニューロンが直接無効になったりする可能性があります。これは、入力がゼロ未満で勾配がゼロであるため、重みを更新できず、トレーニング プロセスの残りの間は沈黙したままになるためです。

4. シグモイド

シグモイドはロジスティック回帰における重要な役割でよく知られており、その値の範囲は 0 から 1 の間です。ロジスティック シグモイド (または一般にシグモイドと呼ばれる) 活性化関数は、ニューラル ネットワークに確率の概念を導入します。その導関数はゼロではなく、計算が容易です(初期出力の関数として)。しかし、分類タスクでは、Tanh 関数が奇関数 (原点を中心に対称) であるため、シグモイドは標準の活性化関数として徐々に Tanh 関数に置き換えられつつあります。

5. タン

分類タスクでは、ニューラル ネットワークに適した多くの機能を備えた双曲正接関数 (Tanh) が、標準的な活性化関数としてシグモイド関数に徐々に取って代わりつつあります。これは完全に微分可能かつ反対称であり、対称中心は原点にあります。学習が遅い、または勾配が消失する問題に対処するには、この関数のより平坦なバリエーション (log-log、softsign、対称シグモイドなど) を使用します。

6. リーキーReLU

古典的な(そして広く使用されている)ReLU 活性化関数のバリエーションである Leaky ReLU の出力は、負の入力に対して小さな傾斜を持ちます。導関数は常にゼロではないため、サイレントニューロンの存在が減少し、勾配ベースの学習が可能になります(ただし、速度は遅くなります)。

7. プレル

パラメトリック整流線形ユニット (PReLU) は、活性化関数の ReLU 修正クラスのメンバーです。 RReLU および Leaky ReLU との共通点は、負の入力に対して線形項を追加することです。主な違いは、この線形項の傾きは実際にはモデルのトレーニング中に学習されることです。

8. RReLU

ランダム化リーキー整流線形ユニット (RReLU) も、ReLU 修正クラス活性化関数のメンバーです。 Leaky ReLU および PReLU と非常に似ていますが、負の入力に対して線形項が追加されます。最も重要な違いは、この線形項の傾きが各ノードでランダムに割り当てられる(通常は均一分布に従う)ことです。

9. エル

指数線形ユニット (ELU) も、ReLU 修正活性化関数のメンバーです。 PReLU および RReLU と同様に、負の入力に対してゼロ以外の出力が追加されます。他の補正活性化関数とは異なり、サイレントニューロンの出現を防ぐための負の指数項が含まれており、導関数がゼロに収束するため、学習効率が向上します。

10. セル

スケールド指数線形ユニット (SELU) は、活性化関数指数線形ユニット (ELU) のバリエーションです。ここでλとαは固定値(それぞれ1.0507と1.6726)です。これらの値の背後にある推論(ゼロ平均/単位分散)は、自己正規化ニューラル ネットワーク(SNN)の基礎を形成します。

11. エスアールエル

S 字型整流線形活性化ユニット (SReLU) は、ReLU によって表される整流活性化関数のファミリーに属します。これは 3 つの区分線形関数で構成されています。 2 つの関数の傾きとそれらが交差する場所は、モデルのトレーニング中に学習されます。

12. ハードシグモイド

ハード シグモイドは、ロジスティック シグモイド活性化関数の区分線形近似です。計算コストが低くなるため、学習計算が高速化されますが、1 次導関数値がゼロになると、ニューロンが沈黙したり、学習速度が遅くなったりする可能性があります (詳細については、ReLU を参照してください)。

13. ハード・タン

Hard Tanh は Tanh 活性化関数の線形区分近似です。計算コストが低くなるため、学習計算が高速化されますが、最初の導関数がゼロになると、ニューロンが沈黙したり、学習速度が遅くなったりする可能性があります (詳細については、ReLU を参照してください)。

14. ルクン・タン

LeCun Tanh (Scaled Tanh とも呼ばれる) は、Tanh 活性化関数の拡張バージョンです。学習を改善するいくつかの特性があります: f(± 1) = ±1、2次導関数はx=1で最大化、有効ゲインは1に近くなります。

15. アークタン

ArcTan 活性化関数は、視覚的には双曲線正接 (Tanh) 関数に似ていますが、より平坦であるため、他の双曲線よりも明確になります。デフォルトでは、出力範囲は -π/2 から π/2 の間です。その導関数もゆっくりとゼロに近づくため、学習がより効率的になります。しかし、これはまた、導関数の計算が Tanh の計算よりもコストがかかることも意味します。

16. ソフトサイン

Softsign は Tanh 活性化関数の別の代替手段です。 Tanh と同様に、Softsign は反対称、非中心、微分可能であり、-1 から 1 の間の値を返します。より平坦な曲線とより緩やかな減少導関数は、より効率的に学習できることを示しています。一方、導関数の計算は Tanh よりも面倒です。

17. ソフトプラス

ReLU の優れた代替手段である SoftPlus は、0 より大きい任意の値を返すことができます。 ReLU とは異なり、SoftPlus の導関数は連続しており、どこでもゼロではないため、サイレントニューロンの出現を防ぎます。ただし、SoftPlus と ReLU のもう 1 つの違いは、非対称であり、ゼロを中心にしていないため、学習を妨げる可能性があることです。さらに、導関数は 1 未満になることが多いため、勾配消失問題も発生する可能性があります。

18. シグナム

活性化関数 Signum (または単に Sign) は、バイナリ ステップ活性化関数の拡張バージョンです。値の範囲は[-1,1]で、原点は0です。ステップ関数の生物学的動機が欠けているにもかかわらず、Signum は依然として反対称であり、これは活性化関数にとって好ましい特徴です。

19. 歪んだアイデンティティ

活性化関数 Bent Identity は、Identity と ReLU の妥協案です。非線形動作が可能ですが、非ゼロ導関数によって学習が効果的に改善され、ReLU に関連するサイレントニューロンの問題が克服されます。その導関数は 1 のどちらの側でも値を返す可能性があるため、勾配の爆発や消失の影響を受けやすくなります。

20. 対称シグモイド

対称シグモイドは Tanh 活性化関数の別のバリエーションです (実際には、入力が半分になった Tanh と同等です)。 Tanh と同様に、反対称、ゼロ中心、微分可能であり、範囲は -1 から 1 です。より平坦な形状とよりゆっくりとした下降導出は、より効率的に学習できることを示唆しています。

21. ログログ

Log Log 活性化関数の範囲は [0,1] です (上図 f(x) から、関数は e を底とするネストされた指数関数であることがわかります)。Complementary Log Log 活性化関数は、従来の Sigmoid 活性化関数を置き換える可能性があります。関数はより速く飽和し、0.5 を超えるとゼロになります。

22. ガウス

ガウス活性化関数は、ラジアル基底関数ネットワーク (RBFN) で一般的に使用されるガウスカーネル関数ではなく、ガウス活性化関数は多層パーセプトロン モデルではあまり一般的ではありません。この関数はどこでも微分可能で偶関数ですが、その 1 次導関数は非常に速くゼロに収束します。

23. 絶対

名前が示すように、Absolute 活性化関数は入力の絶対値を返します。この関数の導関数はゼロを除くすべての場所で定義され、導関数の大きさはすべての場所で 1 です。この活性化関数では、勾配が爆発したり消失したりすることはありません。

24. 正弦波

コサイン関数と同様に、正弦波 (または単純正弦波) 活性化関数はニューラル ネットワークに周期性を導入します。この関数の値域は[-1,1]であり、その導関数はどこでも連続しています。さらに、正弦波活性化関数は、ゼロを中心に対称性を持つ奇関数です。

25. コス

正弦関数と同様に、余弦活性化関数 (Cos/Cosine) はニューラル ネットワークに周期性を導入します。その範囲は[-1,1]であり、その導関数はどこでも連続しています。正弦関数とは異なり、余弦関数はゼロを中心に対称ではない偶関数です。

26. シンク

Sinc 関数 (正式名称は Cardinal Sine) は、矩形関数のフーリエ変換を表すため、信号処理において特に重要です。活性化関数としての利点は微分可能性と対称性にありますが、勾配消失の問題が発生しやすくなります。

<<:  業界の開発者にとって朗報です! Baidu PaddlePaddle のディープラーニング機能が Inspur AI サーバーに導入

>>:  一般的な負荷分散アルゴリズムをいくつ知っていますか?

ブログ    
ブログ    
ブログ    

推薦する

わずか6ステップで機械学習アルゴリズムをゼロから実装

機械学習アルゴリズムをゼロから作成することで、多くの経験が得られます。ようやく読み終えたとき、嬉しい...

AIが銀行業界にもたらす変化とそれがもたらす課題

銀行は長年にわたり、フロントオフィスとバックオフィスの両方で企業を支援するテクノロジーの活用において...

...

最近 IT 業界で起こったいくつかの大きな出来事についてお話ししましょう。

新年が明けたばかりですが、新しい技術、新しい知識、新しいコンテンツが次々と登場し、新年早々も怠けるこ...

GoogleのAIチップ設計能力は人間より優れているのか?社内研究者が疑問を呈し解雇された

この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI)より許可を得て転載...

...

視覚化と人工知能の強力な組み合わせ!

視覚化と視覚分析では、高帯域幅の視覚認識チャネルを使用してデータをグラフィック表現に変換し、インタラ...

Facebook がアルゴリズム コード ライブラリ PySlowFast をオープンソース化、最先端のビデオ理解モデルを簡単に再現

Facebook AI Research は近年、ビデオ理解研究において多くの素晴らしい成果を上げて...

人工知能認識により、物流会社はダブルイレブンの注文に簡単に対応できます。

2018年のダブルイレブンは、「富豪」に対する私の認識を新たにしました。その前に、アリババの張勇は...

新しい物理学AIは量子コンピューティング革命の鍵となるかもしれない

海外メディアの報道によると、量子コンピューティングは間違いなく現在最もエキサイティングなテクノロジー...

AlphaFold: ノーベル賞を受賞する可能性のある最初の AI 成果

「これは、ノーベル賞受賞が期待される最初の人工知能の成果かもしれない。しかし、その画期的な進歩は間違...

リスト管理?機械学習のためのデータセット

[[440033]]データが機械学習において重要な役割を果たすことは否定できません。各機械学習モデル...

新しい5文字描画言語が人気で、ChatGPTはそれを学習しました

たった 5 つの文字でピクセル ペイントを完成させることができます。合計 8 色、最大 256×25...