問題 No.1165
ディープラーニングにおいて、中間層の活性化関数としてReLUが非常に広く使われている。それまで主流だったシグモイド関数ではなく、あえてReLUが採用される理由や特徴に関する記述として、最も不適切なものはどれか。
【正解の解説】
出力値が常にマイナス1から1の範囲に収まるように正規化されるため、各層の間でデータのスケールが極端に変化するのを自動で防ぐことができる。
ReLUの定義式は $f(x) = \max(0, x)$ であり、正の入力に対しては上限なく($\infty$ まで)そのままの値を出力します。出力が -1 から 1 の範囲に収まる(正規化される)のは tanh 関数(双曲線正接関数)などの特徴であり、ReLUに関する記述として明らかに誤りです。
スポンサーリンク
【その他の選択肢の解説】
入力が正の値であればどれだけ大きくても微分値が常に1となるため、多層のネットワークであっても勾配消失問題を劇的に抑制できる。
ReLU(Rectified Linear Unit)は $x > 0$ で $f(x) = x$ となるため、正の入力に対する導関数(微分値)は常に1になります。これにより、シグモイド関数のように層が深くなると勾配が0に近づいて学習が停止する「勾配消失問題」を効果的に回避できます。
関数の計算式が極めて単純なものであるため、計算コストを低く抑えられ、モデルの学習を高速化できる。
シグモイド関数やtanh関数は指数関数 $\exp(-x)$ の計算を必要とするため計算コストが高くなります。これに対しReLUは `max(0, x)` という極めて単純な比較演算のみで実装できるため、GPUでの並列計算や膨大な学習の高速化に極めて有利です。
入力が負の値のときには出力が完全に0となるため、一部のニューロンが活性化しない疎な表現を自然に生み出すことができる。
ReLUは $x \le 0$ のときに厳密に0を出力します。これにより、すべてのニューロンが同時に反応するのではなく、特定の入力に対して一部のニューロンのみが活性化する「スパース性(疎な表現)」が自然に生まれ、モデルの汎化性能向上や計算の効率化に貢献します。