ディープラーニングで知っておくべき活性化関数トップ10

ディープラーニングで知っておくべき活性化関数トップ10

みなさんこんにちは、ピーターです〜

最近、reddit で非常に鮮明な mó xìng の写真を見ました。このグラフは、ディープラーニングで一般的に使用される活性化関数を示しています。

ディープラーニングに欠かせない活性化関数を整理してみましょう!

活性化関数

活性化関数は、人工ニューラル ネットワークに追加され、ネットワークがデータ内の複雑なパターンを学習するのを助ける関数です。人間の脳のニューロンベースのモデルと同様に、活性化関数は最終的に次のニューロンに何を発火させるかを決定します。

人工ニューラル ネットワークでは、ノードの活性化関数によって、特定の入力または入力セットに対するノードの出力が定義されます。標準的なコンピュータ チップ回路は、入力に応じてオン (1) またはオフ (0) の出力を生成するデジタル回路のアクティブ化関数として考えることができます。したがって、活性化関数はニューラル ネットワークの出力を決定する数式です。この記事では、ディープラーニングでよく使用される 10 個の活性化関数と、それぞれの長所と短所について説明します。

まず、人工ニューロンの動作原理を理解しましょう。それはおおよそ次のようになります。

上記のプロセスを数学的に視覚化したものが以下の図に示されています。

シグモイド活性化関数

シグモイド関数のグラフは S 字曲線のように見えます。関数式は次のようになります。

シグモイド活性化関数を使用するのが適切なのはどのような場合ですか?

  • シグモイド関数の出力範囲は 0 ~ 1 です。出力値は 0 ~ 1 に制限されるため、各ニューロンの出力が正規化されます。
  • 予測された確率を出力として生成するモデル。確率の範囲は 0 から 1 なので、シグモイド関数は非常に適しています。
  • 出力値の「ジャンプ」を回避するための勾配平滑化。
  • この関数は微分可能です。これは、任意の 2 点間のシグモイド曲線の傾きがわかることを意味します。
  • 明確な予測、つまり 1 または 0 に非常に近い予測。

シグモイド活性化関数の欠点は何ですか?

  • 消失グラデーションを持つ傾向があります。
  • 関数の出力は 0 を中心としていないため、重みの更新の効率が低下します。
  • シグモイド関数は指数演算を実行しますが、これはコンピューター上では実行速度が遅くなります。

Tanh / 双曲正接活性化関数

tanh活性化関数のグラフもS字型で、表現は次のようになります。

tanh は双曲正接関数です。 tanh 関数とシグモイド関数の曲線は比較的似ています。しかし、シグモイド関数に比べていくつかの利点があります。

まず、入力が大きいか小さい場合、出力はほぼ滑らかになり、勾配は小さくなり、重みの更新には役立ちません。両者の違いは出力間隔であり、tanh の出力間隔は 1 であり、関数全体は 0 を中心としており、これはシグモイド関数よりも優れています。

tanh グラフでは、負の入力は強く負にマッピングされ、ゼロの入力はゼロに近い値にマッピングされます。

注: 一般的なバイナリ分類問題では、隠れ層に tanh 関数が使用され、出力層にシグモイド関数が使用されますが、これは固定ではなく、特定の問題に応じて調整する必要があります。

ReLU活性化関数

ReLU 活性化関数のイメージは上図の通りで、関数式は次のようになります。

ReLU 関数は、ディープラーニングでよく使われる活性化関数です。シグモイド関数や tanh 関数と比較すると、次のような利点があります。

  • 入力が正の場合、勾配飽和の問題は発生しません。
  • 計算速度が格段に速くなります。 ReLU関数には線形関係しかないため、シグモイドやtanhよりも計算が高速です。

もちろん、欠点もあります。

  • デッド ReLU 問題。入力が負の場合、ReLU は完全に失敗しますが、これは順方向パスでは問題になりません。敏感な領域もあれば、そうでない領域もあります。しかし、バックプロパゲーション中に負の数を入力すると、勾配は完全にゼロになります。シグモイド関数やtanh関数でも同じ問題があります。
  • ReLU 関数の出力は 0 または正の数であることがわかります。これは、ReLU 関数が 0 を中心とした関数ではないことを意味します。

リーキーReLU

これは、Dead ReLU 問題を解決するために特別に設計された活性化関数です。

ReLU と Leaky ReLU

Leaky ReLU が ReLU より優れているのはなぜですか?

写真

  • Leaky ReLU は、負の入力 (0.01x) に x の非常に小さな線形成分を与えることで、負の値に対するゼロ勾配問題を調整します。
  • Leak は ReLU 関数の範囲を拡張するのに役立ち、a の値は通常 0.01 程度です。
  • Leaky ReLU の関数範囲は (負の無限大から正の無限大) です。

注: 理論上は、Leaky ReLU には ReLU のすべての利点があり、Dead ReLU には問題はありませんが、実際には、Leaky ReLU が常に ReLU よりも優れていることは完全に証明されていません。

エル

ELU 対 Leaky ReLU 対 ReLU

ELU の導入により、ReLU の問題も解決されます。 ReLU と比較すると、ELU は負の値を持ち、アクティベーションの平均がゼロに近くなります。平均活性化がゼロに近いほど、勾配が自然勾配に近くなるため、学習が速くなります。

明らかに、ELU には ReLU のすべての利点があり、次の利点があります。

  • Dead ReLU 問題がない場合、出力の平均値は 0 に近くなり、0 を中心とします。
  • ELU は、バイアス シフトの影響を軽減し、正規勾配を単位自然勾配に近づけることで、平均をゼロに近づける学習を加速します。
  • ELU は小さな入力で負の値に飽和し、フォワードパスの分散と情報量を減らします。

1 つの小さな問題は、計算負荷が大きくなることです。 Leaky ReLU と同様に、理論的には ReLU よりも優れていますが、実際には ELU が常に ReLU よりも優れていることを示す確かな証拠は現在ありません。

PReLU (パラメトリックReLU)

PReLU も ReLU の改良版です。

PReLU の式を見てみましょう。パラメーター α は通常 0 から 1 の間の数値で、比較的小さいのが普通です。

  • a_i = 0の場合、fはReLUになる。
  • a_i>0の場合、fはリーキーReLUになる
  • a_iが学習可能なパラメータである場合、fはPReLUになる。

PReLU の利点は次のとおりです。

  • 負の領域では、PReLU の傾きが小さくなるため、Dead ReLU 問題も回避できます。
  • ELU と比較すると、PReLU は負の領域での線形演算です。傾きは小さいですが、0に近づきません。

ソフトマックス

Softmax は、クラス ラベルが 2 つ以上ある場合にクラス メンバーシップが必要となるマルチクラス分類問題に使用される活性化関数です。長さ K の任意の実数ベクトルを、Softmax はそれを長さ K の実数ベクトルに圧縮できます。このベクトルの値は範囲 (0, 1) にあり、ベクトル内の要素の合計は 1 になります。

Softmax は通常の max 関数とは異なります。max 関数は単純に最大値を出力しますが、Softmax では小さい値は確率も小さくなり、単純に破棄されないことが保証されます。これは、argmax 関数の確率的または「ソフト」バージョンと考えることができます。

Softmax 関数の分母は、元の出力値のすべての要素を組み合わせたもので、Softmax 関数によって取得されたさまざまな確率は相互に関連していることを意味します。

Softmax 活性化関数の主な欠点は次のとおりです。

  • ゼロでは微分不可能。
  • 負の入力の勾配はゼロです。つまり、この領域でのアクティベーションでは、バックプロパゲーション中に重みが更新されず、発火しないデッドニューロンが作成されます。

シュッシュ

関数式:

Swish の設計は、LSTM およびハイウェイ ネットワークでのゲーティング シグモイド関数の使用にヒントを得ています。同じゲーティング値を使用してゲーティング メカニズムを簡素化します。これをセルフ ゲーティングと呼びます。

セルフゲーティングの利点は、通常のゲーティングでは複数のスカラー入力が必要になるのに対し、セルフゲーティングでは単純なスカラー入力のみが必要になることです。これにより、Swish などの自己ゲート活性化関数は、隠れ容量やパラメータの数を変更することなく、単一のスカラーを入力として受け取る活性化関数 (ReLU など) を簡単に置き換えることができます。

Swish 活性化関数の主な利点は次のとおりです。

  • 「無制限性」は、低速トレーニング中に勾配が徐々に 0 に近づき、飽和を引き起こすのを防ぐのに役立ちます (同時に、制限付き活性化関数は強力な正規化を持つことができ、大きな負の入力問題も解決できるため、制限付きであることも有利です)。
  • 導関数は常に 0 より大きいです。
  • 滑らかさは最適化と一般化において重要な役割を果たします。

マックスアウト

Maxout 層では、活性化関数は入力の最大値であるため、2 つの Maxout ノードのみを持つ多層パーセプトロンは任意の凸関数に適合できます。

単一の Maxout ノードは、実数値関数に対する区分線形近似 (PWL) として解釈できます。この場合、関数グラフ上の任意の 2 点間の線分は、グラフの上部にあります (凸関数)。

Maxoutはd次元ベクトル(V)に対しても実装できます。

2つの凸関数h_1(x)とh_2(x)が2つのMaxoutノードで近似され、関数g(x)が連続PWL関数であると仮定します。

したがって、2 つの Maxout ノードで構成される Maxout レイヤーは、任意の連続関数を適切に近似できます。

ソフトプラス

ソフトプラス機能:

Softplus の導関数は次のとおりです。

ロジスティック/シグモイド関数とも呼ばれます。

Softplus 関数は ReLU 関数に似ていますが、比較的滑らかで、ReLU のような片側抑制を備えています。広い範囲(0、+ inf)を受け入れます。

<<:  タオバオライブストリーミングにおける機械学習に基づく帯域幅推定の探求と実践

>>:  機械学習に基づく自動ネットワークトラフィック分析

ブログ    
ブログ    
ブログ    

推薦する

2026年までにIoT分野のAIサービス収益は36億ドルに達する

iottechnewsによると、IoT分野の人工知能(AI)と機械学習(ML)サービスは年間40%成...

Nvidia が PC CPU 市場に参入することが明らかになりました。ネットユーザー:Apple M1が市場を開拓したことを羨ましく思う

GPU マニアのNvidiaが、突如としてノート PC の CPU に狙いを定めました。ロイター通信...

ビッグデータとリアルタイム分析のためのアルゴリズム分類

今日、ビッグデータ技術の発展と進歩により、大量のデータを収集および送信するための新しい、より効率的な...

Googleのエンジニアリングディレクターがアルゴリズム改善の背後にある数字を明らかに

Google は検索の問題を解決したと多くの人が考えていますが、Google の観点から見ると、検索...

会話型AIの本当の限界は人間の忍耐力だ

私たちは多くの驚くべき進歩を目撃しました。最新の AI 技術は、数千億の計算能力を瞬時に活用すること...

適切な人工知能を選択するにはどうすればよいでしょうか?

採用プロセスで人工知能テクノロジーに切り替えるのは難しいかもしれませんが、これらのヒントに従って、会...

数百万人の乗客を「迅速に配達」する人工知能の応用

ほとんどの人がテイクアウトを注文しており、今ではテイクアウトは中国人にとってもう一つの食事方法となっ...

清華大学の趙明国氏:AIチップ+ロボット、アルゴリズムのボトルネックを突破

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

ロビン・リーは、最後の自慢を達成した後、今日の百度世界大会でさらに 3 つの目標を設定しました。

[[248365]] 7月4日に開催された百度AI開発者会議で、ロビン・リー氏は「以前自慢していた...

成功するAIチームの特徴

今日の時代では、人々は目標を達成するために人工知能 (AI) にますます依存するようになっています。...

...

Transformerが3Dモデリングに革命を起こし、MeshGPT生成結果がプロのモデラーやネットユーザーに衝撃を与える:革命的なアイデア

コンピュータグラフィックスでは、「三角メッシュ」は 3D 幾何学的オブジェクトの主な表現であり、ゲー...

バイナリ検索ツリーの検証: インターネット上の古典的なアルゴリズム

[[427951]]この記事はWeChatの公開アカウント「Programmer Bear」から転載...

ロボットは人間の笑顔を真似することができますが、この笑顔はいつも...

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

...