AI資格ドリル
資格を選ぶ↓

用語比較

ReLUとLeaky ReLUの違い|負の入力で勾配が0になるか、小さく残るかで見分ける(G検定)

ReLUは、入力が0以上ならそのまま出し、負なら0にする活性化関数です。Leaky ReLUは、負の入力でも0にせず、入力に小さな傾きを掛けた値を出す、ReLUの改良版です。

G検定では、活性化関数の選択肢の中で、2つの関数の負の側の扱いが問われます。ReLUは負の側が平らで勾配が0、Leaky ReLUは負の側にも小さな傾きがあり勾配が残ると覚えると、選択肢を整理できます。

このページは、Keras公式ドキュメントの2つの活性化層の記述と、dying ReLUを扱った論文(Luほか、arXiv:1903.06733)の抄録をもとに、負の入力での出力・勾配・dying ReLUへの強さの3点で比べます。数値の例は、説明用の架空のデータです。

この記事の根拠と出典

各セクションの見出しの下に、公式資料で確認した内容か編集部の整理かをラベルで示しています。 試験日・料金・申込条件・試験方式は変わることがあるため、申込前に公式サイトで確認してください。G検定の一次情報確認日: 2026-10-02。

結論

ReLU

f(x)=max(x,0)。負の入力は0になり、その側の勾配も0になる。

Leaky ReLU

負の入力にも小さな傾き(negative_slope)を掛けた値を出す。ユニットが活性でないときも、小さな勾配が残る。

見分け方

「負の側が0」ならReLU、「負の側に小さな傾きがある」ならLeaky ReLU。

違いを表で確認

比較軸ReLULeaky ReLU
負の入力での出力ReLU:0になるLeaky ReLU:入力に小さな傾きを掛けた負の値になる
負の入力での勾配ReLU:0になるLeaky ReLU:傾きの値が残る(0にならない)
正の入力での出力ReLU:入力をそのまま出すLeaky ReLU:入力をそのまま出す(ReLUと同じ)
dying ReLUへの強さReLU:ニューロンが不活性になり、どんな入力にも0だけを出す問題が起こり得るLeaky ReLU:Kerasは、活性でないときに小さな勾配を許す層と説明している
追加で決める値ReLU:なし(Kerasの既定では、負の側の傾きは0.0)Leaky ReLU:負の側の傾き(negative_slope)。Kerasの既定は0.3で、ライブラリによって既定値は異なり得る

どこで迷っているかを切り分ける

01

「負の入力でも勾配が残る」の語が出てどちらか迷う人

負の側にも小さな傾きがあるのは、Leaky ReLUです。ReLUは、負の側で出力も勾配も0になります。

02

dying ReLUの語が出てどちらか迷う人

dying ReLUは、ReLUのニューロンが不活性になり、どんな入力にも0だけを出す問題の名前です。その対処として、Leaky ReLUが挙がる設問があります。

03

シグモイドとの違いも整理したい人

シグモイドは、入力が大きくても小さくても勾配が小さくなる関数です。ReLUとLeaky ReLUは、正の側の傾きが1で、負の側の扱いだけが違います。

04

傾きの値を覚えるべきか迷う人

傾きの値は、ライブラリによって既定値が異なり得ます。Kerasの既定は0.3ですが、数字を暗記するより、負の側の傾きが0か、0より大きいかで見分けてください。

具体例で使い分ける

例 1

x=-2での出力と微分を比べる(架空のデータ)

負の側の傾きを0.3としたLeaky ReLUと、ReLUに、同じ入力x=-2を入れた。

  • ReLUの出力はmax(-2,0)=0で、微分も0です。
  • Leaky ReLUの出力は0.3×(-2)=-0.6で、微分は0.3です。
  • 入力がx=-10なら、Leaky ReLUの出力は0.3×(-10)=-3です。

結論: ReLUは負の側で出力も勾配も0、Leaky ReLUは出力が負の値になり、勾配が0.3残ります。

例 2

10層すべてで入力が負のときの、微分の積(架空のデータ)

10層のすべてのユニットの入力が負だったとする。重みは考えず、活性化関数の微分だけを掛ける。

  • ReLUの微分は各層で0なので、10回掛けた積は0です。
  • 傾き0.3のLeaky ReLUは、0.3を10回掛けるので、約5.9×10の-6乗です。

結論: Leaky ReLUの積は小さいものの0ではありません。勾配が0なら、重みの更新量(学習率×勾配)も0です。実際の勾配には重みも掛かるため、微分だけの上限の例示にとどまります。

問題文から答えを選ぶ手順

  1. 1

    負の側を読む

    負の入力が0になるならReLU、小さな負の値になるならLeaky ReLUです。

  2. 2

    勾配を読む

    負の側の勾配が0ならReLU、0でない小さな値ならLeaky ReLUです。

  3. 3

    正の側を読む

    正の側は、どちらも入力をそのまま出します。ここでは見分けられません。

  4. 4

    問題の名前を読む

    ニューロンが死ぬdying ReLUの対処として挙がるのは、Leaky ReLUのように負の側に傾きを残す関数です。

試験での見分け方

  • 1負の側の出力も勾配も0なのがReLU。
  • 2負の側に小さな傾きを持ち、勾配が残るのがLeaky ReLU。
  • 3正の入力の扱いは、2つとも同じ。
  • 4負の側の傾きの値は、ライブラリによって既定値が異なり得る。

誤答しやすい選択肢

Leaky ReLUは、正の側も小さくする関数だと考える

修正: Kerasの式では、x>=0のときf(x)=xです。小さな傾きが掛かるのは、負の側だけです。

Leaky ReLUの傾きは、必ず0.01だと考える

修正: Kerasの既定は0.3です。傾きは引数で決める値で、ライブラリによって既定値が異なり得ます。

dying ReLUは、ReLUだけを使えば防げると考える

修正: dying ReLUは、ReLUのニューロンが不活性になり、どんな入力にも0だけを出す問題です。論文は、対処の最も単純なものの1つとして、初期化手順の変更を挙げています。

確認問題

Q1負の入力で出力も勾配も0になる活性化関数は?

答え: ReLU

f(x)=max(x,0)なので、負の側は平らです。

Q2負の入力にも小さな傾きを掛け、不活性なときにも小さな勾配を許す活性化関数は?

答え: Leaky ReLU

Kerasは、ユニットが活性でないときに小さな勾配を許す層と説明しています。

Q3傾き0.3のLeaky ReLUに、x=-5を入れたときの出力は?

答え: -1.5

0.3×(-5)=-1.5です。

到達チェック

  • ReLUは負の側の出力と勾配が0だと言える
  • Leaky ReLUは負の側に小さな傾きが残ると言える
  • dying ReLUの意味を言える

同じ資格で次に知りたいこと

よくある質問

QKerasのReLU層でも、負の側に傾きを付けられる?

A

KerasのReLU層には、negative_slope引数があり、既定は0.0です。0より大きい値を指定すると、負の側に傾きが付きます。

Qdying ReLUとは何?

A

論文の抄録は、ReLUのニューロンが不活性になり、どんな入力にも0だけを出す問題と定義しています。

QLeaky ReLUは、勾配消失問題を完全に解決する?

A

完全に解決するとは言えません。このページの例のとおり、負の側の勾配が0にならないだけで、層を重ねた積は小さくなり得ます。

次に見る比較

執筆: ミナト編集部(運営者情報を見る)