1. 定義と概要
Parametric ReLU関数(PReLU、Parametric Rectified Linear Unit)とは、入力xが0以上のときはそのままxを出力する活性化関数です。0未満のときは、学習可能なパラメータ(アルファと呼ぶ記号αで表す、モデルの動作を決める調整可能な数値)を掛けた値、すなわちαxを出力します。数式で表すとf(x)=x(xが0以上のとき)、f(x)=αx(xが0未満のとき)となります。
αは重みと同様に、誤差逆伝播法(出力側で生じた誤差を逆方向に伝えながら各層の重みを調整する学習手法)によって学習の過程で最適化される値であり、あらかじめ固定された定数ではありません。この点が、後述するLeaky ReLU関数との違いになります。
従来のReLU関数は、入力が0未満のとき常に0を出力します。そのため勾配もゼロになり、ニューロンの重みが更新されなくなるdying ReLU問題(ReLU関数で負の入力が続くとニューロンの出力と勾配が常に0になり、学習が止まってしまう現象)を抱えていました。
この対策として、負の領域にわずかな傾きを持たせるLeaky ReLU関数が提案されました。ただし、その傾きは0.01のような固定値であり、データやタスクに応じた最適な値かどうかは保証されません。
He Kaiming氏らは2015年の論文『Delving Deep into Rectifiers』で、この傾きαをネットワークの重みと同時に学習させるPReLU関数を提案しました。この提案により、大規模画像分類タスクでReLU関数を上回る性能を報告しています。
2. 試験対策ポイント
PReLU関数の構造をReLU関数やLeaky ReLU関数と正確に見分けられるかどうかが、まず整理したい論点です。入力が0以上ならそのまま出力し、0未満なら学習可能なパラメータα(負の傾き)を掛けて出力するという定義そのものが識別点であり、αが固定値かどうかという1点にLeaky ReLU関数との違いが集約されています。
提案者と成果も試験対策で欠かせない情報です。He Kaiming氏らは2015年の論文『Delving Deep into Rectifiers』でPReLU関数を提案しました。この論文はImageNet画像分類でtop-5エラー率4.94%を達成したと報告しています。
top-5エラー率とは、モデルが予測した上位5候補の中に正解が含まれない割合を示す評価指標です。この数値は、当時報告されていた人間の識別精度であるエラー率5.1%を初めて上回った成果として知られています。
PReLU関数が解決する課題は、ReLU関数の弱点と合わせて見ておきます。ReLU関数は入力が0未満で常に勾配ゼロとなりニューロンの重みが更新されなくなるdying ReLU問題を抱えますが、PReLU関数やLeaky ReLU関数は負の領域にわずかな傾きを持たせることでこの問題を緩和する関係にあります。
さらに、傾きαを0に固定すればReLU関数と一致し、αを0.01のような小さな固定値にすればLeaky ReLU関数と一致するという包含関係にもあたります。傾きを学習ではなく訓練中にランダムな値から選ぶRandomized ReLU(RReLU)という派生形も存在し、周辺知識として触れておきます。
3. 関連概念との比較・相違点
ReLU関数・Leaky ReLU関数・PReLU関数の違いは、負の入力をどう扱うかという一点に集約されます。三つを並べると次のとおりです。
| 活性化関数 | 負の入力への対応 | 負の領域の傾き |
|---|---|---|
| ReLU関数 | 常に0を出力し、勾配もゼロになる | 傾きを持たない |
| Leaky ReLU関数 | わずかな傾きを持たせた値を出力する | 0.01のようにあらかじめ決められた固定値 |
| PReLU関数 | αxという非ゼロの出力と勾配を持つ | 誤差逆伝播法で他の重みと同様に更新される |
Leaky ReLU関数とPReLU関数の最大の違いは、負の領域の傾きが固定値か、誤差逆伝播法で学習される可変パラメータかという点にあります。PReLU関数の傾きαは訓練データに応じて更新されるため、PReLU関数はLeaky ReLU関数の傾きを学習可能にした拡張版という位置づけになります。G検定では、固定か学習かという1点が両者を区別する軸として取り違えやすい点です。
ReLU関数との最大の違いは、負の入力への対応にあります。数式のうえでは、傾きαを0にするとPReLU関数はReLU関数と一致するため、ReLU関数はPReLU関数の特別な場合という包含関係で捉えられます。この包含関係は、PReLU関数がReLU関数とLeaky ReLU関数をともに一般化した位置づけにあることを示しています。
4. ビジネス・実務での活用シナリオ
画像認識やコンピュータビジョン(コンピュータに画像や映像を解析させる技術分野)の現場では、畳み込みニューラルネットワーク(画像の特徴をフィルタで抽出する層を重ねた、画像認識に強いネットワーク構造)が使われます。この中間層にPReLU関数を採用する例があります。
負の領域の傾きをチャネル(畳み込み層が扱う特徴マップの単位。PReLU関数の傾きαはこの単位ごとに個別に学習されることがあります)ごとに学習させることで、固定的なLeaky ReLU関数に比べてデータに適応した特徴表現を得られる点が、採用の狙いです。
深層モデルの研究開発や、それを支えるフレームワークの実装でもPReLU関数は扱われています。「PyTorch」や「TensorFlow」にはPReLU層が標準で実装されており、追加されるパラメータの数はわずかです。そのため、過学習(訓練データに適応しすぎて、未知のデータへの予測精度が落ちてしまう現象)のリスクを抑えながら、ReLU関数からの置き換えを比較検証できます。
音声認識や医療画像診断のように高い精度が求められる分野でも、dying ReLU問題を避けたい深いネットワーク構成にPReLU関数を適用できます。学習可能な傾きによって負の入力領域の情報損失を抑えられるため、識別精度の底上げが見込めます。
5. 要点まとめ
- PReLU関数は、負の入力に掛ける傾きαを固定値ではなく誤差逆伝播法で学習可能なパラメータとして扱う活性化関数で、ReLU関数とLeaky ReLU関数を一般化した位置づけにあります。
- He Kaiming氏らが2015年の論文『Delving Deep into Rectifiers』でPReLU関数を提案し、ImageNet画像分類でtop-5エラー率4.94%を達成、人間の識別精度5.1%を初めて上回りました。
- Leaky ReLU関数との違いは傾きが固定か学習されるかという1点にあり、PReLU関数はdying ReLU問題への対策として負の領域に非ゼロの勾配を持たせます。
6. 確認問題
問1PReLU(Parametric ReLU)は、入力が0未満のときに乗じる傾きαを、誤差逆伝播法によって他の重みと同様に学習するパラメータとして扱う活性化関数である。
解答・解説をみる
○ 正しい
PReLU関数の定義そのものです。固定値の傾きを使うLeaky ReLU関数と異なり、αは学習によって最適化されます。
問2Leaky ReLU関数とPReLU関数はいずれも負の領域の傾きを学習によって決定する点で共通しており、両者に違いはない。
解答・解説をみる
× 誤り
Leaky ReLU関数の傾きは0.01などの固定値であるのに対し、PReLU関数は傾きαを誤差逆伝播法で学習する点が異なります。固定か学習かという1点が両者を区別します。
問3He Kaiming氏らは2015年の論文でPReLU関数を提案し、ImageNet画像分類において当時報告されていた人間の識別精度を上回る結果を報告した。
解答・解説をみる
○ 正しい
論文『Delving Deep into Rectifiers』でtop-5エラー率4.94%を達成し、人間の識別精度であるエラー率5.1%を初めて上回ったと報告されています。

