1 定義と基本性質
1.1 数学的表現
ReLU(Rectified Linear Unit)は、深層学習で広く用いられる活性化関数であり、入力値xに対してf(x) = max(0, x)と定義される。すなわち、正の入力はそのまま出力され、負の入力はゼロに変換される。この単純な区分線形関数は、非線形性を導入しながらも計算が極めて効率的である。
1.2 グラフと微分特性
関数のグラフは、x < 0の領域で水平線(y=0)、x > 0の領域で傾き1の直線となり、x=0で折れ曲がりを持つ。微分は、x > 0で1、x < 0で0であり、x=0では厳密には微分不可能だが、実装上は通常1または0に設定される。この微分の振る舞いは、勾配の伝搬に重要な影響を与える。
2 歴史と発展
2.1 活性化関数の変遷
初期のニューラルネットワークでは、シグモイド関数やtanh関数が標準的に用いられていた。これらの飽和性活性化関数は、入力が大きい領域で勾配が極めて小さくなり、深いネットワークの学習を困難にする勾配消失問題を引き起こした。
2.2 ReLUの登場と普及
ReLUは2000年代初頭に提案され、2010年代に入り深層学習の急速な発展とともに広く普及した。AlexNetやVGGNetなど初期の大規模畳み込みニューラルネットワークでの成功を皮切りに、多くのアーキテクチャで標準的な選択肢となった。
2.2.1 生物学的動機
ReLUの形式は、脳の神経細胞における活動電位の発火特性に触発されている。生物学的ニューロンは、膜電位が閾値を超えると発火し、それ以下の場合は活動を示さないというall-or-none的な応答を示す。ReLUの「閾値以下はゼロ、以上は線形」という振る舞いは、この現象を簡略化してモデル化したものと解釈される。
3 利点
3.1 勾配消失問題の緩和
正の領域では微分が常に1であるため、深いネットワークでも勾配が指数関数的に減衰する現象が大幅に軽減される。シグモイド関数のように勾配が消失することがなく、深層学習の実用的な訓練を可能にした重要な要因である。
3.2 計算コストの低さ
ReLUは単純な比較演算と最大値計算のみで実装できる。指数関数や三角関数を含む従来の活性化関数と比較して、計算コストが格段に低く、大規模ネットワークの訓練や推論において明白な速度優位性を持つ。
3.3 スパース性の促進
負の入力を全てゼロに変換するため、ニューロンの出力に自然なスパース性が生じる。スパースな表現は、情報の圧縮や過学習の抑制に寄与すると考えられている。
4 欠点
4.1 Dying ReLU問題
訓練中にニューロンが負の領域に陥ると、勾配が常に0となりパラメータが全く更新されなくなる現象。一度この状態になるとニューロンが事実上「死に」、二度と活性化しなくなる。特に学習率が大きすぎる場合や初期値が不適切な場合に発生しやすい。
4.2 非ゼロ中心の問題
ReLUの出力は常に0以上の非負値であり、ゼロを中心としない。これにより、後段の層の入力が全て正の値に偏り、勾配更新の方向にバイアスが生じる可能性がある。これは収束の不安定化や学習効率の低下につながることがある。
5 変種と改良
5.1 Leaky ReLU
負の領域で微小な傾き(通常0.01)を持つようにしたバージョン。f(x) = max(αx, x)(αは小さい正の定数)と定義され、Dying ReLU問題を軽減する。
5.2 Parametric ReLU (PReLU)
Leaky ReLUの傾きαを学習可能なパラメータとしたもの。ネットワークがデータに応じて負領域の勾配を最適化できる。
5.3 Exponential Linear Unit (ELU)
負の領域で指数関数を用い、滑らかな飽和を導入した関数。f(x) = x (x ≥ 0), α(exp(x) - 1) (x < 0)。ノイズに対して頑健で、平均出力をゼロに近づける効果がある。
5.4 Swish / SiLU
f(x) = x * sigmoid(x) で定義される関数。ReLUと同程度の性能を示しつつ、より滑らかな非線形性を持つ。近年Transformerなど大規模モデルで採用されることが増えている。
5.5 その他の派生関数
GELU(Gaussian Error Linear Unit)、Mishなど、様々な改良型活性化関数が提案されている。これらの多くは、ReLUの利点を維持しつつ、Dying ReLU問題や非ゼロ中心問題に対処することを目的としている。
6 応用
6.1 画像認識
畳み込みニューラルネットワーク(CNN)の標準的な活性化関数として、画像分類、物体検出、セグメンテーションなど幅広いタスクで使用される。AlexNet、VGGNet、ResNetなど主要なアーキテクチャで採用されている。
6.2 自然言語処理
Transformerモデルや再帰型ネットワーク(RNN)などの系列モデルでも広く利用される。注意機構を基盤とするモデルでは、フィードフォワード層の活性化関数としてReLUまたはその変種が一般的である。
6.3 強化学習
深層Qネットワーク(DQN)や政策勾配法など、深層強化学習の多くの手法で活性化関数として採用されている。効率的な学習と安定した収束に寄与する。
7 実装上の注意
7.1 初期化と学習率
ReLUを用いるネットワークでは、適切な重み初期化が重要である。He初期化(Kaiming初期化)は、ReLUの非線形性を考慮して設計され、分散を適切に調整することで勾配の消失・爆発を防ぐ。また、学習率の設定が大きすぎるとDying ReLU問題を誘発するため、適切な調整が必要である。
7.2 バッチ正規化との併用
バッチ正規化は、活性化関数の前後に適用することで、入力分布を平均0、分散1に正規化する。これによりReLUの非ゼロ中心問題が緩和され、Dying ReLU問題の発生リスクも低減される。両者の併用は現代の深層学習実装上ほぼ標準的である。
8 関連トピック
8.1 活性化関数の比較
活性化関数は、非線形性の種類、勾配特性、計算コスト、汎化性能などの観点から比較される。ReLUはこれらのバランスに優れているが、タスクやアーキテクチャによってSwishやGELUなどが優位となる場合もある。選択は実験的な評価に基づくことが多い。
8.2 深層学習理論における役割
ReLUの成功は、深層学習の理論的理解にも影響を与えた。区分線形関数としての性質は、ネットワークの表現力解析や勾配伝搬の理論的研究において重要な対象となっている。また、ReLUのスパース性や勾配特性は、ニューラルネットワークの内部表現に関する研究の基盤となっている。