用語集

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

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

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

さらに詳しく

ReLU(整流線形ユニット)は、ディープラーニングとニューラルネットワークの分野における基本的な活性化関数である。ネットワークがデータから複雑なパターンを学習できるようにするシンプルさと効率性により、広く使われている。非線形関数であるReLUは、ニューラルネットワークが複雑な関係をモデル化する上で重要な役割を果たし、現代の人工知能(AI)や機械学習(ML)アプリケーションの要となっている。

定義

ReLU(Rectified Linear Unit)はニューラルネットワークで使われる活性化関数である。f(x)=max(0,x)と定義され、入力が正であればそのまま出力し、そうでなければゼロを出力する。このシンプルかつ効果的な関数は、ネットワークに非線形性を導入し、データの複雑なパターンを学習するのに不可欠である。ReLUは区分線形関数であり、x=0で振る舞いを変える。

ReLUの仕組み

ReLU活性化関数は、負の入力値をすべてゼロに設定し、正の入力値はそのまま通過させる。ニューラル・ネットワークの文脈では、ReLU は各ニューロンについて、それが受 け取る入力をチェックする。ニューロンへの入力の合計が正の場合、ReLU はその値を出力してニューロンを活性化する。合計が負であれば、ReLU はゼロを出力してニューロンを非活性化する。この動作は、任意の時点でニューロンのサブセットのみが活性化されるような、 疎な活性化を作り出し、より効率的な計算と特徴学習につながる。

ReLUの利点

ReLUにはいくつかの利点があり、それが人気の理由となっている:

  • 計算効率:ReLUは単純な演算(比較とmax関数)を含むため計算量が少なく、シグモイドやtanhのような複雑な活性化関数と比較して、学習と推論にかかる時間が短縮される。
  • 勾配消失問題への対応:ディープネットワークでは、勾配が複数のレイヤーをバックプロパゲートする際に非常に小さくなり、学習の妨げになることがあります。ReLUは勾配1を一定に保つことで、正の入力に対するこの問題を軽減し、より深いネットワークにおける勾配の流れを改善します。これは、物体検出に使用されるUltralytics YOLO モデルのような、非常に深いニューラルネットワークを学習する際に特に有益です。
  • スパース性:負の入力に対してゼロを出力することで、ReLUはネットワークの活性化にスパース性を持たせる。スパース表現は多くの場合より効率的で、ネットワークが入力の些細な変化に対する感度が低くなるため、より優れた汎化性能につながります。
  • より速い収束:経験的な研究によると、ReLUを使用したネットワークは、シグモイド関数やtanh関数を使用したネットワークに比べて、学習中の収束が速い傾向がある。これはReLUが正入力に対して線形で飽和しないためです。

ReLUのデメリット

その利点にもかかわらず、ReLUにはいくつかの限界もある:

  • 瀕死のReLU問題:ReLUの重大な問題は、「瀕死のReLU」問題である。大きな勾配がReLUニューロンを流れて、ニューロンの入力が常に負になるように重みが更新されると、ニューロンの出力はゼロになり、そのニューロンを通る勾配もゼロになる。これは、学習への寄与を停止するため、ニュー ロンが事実上「死ぬ」ことを意味し、これは不可逆的である。
  • ゼロ中心の出力ではない:ReLUはゼロか正の値を出力するが、これは出力がゼロを中心にしていないことを意味する。これは、後の層のニューロンが常に正の入力を受け取るため、学習が遅くなることがあり、最適でない勾配更新につながる可能性がある。Tanh (Hyperbolic Tangent)GELU (Gaussian Error Linear Unit)のような関数は、ゼロ中心の出力を提供することでこれを克服する。

ReLUの応用

ReLUは様々なAIやMLアプリケーション、特にコンピュータビジョンやディープラーニングで広く使用されている:

  • 画像認識と物体検出:ReLUは、画像分類や 物体検出タスクに使用される畳み込みニューラルネットワーク(CNN)における標準的な活性化関数である。モデル Ultralytics YOLOv8YOLOv10のようなモデルは、リアルタイムの物体検出で最先端の性能を達成するために、そのアーキテクチャーにReLUやそのバリエーションを利用することが多い。例えば、スマートな小売店の在庫管理では、ReLUはYOLO モデルが視覚データを効率的に処理して商品を識別し、カウントするのに役立っている。
  • 自然言語処理(NLP):コンピュータビジョンほど一般的ではないが、ReLUとその変種は、非線形性を導入して計算効率を向上させるために、特にトランスフォーマアーキテクチャ内のフィードフォワードネットワークにおいて、いくつかの自然言語処理モデルでも使用されている。例えば、感情分析やテキスト生成タスクでは、ReLUはテキストデータを処理するニューラルネットワークの特定のレイヤーで採用されることがある。

ReLU対リーキーReLU

Leaky ReLUは、「死にゆくReLU」問題に対処するために設計されたReLUの変種である。負の入力に対して正確にゼロを出力するReLUとは異なり、Leaky ReLUは入力が負のとき、入力の小さな線形成分(例えば0.01x)を出力する。負の入力に対するこの小さな勾配は、ニューロンが完全に「死ぬ」ことなく、入力が負であっても学習できることを保証する。Leaky ReLUは性能と安定性を向上させることができる場合もあるが、標準的なReLUは、その単純さと計算効率の高さから、多くのアプリケーションにおいて頑健で広く有効な選択肢であり続けている。

関連概念

  • 活性化関数:ReLUは活性化関数の一種で、ニューラルネットワークに非線形性を導入し、複雑な関係を学習できるようにする。その他の一般的な活性化関数には、シグモイドタンソフトマックスなどがあります。
  • ディープラーニング(DL):ReLUはディープラーニングモデルの基本コンポーネントであり、データの階層的表現を学習するために多層を持つディープニューラルネットワークを利用する。
  • ニューラルネットワーク(NN):ReLUはニューラルネットワークの構成要素であり、入力データを処理して変換するニューロンの活性化関数として機能する。
  • 勾配降下:ReLUの特性、特に正の入力に対する一定の勾配は、ニューラルネットワークの学習に使用される勾配降下最適化アルゴリズムにとって有益である。
  • 消失勾配問題:ReLUは、ディープ・ニューラル・ネットワークを学習する際の一般的な課題である消失勾配問題を軽減するのに役立つ。
  • 瀕死のReLU問題:ReLUは勾配の消失に対処する一方で、瀕死のReLU問題を引き起こす。
  • リーキーReLULeaky ReLUはReLUを改良したもので、負の入力に対して小さく非ゼロの勾配を許容することで、ニューロンが不活性になるのを防ぐように設計されている。
すべて読む