シグモイド
AIにおけるシグモイド関数のパワーをご覧ください。非線形性を実現し、二値分類を支援し、機械学習の進歩を促進する方法を学びます。
シグモイド関数は、機械学習(ML)および深層学習(DL)で一般的に使用される活性化関数です。これは、特徴的な「S」字型、つまりシグモイド曲線を作り出す数学関数です。その主な目的は、任意の実数値を0から1の範囲に「圧縮」することです。この出力は確率として解釈されることが多く、シグモイド関数は結果の可能性を予測することを目的とするモデルで特に役立ちます。ニューラルネットワーク(NN)に非線形性を導入することで、単純な線形変換では不可能な、データからの複雑なパターンをモデルが学習できるようになります。
役割と応用
シグモイド関数は、入力を確率のような出力にマッピングする能力により、特定の種類のタスクの基礎となっています。最近の深層ニューラルネットワークの隠れ層では一般的ではなくなりましたが、特定のシナリオの出力層では依然として標準的な選択肢です。
主な応用事例
- 二値分類: 二値分類問題では、入力を2つのクラス(例えば、スパムかスパムでないか、病気が存在するか存在しないか)のいずれかに分類することが目標です。出力層のシグモイド関数は、入力が肯定的なクラスに属する確率を表す0から1の間の単一の値を提供します。例えば、医用画像解析モデルは、シグモイドを使用して0.9の確率を出力し、腫瘍が悪性である可能性が90%であることを示す場合があります。
- マルチラベル分類:入力が1つのクラスにのみ属するマルチクラス分類とは異なり、マルチラベルタスクでは、1つの入力を複数のラベルに関連付けることができます。たとえば、物体検出モデルであるUltralytics YOLOは、画像を分析して、「車」、「歩行者」、および「信号機」をすべて一度に識別する場合があります。この場合、シグモイド関数が各出力ニューロンに独立して適用され、可能な各ラベルの確率が得られます。物体検出の進化について詳しく学ぶことができます。
- RNNにおけるゲーティングメカニズム: シグモイド関数は、リカレントニューラルネットワーク(RNN)、たとえば長・短期記憶(LSTM)やゲート付き回帰ユニット(GRU)のゲーティングメカニズムにおけるコアコンポーネントです。これらのゲートはシグモイドを使用して情報の流れを制御し、各ステップで保持または破棄するデータを決定します。このメカニズムは、LSTMの理解に関する詳細なブログ記事で説明されているように、シーケンシャルデータにおける長期的な依存関係を学習するために不可欠です。
他の活性化関数との比較
Sigmoid関数を他の活性化関数と区別して、いつ使用するかを理解することが重要です。
- Softmax: Softmax関数は通常、マルチクラス分類問題に使用されます。この問題では、各入力は複数の可能なクラスのうちの1つにのみ属します。各出力に対して独立した確率を計算するシグモイドとは異なり、Softmaxは、合計が1になるすべてのクラスにわたる確率分布を計算します。たとえば、MNISTデータセットから手書きの数字を分類するモデルは、Softmaxを使用して、0から9までの各数字に単一の確率を割り当てます。
- ReLU(Rectified Linear Unit): ReLUは、深層ネットワークの隠れ層の事実上の標準となっています。計算効率が高く、勾配消失問題の軽減に役立ちます。これは、バックプロパゲーション中に勾配が非常に小さくなり、学習プロセスが遅くなるか停止するシグモイドの重大な問題です。勾配の課題の詳細については、DeepLearning.AIの記事をご覧ください。
- SiLU(シグモイド線形ユニット): Swishとしても知られるSiLUは、シグモイドから派生したより最新の活性化関数です。高度なコンピュータビジョンアーキテクチャを含む、より深いモデルでは、ReLUよりも優れたパフォーマンスを発揮することがよくあります。Ultralyticsモデルは、速度と精度のより良いバランスを実現するために、高度な活性化関数を活用することがよくあります。
現代的な利用と可用性
今日では隠れ層ではあまり一般的ではありませんが、シグモイドは、バイナリおよびマルチラベル分類タスクの出力層の標準的な選択肢のままです。また、シーケンシャルデータを処理する複雑なアーキテクチャ内のゲーティングメカニズムのコアコンポーネントを形成します。
シグモイド関数は、主要なすべての環境で容易に利用可能です。 深層学習フレームワークなど PyTorch (として torch.sigmoid
)と TensorFlow (として tf.keras.activations.sigmoid
)のようなプラットフォーム。 Ultralytics HUB さまざまな活性化関数を利用するモデルをサポートし、ユーザーは以下を行うことができます。 学習 そして デプロイ 高度なコンピュータビジョンソリューション