用語集

SiLU(シグモイド・リニア・ユニット)

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

Ultralytics HUB で
を使ってYOLO モデルをシンプルにトレーニングする。

さらに詳しく

シグモイド線形ユニット(SiLU)は、スウィッシュ関数としても知られ、ニューラルネットワーク(NN)で使用される活性化関数である。活性化関数は、ネットワークに非線形性を導入し、データから複雑なパターンを学習できるようにする重要なコンポーネントである。SiLUはGoogle Brainの研究者によって開発され、様々な深層学習タスクにおける有効性から人気を博しており、より深いモデルではReLUのような旧来の関数を上回ることが多い。

妥当性と利点

SiLUの意義は、モデル性能とトレーニングダイナミクスの改善につながるそのユニークな特性にある。広く使われているReLU関数とは異なり、SiLUは滑らかで非単調です。これは、入力に対して出力が厳密に増加しないことを意味し、より複雑な関数をモデル化することを可能にします。この滑らかさは勾配ベースの最適化に役立ち、トレーニング中の急激な変化を防ぐ。オリジナルのSwish論文を含む研究によると、ReLUをSiLUに置き換えることで、特に非常に深いネットワークにおいて、ImageNetのような困難なデータセットでの分類精度が向上することが示唆されている。SiLUのセルフゲーティング・メカニズムは、情報の流れを調整するのに役立ち、勾配消失問題のような問題を軽減する可能性がある。

他の活性化関数との比較

SiLUは、他の一般的な活性化関数と比較して、異なるプロファイルを提供する:

  • ReLU(整流線形ユニット)より単純で計算効率が良いが、ニューロンが活動しなくなる「死にゆくReLU」問題に悩まされることがある。ReLUは単調で、ゼロでは滑らかではない。
  • リークReLUReLUの改良版で、負の入力に対して小さく非ゼロの勾配を許容することで、死にゆくニューロンの問題に対処する。ReLUのように、Leaky ReLUは単調である。
  • GELU (Gaussian Error Linear Unit):もう1つの滑らかな活性化関数で、変圧器モデルでよく使われる。GELUはReLUのように単に符号でゲーティングするのではなく、その大きさで入力を重み付けする。SiLUは、経験的に良い結果を出すこともある、滑らかな代替関数と見なすことができる。より多くの比較のために、一般的な活性化関数の概要を見つけることができます。

SiLUの応用

SiLUは汎用性が高く、ディープラーニングモデルが使用される様々な領域で応用に成功している:

  • 物体検出:最新の物体検出モデル。 Ultralytics YOLOに関連するアーキテクチャーを含む、最新の物体検出モデルは、画像やビデオ内の物体の識別と位置特定の精度を向上させるために、SiLUや同様の高度な活性化関数を組み込むことがよくあります。これにより、自律走行から小売店分析に至るまで、様々なアプリケーションの性能が向上し、より優れたモデル評価洞察に貢献します。
  • 自然言語処理(NLP):SiLUは、テキスト分類、機械翻訳、感情分析のようなタスクのために、変換器アーキテクチャや他のNLPモデル内で使用することができます。その特性は、モデルが複雑な言語パターンを捉え、理解と生成能力を向上させるのに役立ちます。その他のNLPアプリケーションを見る
  • 画像分類画像分類用に設計された深い畳み込みニューラルネットワーク(CNN)において、SiLUはReLU層を置き換えることができ、多くの場合、特にネットワークの深さが増すにつれて、より良い収束と最終的な精度につながる。これは、COCOのようなデータセットを扱う場合に関連します。

SiLUは、次のような主要なディープラーニングフレームワークですぐに利用可能です。 PyTorch (として torch.nn.SiLU文書化されている これそして TensorFlow (として tf.keras.activations.swish文書化されている これ).プラットフォーム Ultralytics HUB サポート トレーニング そして 展開 このような高度なコンポーネントを利用したモデルの

すべて読む