YOLO Vision Shenzhen
深セン
今すぐ参加
用語集

GELU(Gaussian Error Linear Unit)

ガウス誤差線形ユニット (GELU) 活性化関数を探求しましょう。その滑らかで確率的な非線形性が、Transformer、BERT、および現代のAIをどのように強化するかを学びます。

ガウス誤差線形ユニット (GELU) は、現代の人工知能 (AI)システム、特にTransformerアーキテクチャに基づくシステムの性能において極めて重要な役割を果たす洗練された活性化関数です。ニューロン入力に厳格で決定論的な閾値を適用する従来の関数とは異なり、GELUはガウス分布の特性に触発された確率的側面を導入します。入力を単にゲートするのではなく、その大きさに応じて重み付けすることで、GELUはより滑らかな非線形性を提供し、ディープラーニング (DL)モデルの最適化を助けます。この独自の特性により、ネットワークは複雑なデータパターンをより効果的にモデル化でき、大規模な基盤モデルの成功に大きく貢献しています。

GELUの仕組み

あらゆるニューラルネットワークの核となる活性化関数は、入力信号に基づいてニューロンが「発火」するかどうかを決定します。整流線形ユニット (ReLU)のような古い関数はスイッチのように動作し、負の入力にはゼロを出力し、正の値には入力自体を出力します。効率的ではあるものの、この急峻なカットオフはトレーニングダイナミクスを妨げる可能性があります。

GELUは、ガウス分布の累積分布関数によって入力をスケーリングすることで、これを改善します。直感的には、入力値が減少するにつれてニューロンがドロップアウトする確率が増加しますが、それは突然ではなく徐々に起こります。この湾曲により、すべての点で微分可能な滑らかで非単調な関数が生成されます。この滑らかさは、勾配のより良い逆伝播を促進し、深層ネットワークのトレーニングを停滞させる可能性のある勾配消失問題のような問題を軽減するのに役立ちます。

実際のアプリケーション

GELUによって提供されるより滑らかな最適化ランドスケープは、機械学習(ML)における最も高度なアプリケーションの一部でデフォルトの選択肢となっています。

関連用語との比較

GELUを理解するには、Ultralytics用語集にある他の一般的な活性化関数と区別することがしばしば必要です。

  • GELU vs. ReLU: ReLUは計算がより単純で、スパース性(厳密なゼロ)を生み出すため、効率的です。しかし、ゼロにおける「鋭い角」は収束を遅らせる可能性があります。GELUは滑らかな近似を提供し、わずかに計算コストが高いものの、複雑なタスクで通常より高い精度をもたらします。
  • GELU vs. SiLU (Swish): Sigmoid Linear Unit (SiLU) は構造的にGELUと非常に類似しており、その滑らかで非単調な特性を共有しています。GELUが自然言語処理 (NLP)で主流である一方、SiLUはエッジハードウェアでの効率性と検出タスクにおける優れた性能から、YOLO26のような高度に最適化された物体検出器で頻繁に好まれます。
  • GELU vs. Leaky ReLU: Leaky ReLUは、負の入力に対して小さな一定の線形勾配を許容することで、標準的なReLUの「発火しないニューロン」問題を解決しようとします。対照的に、GELUは負の値に対して非線形であり、より複雑で適応的な応答を提供し、非常に深いネットワークにおいてより優れた表現学習につながることがよくあります。

実施例

PyTorchのような最新の深層学習ライブラリを使用すれば、GELUの実装は簡単です。以下の例は、入力データのtensorに関数を適用する方法を示しています。

import torch
import torch.nn as nn

# Initialize the GELU activation function
gelu_activation = nn.GELU()

# Create sample input data including negative and positive values
input_data = torch.tensor([-3.0, -1.0, 0.0, 1.0, 3.0])

# Apply GELU to the inputs
output = gelu_activation(input_data)

# Print results to see the smoothing effect on negative values
print(f"Input: {input_data}")
print(f"Output: {output}")

独自のコンピュータビジョンプロジェクトでこれらの高度な活性化関数を活用しようとしている開発者にとって、Ultralytics Platformはワークフロー全体を簡素化します。データのアノテーション、YOLO26(SiLUのような最適化された活性化関数を利用)のようなアーキテクチャを使用したモデルのトレーニング、そしてクラウドまたはエッジデバイスへの効率的なデプロイのための統合インターフェースを提供します。

共にAIの未来を築きましょう!

未来の機械学習で、新たな一歩を踏み出しましょう。