ReLUとは?ニューラルネットワークで使われる活性化関数
ReLU(Rectified Linear Unit、修正線形単位)とは、ディープラーニングなどのニューラルネットワークで広く使われている活性化関数の一つです。
ReLUの定義
ReLU関数は非常にシンプルな関数で、数式で表すと以下のようになります:
ReLU(x) = max(0, x)
入力値 x
が0以下の場合は0を出力し、0より大きい場合はそのまま出力します。
グラフで見るReLU
以下はReLU関数のグラフです。xが0より小さいときは出力が0、それ以降はxと一致する直線になります。
ReLUのメリット
- 計算が非常に高速(if文だけで実装可能)
- シグモイドやtanhと比べて、勾配消失問題が起きにくい
- 深いネットワークでも学習が進みやすい
ReLUのデメリット(注意点)
- 入力が0以下だと常に出力が0 → 重みが更新されず死んだノードになる可能性がある(dead ReLU)
改良版ReLU
ReLUの問題を解決するために、以下のような改良版も使われます:
- Leaky ReLU:x<0でも微小な傾きを持つ
- Parametric ReLU(PReLU):傾きを学習する
- ELU(Exponential Linear Unit):指数関数で滑らかに補完
まとめ
ReLUはシンプルかつ効果的な活性化関数であり、現在の深層学習の分野ではデファクトスタンダードとなっています。速度と精度のバランスが取れているため、多くのモデルでまず最初に試すべき選択肢と言えるでしょう。
コメント