ML のアクティベーション関数について知っておくべきことすべて

公開: 2022-11-08

目次

機械学習における活性化関数とは?

機械学習の活性化関数は、すべての重みとバイアスを含む ML モデルの重要な要素であることが証明されています。 これらは継続的に開発されている研究対象であり、ディープ ニューラル ネットワークのトレーニングを実現する上で重要な役割を果たしてきました。 本質的に、それらはニューロンを刺激する決定を決定します。 ニューロンが受け取る情報が、すでに存在する情報に関連するか、または無視する必要があるか。 入力信号に適用する非線形変更は、アクティベーション関数と呼ばれます。 ニューロンの次の層は、この変更された出力を入力として受け取ります。

アクティベーション関数はニューラル ネットワークの入力に対して非線形計算を実行するため、それらを使用せずに学習し、より複雑なタスクを実行できます。これは本質的に機械学習の線形回帰モデルです。

活性化関数のアプリケーションを理解し、各活性化関数の長所と短所を比較検討して、特定のニューラル ネットワーク モデルで非線形性と精度を提供できる適切なタイプの活性化関数を選択することが不可欠です。

世界のトップ大学の機械学習コースに登録してください。 マスター、エグゼクティブ PGP、または上級認定プログラムを取得して、キャリアを加速させましょう。

機械学習活性化関数モデルには、基本的に 2 つのタイプがあります。

  • 隠しレイヤー
  • 出力レイヤー

隠しレイヤー

ニューラル モデルの隠れ層で使用される活性化関数の主な役割は、非線形相互作用をシミュレートするためにニューラル ネットワークが必要とする非線形性を提供することです。

出力レイヤー

機械学習モデルの出力レイヤーで採用されているアクティベーション メソッドには、0 から 1 などの制限された範囲内で値を圧縮するという特定の主な目的があります。

まず、機械学習におけるさまざまな種類のアクティベーション関数を理解しましょう

1.バイナリステップ関数

ニューロンが関与するかどうかを決定するしきい値ベースの分類器は、活性化関数があるときに最初に思い浮かぶものです。 値 Y が指定されたしきい値より大きい場合、ニューロンがトリガーされます。 それ以外の場合は、休止状態のままです。

多くの場合、次のように定義されます –

f(x) = 1、x>=0

f(x) = 0、x<0

二項関数は簡単です。 バイナリ分類器の開発中に適用できます。 評価が必要です。これは、ニューロンをオンにするかゼロのままにするため、単一のクラスに対して「はい」または「いいえ」と答える必要がある場合に理想的なオプションです。

2. 線形関数

正の勾配は、入力レートが上昇するにつれて発火率の上昇を引き起こす可能性があります。 線形アクティベーション関数は、幅広いアクティベーションを提供する点で優れています。

この関数は、単純な水平活性化関数のニューロンまたは入力の重み付けされた組み合わせに正確に比例します。

ニューロンは、バイナリで発火している場合と発火していない場合があります。 機械学習の勾配降下に精通している場合、この関数の導関数は定数であることに気付くかもしれません。

最高の機械学習コースとオンライン AI コース

LJMU の機械学習と AI の理学修士号 IIITB の機械学習と AI のエグゼクティブ ポスト大学院プログラム
IIITB の機械学習と NLP の上級認定プログラム IIITB の機械学習と深層学習の上級認定プログラム メリーランド大学のデータサイエンスと機械学習のエグゼクティブポスト大学院プログラム
すべてのコースを調べるには、以下のページにアクセスしてください。
機械学習コース

3. 非線形関数

  1. ReLU

アクティベーション機能に関しては、Rectified Linear Unit が最適です。 これは、ほとんどの問題で最も一般的でデフォルトのアクティブ化機能です。 負の場合は 0 に制限され、正の場合は制限されません。 ディープ ニューラル ネットワークは、この有界性と無界性の組み合わせによって作成される固有の正則化の恩恵を受けることができます。 正則化により、トレーニングと推論を計算上効果的にするスパース表現が作成されます。

正の非有界性は、線形回帰の収束を加速しながら、計算の単純さを維持します。 ReLU には重大な欠点が 1 つだけあります。死んだニューロンです。 一部の死んだニューロンは、トレーニング フェーズの早い段階でスイッチがオフになり、0 に負にバインドされて再活性化することはありません。 関数は、x > 0 の場合に非有界から x ≤ 0 の場合に有界に急速に遷移するため、連続的に微分することはできません。 ただし、実際には、学習率が低く、負のバイアスが大きい場合は、パフォーマンスに永続的な影響を与えることなくこれを克服できます。

長所:

  • ReLU は、他の非線形関数よりも必要な数学的プロセスが少ないため、計算コストと線形性が低くなります。
  • 消失勾配の問題を防止および修正します。

使用する:

  • RNN、CNN、およびその他の機械学習モデルで使用されます。

ReLU のさまざまな変更 –

リーキーReLU

ReLU 関数のより優れたバリアントは、Leaky ReLU 関数です。 ReLU 関数の勾配は 0 (x<0) であるため、その領域での活性化によってニューロンが死滅し、リーキーな ReLU がそのような問題を解決するのに最も有益であることが証明されています。 ReLU 関数を 0 ではなく x の小さな線形成分として定義します (x<0)。

それは次のように見ることができます -

f(x)=ax, x<0

f(x)=x, x>=0

長所 –

  • 少し負の傾きを持つ Leaky ReLU は、「瀕死の ReLU」の問題 (0.01 程度) に対処するための試みでした。

使用する -

  • GAN などの勾配を伴うタスクで使用されます。

パラメトリック ReLU

これは、スカラー倍数がランダムに選択されるのではなく、データでトレーニングされる Leaky ReLU よりも優れています。 モデルはデータを使用してトレーニングされたため、スケーリング パラメーター (a) の影響を受けやすく、a の値に応じて異なる方法で対応します。

使用する -

  • Leaky ReLU が失敗した場合、パラメトリック ReLU を利用して死んだニューロンの問題を解決できます。

GeLU (ガウス誤差線形単位)

ブロックの最新の子供であり、NLP (自然言語処理) の勝者であることは間違いありません – 関連タスクは、変換器ベースのシステムや GPT-3 や BERT などの SOTA アルゴリズムで利用されるガウス誤差線形ユニットです。 GeLU は、ReLU、Zone Out、Dropout (まばらなネットワークのニューロンをランダムにゼロにする) を組み合わせたものです。 ReLU はゲートではなくパーセンタイルで入力を重み付けするため、GeLU を使用するとよりスムーズになります。

使用する -

  • コンピューター ビジョン、NLP、音声認識

ELU (指数線形単位)

2015 年に導入された ELU は、正の制限がなく、負の値に対して対数曲線を採用しています。 Leaky や Parameter ReLU と比較すると、死んだニューロンの問題を解決するためのこの戦略は少し異なります。 ReLU とは対照的に、負の値は徐々に滑らかになり、死んだニューロンを防ぐために制約されます。 ただし、負の勾配を表すために指数関数が使用されるため、コストがかかります。 理想的ではない開始手法を使用すると、指数関数によって勾配が拡大することがあります。

ヒュッと振る

2017 年に初めて導入された Swish の小さな負の値は、基になるパターンをキャプチャするのに依然として役立ちますが、大きな負の値は 0 の導関数を持ちます。Swish は、その興味深い形式のため、ReLU を簡単に置き換えるために使用できます。

長所 –

  • 結果は、結果を正規化するのに役立つ Sigmoid 関数と RELU の間の回避策です。
  • 勾配消失問題を扱う能力を持つ。

使用する -

  • 画像の分類や機械翻訳に関しては、ReLUと同等かそれ以上です。

需要の高い機械学習スキル

人工知能コース Tableau コース
NLPコース 深層学習コース

4. ソフトマックス活性化機能

シグモイド活性化関数と同様に、softmax は主に最終層または出力層で決定を行うために使用されます。 ソフトマックスは、重みに基づいて入力変数に値を割り当てるだけで、これらの重みの合計は最終的に 1 になります。

長所 –

  • RELU 関数と比較すると、勾配収束は Softmax の方がスムーズです。
  • 消失勾配の問題を処理する機能があります。

使用する -

  • マルチクラスおよびマルチノミナ分類。

5. シグモイド

機械学習のシグモイド関数は、最も一般的な活性化関数の 1 つです。 式は –

f(x)=1/(1+e^-x)

これらの活性化関数には、入力を 0 から 1 の範囲の値に減らすという利点があるため、確率のモデル化に最適です。 ディープ ニューラル ネットワークに適用すると、関数は微分可能になりますが、有界性のために急速に飽和し、勾配が減少します。 何百ものレイヤーとニューロンを含むモデルをトレーニングする必要がある場合、指数計算のコストが増加します。

導関数は -3 と 3 の間で制約されますが、関数は 0 と 1 の間で制約されます。出力がゼロの周りで対称ではないため、隠れ層のトレーニングには理想的ではありません。これにより、トレーニング中にすべてのニューロンが同じ符号を採用することになります。 .

長所 –

  • 収束中に滑らかなグラデーションを提供します。
  • 多くの場合、0 と 1 で予測を正確に分類します。

使用する -

  • 機械学習シグモイド関数は、通常、出力レイヤーのバイナリ分類モデルとロジスティック回帰モデルで使用されます。

人気の機械学習と人工知能のブログ

IoT: 歴史、現在、未来 機械学習のチュートリアル: ML を学ぶ アルゴリズムとは? シンプル&イージー
インドのロボット工学エンジニアの給与:すべての役割 機械学習エンジニアの 1 日: 彼らは何をしているのか? IoT(モノのインターネット)とは
順列と組み合わせ:順列と組み合わせの違い 人工知能と機械学習のトップ 7 トレンド R による機械学習: 知っておくべきすべてのこと

6. Tanh – 双曲線正接活性化関数

機械学習のシグモイド関数と同様に、この活性化関数は 2 つのクラスを予測または区別するために使用されますが、負の入力を負の量に排他的に転送し、-1 から 1 の範囲を持ちます。

tanh(x)=2シグモイド(2x)-1

また

tanh(x)=2/(1+e^(-2x)) -1

基本的に、値が同じ符号を持つという問題を解決します。 その他の特徴はシグモイド関数と同じです。 どの時点でも、それは連続的で明確です。

長所 –

  • シグモイドとは異なり、ゼロセントリック機能を備えています。
  • この関数には滑らかなグラデーションもあります。

機械学習のターン関数シグモイド関数は、正の境界があるため隠れ層で使用できますが、ディープ ニューラル ネットワークでは、トレーニングの飽和と消失勾配のためにそれらを使用できません。

適切なコースで機械学習のキャリアを始めましょう

アクティベーション関数と、機械学習を強化するための支援について深く掘り下げることに興味がありますか? AI、深層学習、NLP、強化学習などのすべての詳細を含む機械学習の概要を、WES 認定の UpGrad コースの機械学習と AI の科学の修士号で取得します。 このコースでは、12 以上のプロジェクトに取り組み、研究を実施し、高度なコーディング クラスを実施し、最高の教授陣によるコーチングを行いながら、実践的な経験を提供します。

サインアップして詳細をご覧ください!

結論

アクティベーション関数として知られる重要な操作は、非線形の方法で入力を変更し、より複雑なタスクを理解して実行できるようにします。 最も一般的なアクティベーション関数と、適用される可能性のあるその使用方法について説明しました。 これらのアクティベーション関数は同じ機能を提供しますが、さまざまな状況で適用されます。

どの活性化関数が最適かをどのように判断できますか?

アクティベーション関数の選択は、当面の問題に完全に依存する複雑な決定です。 ただし、機械学習に慣れていない場合は、シグモイド関数から始めてから、他の関数に進むことをお勧めします。

活性化関数は線形か非線形か?

設計がどれほど複雑であっても、線形活性化関数は 1 層の深さまでしか有効ではありません。 したがって、活性化層を線形にすることはできません。 さらに、今日の世界とその課題は非常に非線形です。

学習しやすい活性化関数は?

タン。 -1 から 1 をカバーするように範囲を広げることで、シグモイド活性化関数の欠点に対処します。 これにより、中心がゼロになり、隠しレイヤーの重みの平均が 0 に近づきます。その結果、学習がより迅速かつ容易になります。