Randomized ReLU関数 (G検定)

Randomized ReLU関数

1. 定義と概要

Randomized ReLU関数(RReLU関数、Randomized Leaky ReLU関数とも呼ばれます)とは、入力が0以上ならそのまま出力し、0未満のときは傾きaを掛けて出力する活性化関数です。式の形はLeaky ReLU関数やPReLU関数と同じですが、傾きaの決め方が異なります。

学習時はユニットごとに傾きをランダムにサンプリング(確率分布から値を無作為に取り出すこと)し、学習の反復ごとに値が変わります。一般的な実装では、下限0.125〜上限0.333の一様分布(指定した範囲内のどの値も同じ確率で選ばれる確率分布)から傾きを選びます。推論(学習済みモデルを使って答えを出す処理)時は出力を一定にするため、傾きを学習時の範囲の期待値(確率的に変動する値の平均的な見込み値。下限と上限の平均であり、既定値ではおよそ0.229)に固定して計算します。

この方式は、Kaggle開催のコンペティションで最初に使われた手法です。2015年発表の論文『Empirical Evaluation of Rectified Activations in Convolutional Network』(Xu, Wang, Chen, Li)で定式化・評価されました。

ReLU関数は負の入力を一律ゼロにするため、学習が進むとニューロンが常にゼロを出力し続けて更新されなくなる「dying ReLU」という課題を抱えます。この対策として負側にも小さな傾きを持たせるLeaky ReLU関数(固定値)とPReLU関数(学習可能な値)が考案されました。

提案論文では、傾きを固定する方式・学習する方式のいずれも小規模なデータセットでは過学習(訓練データに適合しすぎて未知のデータへの精度が落ちる状態)しやすいことが実験で示されました。そこで、学習時に傾きをランダムに変動させ推論時に期待値へ固定するRReLU関数が提案され、正則化(モデルが訓練データに過剰適合しないよう調整する工夫)効果によって過学習を抑える方式として位置づけられています。

2. 試験対策ポイント

まず押さえておきたいのは、RReLU関数が学習時と推論時で異なる挙動をとる点です。同じ関数でありながら、傾きaをどう決めるかが場面によって切り替わります。両者の対応を整理すると次のようになります。

場面 傾きaの決め方 出力の性質
学習時 ユニットごとに一様分布からランダムにサンプリングし、反復のたびに異なる値を使う 反復ごとに変動する確率的な出力
推論時 サンプリング範囲の下限と上限の平均である期待値に固定する 毎回同じ値になる決定的な出力

学習時は確率的、推論時は決定的というこの2段階の挙動が、区別しておきたいポイントです。あわせて、傾きをランダムに変化させる仕組みは、ドロップアウト(学習時に一部のノードをランダムに無効化して過学習を防ぐ手法)に似た正則化効果を持ち、過学習を抑える働きをします。

提案論文では、データセットの規模が小さいほど傾きを固定する方式(Leaky ReLU関数)や学習する方式(PReLU関数)は過学習しやすく、傾きをランダム化するRReLU関数の方が有効という実験結果が報告されています。

ReLU関数の派生形3方式は、Leaky ReLU関数=固定・PReLU関数=学習・RReLU関数=ランダムという傾きの決め方とセットで整理される論点であり、対応関係を取り違えやすい点でもあります。

3. 関連概念との比較・相違点

Leaky ReLU関数との最大の違いは、傾きの決め方にあります。Leaky ReLU関数は0.01などの固定値を傾きとして使うのに対し、RReLU関数は学習の反復ごとに一定範囲からランダムに値を選びます。式の形そのものは同じでも、傾きが常に一定か、学習のたびに変わるかという点で挙動が異なります。

Parametric ReLU関数(PReLU)との最大の違いは、傾きを学習させるかどうかにあります。PReLU関数は誤差逆伝播(出力の誤差を逆向きに伝えてパラメータを更新する学習手法)によって傾きを最適化する学習可能なパラメータ(モデルが訓練を通じて調整する値)です。

これに対しRReLU関数は傾きを学習させず、学習時にランダムサンプリングした値を用い、推論時は期待値で固定します。同じ「傾きを持つReLU関数の派生形」という枠組みの中でも、傾きを固定・学習・ランダムのいずれで扱うかによって3方式に分かれます。対応関係をまとめると次のとおりです。

方式 負側の傾きの決め方 学習中の傾きの値
Leaky ReLU関数 0.01などの固定値をあらかじめ決めておく 最初から最後まで一定
PReLU関数 誤差逆伝播で最適化する学習可能なパラメータ 学習が進むにつれて更新される
RReLU関数 一定範囲の一様分布からランダムに選ぶ 反復ごとに変わり、推論時は期待値に固定

傾きが学習中に動くのか、動くとすれば何によって動くのかという観点で見比べると、3方式の関係を取り違えにくくなります。

4. ビジネス・実務での活用シナリオ

医療画像診断AIの開発では、ラベル付きの症例数が限られる場面が少なくありません。データが少ないほどモデルは訓練データに過剰適合しやすくなるため、傾きをランダム化する正則化効果を持つRReLU関数は、少数データでの過学習を抑える検討材料になります。

過学習を抑えられれば、限られた症例数で学習したモデルでも未知の症例に対する検出精度が大きく落ち込みにくくなり、実運用に耐える安定性を確保しやすくなります。

製造業の外観検査でも、同様の事情があります。不良品のサンプル数が正常品に比べて少ない外観検査モデルの学習では、RReLU関数の正則化効果が汎化性能(未知のデータに対する予測精度)の底上げに寄与する場面があります。汎化性能が底上げされれば、学習時に見ていないタイプの不良を検出精度のばらつきを抑えて捉えやすくなり、目視検査に頼る割合を減らす方向につながります。

画像分類の研究やデータ分析コンペティションでも、限られた学習データで精度を競う場面では、活性化関数の比較検証における選択肢の一つとしてRReLU関数が扱われます。他の活性化関数と並べて試すことで、過学習を抑えながら評価指標を底上げできるかどうかを見極める手がかりになります。

5. 要点まとめ

  • RReLU関数は、ReLU関数の負側の傾きを学習時にランダムサンプリングし、推論時はその期待値に固定して計算する活性化関数です。
  • 傾きの決め方によってLeaky ReLU関数(固定)・PReLU関数(学習)・RReLU関数(ランダム)の3方式に分かれ、G検定ではセットで整理されます。
  • 傾きのランダム化はドロップアウトに似た正則化効果を持ち、提案論文では特に小規模データセットでの過学習抑制に有効と報告されています。

6. 確認問題

問1RReLU関数は、活性化関数の負側の傾きを学習時に一定範囲からランダムに選び、推論(テスト)時にはその期待値に固定して計算する。

解答・解説をみる

○ 正しい

RReLU関数は学習時に傾きaを一様分布からランダムサンプリングし、推論時は下限と上限の平均である期待値に固定して決定的な出力を得ます。

問2Parametric ReLU関数(PReLU)は傾きを誤差逆伝播によって学習するのに対し、RReLU関数は傾きを学習せずランダムに変動させる。

解答・解説をみる

○ 正しい

PReLU関数は傾きを学習可能なパラメータとして最適化するのに対し、RReLU関数は学習時にランダムサンプリングした値を用いる点が異なります。

問3RReLU関数は傾きを誤差逆伝播によって学習し最適化するため、データセットの規模が小さいほど過学習しやすい。

解答・解説をみる

× 誤り

正しくは、RReLU関数は傾きを学習せずランダムに変動させる方式です。提案論文では、傾きを固定または学習する方式(Leaky ReLU関数・PReLU関数)の方が小規模データセットで過学習しやすく、RReLU関数の方が有効と報告されています。