Yolo 深圳
深セン
今すぐ参加
用語集

SiLU(Sigmoid Linear Unit)

SiLU(Swish)活性化関数が、物体検出や自然言語処理(NLP)などのAIタスクにおいて、ディープラーニングのパフォーマンスをどのように向上させるかをご覧ください。

SiLUとして広く知られているシグモイド線形ユニットは、最先端の活性化関数である。 活性化関数であり 現代のニューラルネットワーク(NN)アーキテクチャにおいて重要な役割を果たしている。 もともとは 活性化関数の自動探索に関する研究で発見された。 Swish-SiLUは、高性能モデルのディープレイヤーに好んで使われるようになりました。SiLUは 線形動作と非線形動作の橋渡しとして機能し ディープラーニング(DL)システムは、複雑なデータパターンを旧来の手法よりも効果的にモデル化することができる。 パターンをより効果的にモデル化できる。入力に シグモイド変換を掛け合わせることで、SiLUは滑らかな自己ゲート曲線を作成する。 カーブを作り出し、学習中の情報の流れを向上させる。

SiLUのメカニズム

SiLUの数学的定義は簡単である: $f(x) = x \cdot \sigma(x)$, $sigma(x)$ はシグモイド関数である。 関数である。その単純さにもかかわらず、この構造は機械学習(ML)モデル ここで$sigma(x)$はシグモイド関数である。

  • 滑らかさ:SiLUは、ReLUに見られるギザギザの「角」とは異なります。 SiLUは連続微分可能な関数です。 は連続的で微分可能な関数です。この滑らかさは 最適化アルゴリズム ような最適化アルゴリズムを支援します。 を提供することで、勾配降下のような最適化アルゴリズムを支援します。 モデル学習中の収束が速くなります。
  • 非単調性:SiLUの主な特徴は、以下の通りである。 非単調であることである。 入力が増加しても(特に負の領域で)値が減少することがある。この特性により、ネットワークは複雑な 特徴や、ReLUのような関数では捨てられてしまうような「負の」情報を捉えることができ、勾配の消失問題を防ぐことができる。 勾配の消失問題を防ぐのに役立つ。
  • セルフゲーティング:入力信号の大きさに基づいて、入力信号の通過量を決定する。 入力信号の大きさに基づいて通過する量を決定する。これは LSTMに見られるゲート機構を模倣しているが、単純化されている、 に適した、単純化された計算効率のよい方法である。 畳み込みニューラルネットワーク(CNN)

関連概念との比較

SiLUをいつ使うかを理解するには、Ultralyticsの用語集にある他の一般的な活性化関数と区別する必要があります。 Ultralytics 用語集にあります。

  • ReLU対SiLUReLU は、その速度のため、隠れ層の伝統的なデフォルトである。しかし、ReLUはすべての負 を出力し、学習を停止する「死んだニューロン」につながる。SiLUは小さな勾配を許容する。 これによりニューロンをアクティブに保ち ディープ・ネットワークの精度を向上させる。
  • GELUとSiLUの比較 ガウシアン誤差リニアユニット(GELU)は、視覚的にも機能的にもSiLUに非常によく似ている。GELUは主にトランスフォーマ・アーキテクチャ(BERTやGPTなど)で トランスフォーマ・アーキテクチャ(BERTやGPTなど)で主に使用される、 SiLUは、以下のようなコンピュータビジョンタスクの標準となることが多い。 Ultralytics YOLO11ファミリーを含む。
  • シグモイド対SiLUSiLUは SiLUはシグモイド関数を使うが、その目的は異なる。シグモイドは一般的に出力層で使用される。 一方SiLUは隠れ層で特徴抽出を容易にするために使われる。 特徴抽出を容易にする。

実際のアプリケーション

SiLUは、精度と効率が最優先される多くの最先端AIソリューションに不可欠です。

  • リアルタイム物体検出:以下のような最先端の検出器 YOLO11のような最先端の検出器は、バックボーンとネック・アーキテクチャにSiLUを利用している。 アーキテクチャを採用している。これにより、このモデルは高速推論を維持しながら、次のような厳しい条件下でも物体を正確に検出することができる。 を正確に検出しながら、推論速度を高速に維持することができる。 自律走行システムが 夜間の歩行者
  • 医療診断医療画像解析では 医療画像解析では、モデルは MRIやCTスキャンの微妙なテクスチャの違いを識別する必要があります。SiLUの勾配保存の性質は、以下のようなネットワークを支援します。 早期腫瘍の検出に必要なきめ細かな詳細を学習し、ヘルスケアにおけるAIの信頼性を向上させる。 ヘルスケアにおけるAI

Python実装

最近のフレームワークはSiLUを簡単に実装できる。以下は PyTorchを使った簡単な例です。 標準的な線形パスと比較した例です。

import torch
import torch.nn as nn

# Initialize the SiLU activation function
silu = nn.SiLU()

# Create a sample tensor with positive, negative, and zero values
input_tensor = torch.tensor([-2.0, -1.0, 0.0, 1.0, 2.0])

# Apply SiLU: Negative values represent the non-monotonic "dip"
output = silu(input_tensor)

print(f"Input:  {input_tensor}")
print(f"Output: {output}")
# Output demonstrates the smooth transition and retention of negative gradients

技術的な詳細については PyTorch 公式ドキュメントを参照してください。 TensorFlow SiLU実装の公式ドキュメントを参照してください。これらの活性化関数を理解することは これらの活性化関数を理解することは、モデルの最適化をマスターするための重要なステップです。 モデル最適化をマスターするための重要なステップです。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加