用語集

ReLU(整流リニアユニット)

ディープラーニングにおける重要な活性化関数であるReLUのパワーを発見し、AIやMLのための複雑なパターンを学習する効率的なニューラルネットワークを実現しましょう。

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

さらに詳しく

ReLU(Rectified Linear Unit)は、ディープラーニング(DL)とニューラルネットワークの領域において、基礎となる活性化関数である。ReLUが広く採用されている理由は、その驚くべきシンプルさと計算効率の高さにあり、膨大なデータから複雑なパターンを学習するニューラルネットワーク(NN)を大幅に支援する。非直線性を導入することで、ReLUはネットワークが複雑な関係をモデル化することを可能にし、以下のようなフレームワークを使用して開発されたものを含め、最新の人工知能(AI)や機械学習(ML)アプリケーションに不可欠なものとなっている。 PyTorchTensorFlow.

ReLUの仕組み

ReLU関数の核となる操作は単純で、入力が正の場合は入力値をそのまま出力し、入力が負またはゼロの場合はゼロを出力する。この単純な閾値メカニズムは、ニューラルネットワークに本質的な非線形性を導入する。ReLUのような非線形関数がなければ、ディープネットワークは単一の線形レイヤーのように振る舞い、画像認識や 自然言語処理(NLP)のようなタスクに必要な複雑な関数を学習する能力が著しく制限される。ネットワーク・レイヤーの中で、各ニューロンは重み付けされた入力の和にReLU関数を適用する。和が正の場合、ニューロンは「発火」し、その値を前方に渡す。和が負であれば、ニューロンはゼロを出力し、その特定の入力に対して事実上非アクティブになる。これは、計算効率を高め、よりロバストな特徴表現を学習するのに役立つ。

ReLUの利点

ReLUには、ディープラーニングでその人気を確固たるものにしているいくつかの重要な利点がある:

  • 計算効率:ReLUは単純な比較と、値をゼロにする可能性があるだけなので、シグモイドや tanhのような複雑な活性化関数よりもはるかに高速に計算できる。これにより、学習と 推論の両方のフェーズが高速化されます。
  • 消失勾配を軽減:正または負の入力が大きい場合に勾配が極端に小さくなるシグモイド関数やtanh関数とは異なり、ReLUは正の入力に対して一定の勾配1を持っています。これにより、消失勾配の問題が緩和され、バックプロパゲーション中に勾配がより効果的に流れるようになり、より深いネットワークの学習が可能になります。
  • スパース性の促進:負の入力に対してゼロを出力することで、ReLUはネットワーク内の活性化にスパース性を自然に誘導する。このスパース性は、生物学的神経回路網で観察されるメカニズムを反映し、スパースコーディングのような概念と関連する可能性がある。

デメリットと課題

その長所にもかかわらず、ReLUに限界がないわけではない:

  • 瀕死のReLU問題:ニューロンは、学習中に遭遇したすべての入力に対して一貫してゼロを出力する状態に陥ることがある。これは、大きな勾配更新によって重みがシフトし、ニューロンの入力が常に負になる場合に発生する。これが起こると、そのニューロンを流れる勾配はゼロになり、勾配降下による重みの更新ができなくなる。そのニューロンは事実上「死に」、ネットワークの学習に寄与しなくなる。
  • 非ゼロ中心の出力:ReLUの出力は常に非負(ゼロまたは正)です。このゼロ中心でないことは、ゼロ中心の活性化関数に比べて、勾配降下最適化プロセスの収束を遅くすることがあります。

ReLUと他の活性化機能との比較

ReLUはしばしばその変形や他の活性化関数と比較される。Leaky ReLUは、入力が負である場合に小さくゼロでない勾配を許容することで、瀕死のReLU問題に対処します。指数線形ユニット(Exponential Linear Unit:ELU)は、平均的にゼロに近い出力を生成することを目的とし、より滑らかな勾配を提供する別の選択肢ですが、計算コストが高くなります。SiLU(シグモイド線形ユニット)は、Swishとしても知られ、次のようなモデルで使用されるもう1つの一般的な選択肢です。 Ultralytics YOLOv8YOLOv10のようなモデルでよく使われる選択で、しばしば性能と効率の良いバランスを提供します(活性化関数の比較を参照)。最適な選択は、特定のニューラルネットワークアーキテクチャ、データセット(ImageNetなど)、および経験的結果に依存することが多く、多くの場合、ハイパーパラメータのチューニングによって決定されます。

AIとMLの応用

ReLUは強力な活性化関数であり、特にコンピュータビジョン(CV)タスクに使用される畳み込みニューラルネットワーク(CNN)において支配的である。非直線性を効率的に処理できるため、画像データの処理に最適です。

  • 医療画像解析: 医療AIで使われるCNNは、隠れ層にReLUを採用することが多い。例えば、X線やMRIからの複雑な視覚情報を処理して腫瘍や骨折などの異常を検出し、放射線科医の診断を助ける(PubMed Centralの研究例)。ReLUの効率性は、大規模な医療スキャンを迅速に分析するために極めて重要である。
  • 自律走行車: Waymo社などが開発する自律走行車向けシステムは、ReLUを備えたCNNに大きく依存している。これらのネットワークはリアルタイムで物体検出を行い、歩行者、他の車両、交通信号、車線標識などを識別し、安全なナビゲーションを可能にします。ReLUの速度は、自動運転アプリケーションで要求される推論レイテンシを低く抑えるために不可欠です。

ReLUはCNNで広く使われているが、他のタイプのニューラルネットワークでも使われている。テキスト分類や他のNLPタスクに使われるTransformerのようなアーキテクチャでは、その変形や他の機能で置き換えられることもある。のような最先端のモデルは Ultralytics YOLOのような最先端のモデルは、ReLUの亜種やSiLUのような他の効率的な活性化関数を利用することが多い。このようなモデルは、Ultralytics HUBのようなプラットフォームを使用して、最適な結果を得るためのモデルトレーニングのヒントに関するガイドを活用しながら、トレーニングおよびデプロイすることができます。

すべて読む