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 サーバーに導入

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

ブログ    
ブログ    
ブログ    

推薦する

Huaweiの「ブラックテクノロジー」がついに公開。サイバーバース以外にも重要なニュースがある

8月11日はHuawei Developer Conferenceの3日目であり、カンファレンスの議...

人工知能をうまく実装するにはどうすればよいでしょうか?

人工知能 (AI) と機械学習 (ML) は、ビジネスの流行語から、より広範な企業での導入へと移行し...

...

AIによる決定をどのように説明するのでしょうか?この記事では、アルゴリズムの適用シナリオと解釈可能性を整理します。

英国の情報コミッショナー事務局(ICO)とアラン・チューリング研究所は共同で「AIによる説明決定」ガ...

...

CBインサイトがAI業界の25大トレンドを発表:中国では顔認識や無人店舗が急速に発展

[[260147]]この記事はAI新メディアQuantum Bit(公開アカウントID:QbitAI...

ロボットは独自の言語を作り、将来的には自律的にコミュニケーションできるようになるのでしょうか?

[[187107]]人工知能技術は飛躍的に進歩していますが、人工知能間のコミュニケーションの問題は...

AIスタートアップの構築から得た3つの重要な教訓

この記事は、公開アカウント「Reading the Core」(ID: AI_Discovery)か...

...

自然言語処理のためのディープラーニングの概要: 基本概念から最先端の研究まで

自然言語処理入門導入自然言語処理 (NLP) は、言語を処理および理解することで特定のタスクを実行で...

2018 年の AI テクノロジーのブレークスルーの完全なコレクションをご紹介します。

[[253124]] 2018 年は AI 分野にとって依然として刺激的な年です。今年はNLP研究...

...

遅い二次アルゴリズムと高速なハッシュマップについての簡単な説明

みなさん、こんにちは!昨日、プログラミング面接の準備をしていて、アルゴリズムの基礎を学ぼうとしている...

これらのよく知られた VR 音声テクノロジー ソリューションをご存知ですか?

最近、Oculus は、VR デバイスを使用する際にユーザーがよりインタラクションできるようにするこ...