シグモイド関数は、機械学習やディープラーニング、特にニューラルネットワークで広く使われている活性化関数である。その特徴的な「S」字型の曲線は、あらゆる実数値を0から1の間の値にマッピングし、確率や閾値が必要とされるタスクに有用である。入力値をこの範囲に押し込めることで、シグモイド関数は非線形性を導入し、ニューラルネットワークがデータの複雑なパターンを学習できるようにする。
ニューラルネットワークの文脈では、シグモイド関数はノードの出力を決定する上で極めて重要な役割を果たす。シグモイド関数は二値分類タスクで確率を予測するためによく使われます。例えば、ニューラルネットワークの生の出力を、入力が特定のクラスに属する可能性として解釈可能な値に変換します。この特性により、シグモイドはロジスティック回帰のような、線形モデルの出力を確率に変換するタスクに不可欠なものとなります。
シグモイド関数の滑らかな勾配は、モデルの重みを更新するのに有用な微分値を提供するため、バックプロパゲーションも容易にします。バックプロパゲーションと、バックプロパゲーションによってニューラルネットワークがどのように学習するのかについてはこちらをご覧ください。
スパム検出、詐欺検出、医療診断などのタスクでは、シグモイド関数は確率を予測するモデルの最終活性化層として使用されます。例えば、スパム検出のシナリオでは、シグモイド関数の出力はメールがスパムである確率を示すかもしれません。ロジスティック回帰がバイナリ分類のためにシグモイドをどのように活用しているかをご覧ください。
シグモイドは、より単純なネットワークや、より複雑な活性化戦略の一部として採用されることが多い。タスクが確率を必要とする場合、出力層で特に効果的である。より高度なアーキテクチャでは、ReLU (Rectified Linear Unit)のような代替関数を検討する。
Ultralytics YOLO のようなモデルを使った物体検出のようなコンピュータ・ビジョンのタスクでは、シグモイドはバウンディング・ボックス座標と信頼度スコアの予測に使うことができる。これにより、モデルの出力が正規化され、解釈可能になります。
ヘルスケアアプリケーションでは、シグモイド関数は心臓病や糖尿病などの疾患の可能性を予測するために設計されたモデルに実装されています。例えば、シグモイド関数の出力は、患者が特定の状態にある確率を0.85(85%)と示すかもしれません。ヘルスケアにおけるAIとその変革的影響について、さらに詳しくご覧ください。
自動運転技術では、シグモイド関数が障害物検知などのタスクの確率を推定するモデルに役立っている。これらの確率は、車両の進路上にある物体が歩行者なのか他の車なのかといったリアルタイムの判断の指針となる。自動運転のAIがこのような技術にどのように依存しているかをご覧ください。
どちらの関数も "S "字型のカーブを描くが、Tanhは入力を-1から1の範囲にマップし、ゼロを中心とした出力を提供する。これはバランスの取れた勾配により、トレーニングの収束を早めることができる。詳しくはTanh活性化関数をご覧ください。
Sigmoidとは異なり、ReLUは計算効率が高く、正の入力に対して勾配を維持することで勾配の消失問題を回避することができる。しかし、ReLUの出力は0と1の間に拘束されないため、確率タスクにはあまり適していない。
シグモイド関数は、機械学習や深層学習において、特に確率ベースの出力を含むタスクにおいて、基礎的なツールであり続けています。活性化関数の進歩により、ReLUやLeaky ReLUのような代替関数が登場していますが、Sigmoidのシンプルさと解釈のしやすさは、特定のユースケースにおいて、その継続的な妥当性を保証しています。Sigmoid を実際のモデルで使用するには、Ultralytics HUB を活用して効率的にモデルをトレーニングし、デプロイすることを検討してください。