1行定義
Leaky ReLU関数とは、入力が正ならそのまま出力し、0以下なら0.01倍などの小さな傾きを掛けた値を出力する活性化関数のことです。
くわしく
Leaky ReLU関数は、ReLU関数の弱点を補うために考えられた活性化関数です。leakyは「漏れのある」という意味で、入力が負のときにも、わずかな値を漏らすように出力します。
式とグラフ
式は次のとおりです。
f(x) = x(x > 0のとき)、f(x) = αx(x ≤ 0のとき)
αは0.01などの小さな正の定数です。グラフは、正の側ではReLU関数と同じ傾き1の直線、負の側ではごくゆるやかな右上がりの直線になります。たとえばα = 0.01なら、3を入力すると3、−5を入力すると−0.05が出力されます。
ReLU関数の何を補うのか
ReLU関数は、負の入力に対して出力も微分も0になります。学習の途中で、あるユニットへの入力がいつも負になると、そのユニットには勾配が流れず、重みが更新されなくなります。これをdying ReLU(死んだReLU)と呼びます。
Leaky ReLU関数は、負の側の微分が0ではなくαです。小さいながらも勾配が流れるので、ユニットが学習から完全に外れるのを防げます。正の側の微分は1なので、ReLU関数と同じく、勾配消失が起きにくい性質も保っています。
この関数は、2013年にマースらが音声認識のニューラルネットワークで使ったものです。ただし、その実験では、精度はReLU関数とほとんど変わりませんでした。常にReLU関数より優れているわけではないので、どちらを使うかは実験で確かめます。
発展形
負の側の傾きαを固定せず、ほかの重みと一緒に学習で決めるのがParametric ReLU(PReLU)です。2015年にヒーらが提案し、画像認識の精度向上に使いました。Leaky ReLU関数は、PReLUの傾きを小さな固定値にした特別な場合とみることもできます。
覚え方
「マイナス側も少しだけ漏らして、勾配を止めない」と覚えます。
G検定での出題
出題のされ方
ReLU関数との違い(負の入力でも勾配が0にならない点)、dying ReLUへの対策という位置づけ、負の側の傾きを学習で決めるPReLUとの区別、グラフの形が問われます。
混同しやすい用語
| 用語 | 意味 |
|---|---|
| Leaky ReLU関数このページの用語 | 入力が正ならそのまま出力し、0以下なら0.01倍などの小さな傾きを掛けた値を出力する活性化関数 |
| ReLU関数 | 入力が0より大きければその値をそのまま出力し、0以下なら0を出力する活性化関数 |
◯×チェック
次の文が正しいか、誤りかを選んでください。
-
負の側の傾きが0.01のLeaky ReLU関数に−200を入力すると、出力は−2になる。
答えを見る
答え ◯ 正しい
負の入力には0.01を掛けるので、−200×0.01=−2です。ReLU関数なら出力は0になります。
-
Leaky ReLU関数は、入力が正の範囲でも傾きを0.01倍に抑えるため、出力が大きくなりすぎない。
答えを見る
答え × 誤り
正の範囲ではReLU関数と同じく、入力をそのまま出力します。傾きを小さくするのは負の範囲だけです。
-
負の側の傾きを固定せず、ほかの重みと一緒に学習で決めるようにした活性化関数を、Parametric ReLU(PReLU)という。
答えを見る
答え ◯ 正しい
PReLUは2015年に提案され、画像認識の精度向上に使われました。傾きを固定値とするLeaky ReLU関数を一般化したものです。
この用語の練習問題
出典
- G検定 試験出題範囲(シラバス2024)第1.4版 (技術分野 項目12 活性化関数)
- Andrew L. Maas, Awni Y. Hannun, Andrew Y. Ng, Rectifier Nonlinearities Improve Neural Network Acoustic Models, ICML 2013 Workshop on Deep Learning for Audio, Speech and Language Processing
- Kaiming He, Xiangyu Zhang, Shaoqing Ren, Jian Sun, Delving Deep into Rectifiers: Surpassing Human-Level Performance on ImageNet Classification (2015)