AI用語集・ディープラーニングの概要

ReLU関数とは

レルかんすうrectified linear unit略語 ReLU

別名:ReLU、ランプ関数、正規化線形関数

  • シラバス 技術12
  • ◯×チェック3問
  • 練習問題9問

最終更新日:作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未出典

1行定義

ReLU関数とは、入力が0より大きければその値をそのまま出力し、0以下なら0を出力する活性化関数のことです。

くわしく

ReLU関数(Rectified Linear Unit)は、ニューラルネットワークの隠れ層で最もよく使われている活性化関数の1つです。式はf(x) = max(0, x)です。入力が正ならその値をそのまま通し、0以下なら0にします。グラフは、原点で折れ曲がった1本の折れ線になります。ランプ関数とも呼ばれます。

勾配消失に強い理由

誤差逆伝播法では、各層の活性化関数の微分(傾き)を掛け合わせながら、出力層から入力層へ勾配を伝えます。シグモイド関数の微分は最大でも0.25なので、層を重ねるほど勾配が小さくなります。これに対してReLU関数の微分は、入力が正の範囲では常に1です。活性化関数の部分で勾配が縮まないため、深いネットワークでも入力層に近い層まで学習が進みやすくなります。

計算が軽いことも利点です。入力を0と比べるだけなので、指数関数を使うシグモイド関数やtanh関数より速く計算できます。2010年前後の研究で深いネットワークでの有効性が示され、2012年のAlexNetでも採用されました。

弱点

入力が負の範囲では、出力も微分も0です。学習の途中で、あるユニットへの入力が常に負になると、そのユニットは0しか出力せず、重みも更新されなくなります。これは「dying ReLU」と呼ばれます。負の範囲にも0.01倍などの小さな傾きを持たせたLeaky ReLU関数は、この弱点を補う改良版です。なお、入力がちょうど0の点では微分できませんが、実装上は微分を0などと決めて扱います。

また、出力に上限がなく、確率として読める形にもなりません。そのため、分類の出力層ではシグモイド関数やソフトマックス関数を使い、ReLU関数は主に隠れ層で使います。

覚え方

「マイナスは切り捨て、プラスは素通し」と覚えます。

G検定での出題

出題のされ方

シグモイド関数やtanh関数と比べて勾配消失が起きにくい理由、負の入力で出力と勾配が0になる弱点とLeaky ReLU関数による改良、隠れ層と出力層での使い分けが問われます。

混同しやすい用語

用語意味
ReLU関数このページの用語入力が0より大きければその値をそのまま出力し、0以下なら0を出力する活性化関数
Leaky ReLU関数入力が正ならそのまま出力し、0以下なら0.01倍などの小さな傾きを掛けた値を出力する活性化関数

◯×チェック

3問

次の文が正しいか、誤りかを選んでください。

  1. ReLU関数に3を入力すると3が出力され、−2を入力すると0が出力される。

    答えを見る

    答え ◯ 正しい

    f(x) = max(0, x)なので、正の入力はそのまま通り、0以下の入力は0になります。

  2. ReLU関数は、入力が正の範囲では微分が常に1になるため、層を重ねても勾配が小さくなりにくい。

    答えを見る

    答え ◯ 正しい

    微分が最大0.25のシグモイド関数とは違い、活性化関数の微分を掛け合わせる部分で勾配が縮みません。深いネットワークで使われる理由です。

  3. ReLU関数は指数関数の計算を含むため、シグモイド関数よりも計算に時間がかかる。

    答えを見る

    答え × 誤り

    指数関数を含むのはシグモイド関数やtanh関数です。ReLU関数は入力を0と比べるだけなので、計算が軽く済みます。

この用語の練習問題

9問
  1. #0035シグモイド関数と勾配消失難易度 標準・単一選択未回答
  2. #0036出力層の活性化関数の選択難易度 標準・組合せ未回答
  3. #0037ReLU系関数とtanh関数の性質難易度 基礎・単一選択未回答

ほかに6問あります。続けて解くと、すべての問題を順に出題します。

出典

作成:ウカトレ編集部(AIで作成し、別のAIが一次資料と照合)人による確認:未 最終確認日: 対応シラバス:シラバス第1.4版 技術12

誤りを報告

表示設定

テーマ
文字の大きさ
問題演習