logo

機械学習におけるReLUとは? 📂機械学習

機械学習におけるReLUとは?

定義

機械学習において、次の関数を正規化線形ユニットRectified Linear Unit(ReLU), レルーという。

$$ f(x) = x^{+} := \max \left\{ 0, x \right\} $$

ReLU.png

説明

電気電子工学ではこれをランプ関数ramp functionという。機械学習における活性化関数としての観点ではなく、関数そのものについての説明や性質(さまざまな定義方法、導関数など)はランプ関数の文書を参照しよう。

'整流'rectificationという名前は、電気工学でダイオードが交流信号の正の成分のみを通過させる整流に由来する。$\operatorname{ReLU}$も入力が正ならそのまま通過させ、負なら$0$に切り捨てるので、整流器とまったく同じように動作する。

歴史

整流の形の活性化はニューラルネットワーク研究の初期から登場していた。Fukushimaは1969年、視覚特徴抽出のための多層ニューラルネットワークで負の入力を$0$に切り捨てる活性化を用いた1。「正規化線形ユニット」という名前は、NairとHintonが2010年のICMLで発表した論文に由来する2。彼らは制限ボルツマンマシンrestricted Boltzmann machineの隠れユニットを正規化線形ユニットに置き換えると性能が改善されることを示した。翌年、Glorot、Bordes、Bengioは、シグモイドや双曲線正接の代わりに整流活性化を用いれば、当時深層ニューラルネットワークの学習に必須と見なされていた教師なし事前学習なしでも深層ニューラルネットワークをうまく学習させられることを示した3

活性化関数としての用途

$\operatorname{ReLU}$が活性化関数として広く用いられる理由は次のように整理される。

  • 勾配消失の緩和: シグモイド関数は導関数の最大値が$1/4$であり、入力の絶対値が大きいと勾配が$0$に近づく飽和が起こるので、層を深く積むと勾配消失が必然的に発生する。一方$\operatorname{ReLU}$は正の領域で導関数が常に$1$なので勾配が層を通っても減少せず、おかげではるかに深いニューラルネットワークを学習させられる。

  • 計算効率: 指数関数の計算なしに比較演算一つで済むので、順伝播も逆伝播もシグモイド系よりはるかに安価である。ちなみに$0$で微分不可能である点は実戦では問題にならない。実装ではその点の勾配を単に$0$か$1$としておけばよい。

  • スパース性: 出力のかなりの部分が正確に$0$となり、スパースな表現を作る。これが実際のニューロンの発火の仕方に似ており学習にも有利だ、というのがGlorotらの主張である3

死んだ$\operatorname{ReLU}$と変形

もちろん短所もある。負の領域では勾配がまったく$0$なので、学習中にあるニューロンの入力が常に負になってしまうと、そのニューロンはもはや更新されない。これを死んだ$\operatorname{ReLU}$dying ReLU問題という。これを補うために、負の領域に小さな勾配$\alpha$(通常$0.01$)を残した$\operatorname{LeakyReLU}$が提案され4、その勾配$\alpha$自体を学習する**$\operatorname{PReLU}$**parametric ReLUも後に続いた5

$$ \operatorname{LeakyReLU}(x) := \begin{cases} x & x \gt 0 \\ \alpha x & x \le 0 \end{cases} $$

$0$でも微分可能な滑らかな変形としてはソフトプラスと$\operatorname{GELU}$Gaussian error linear unitがある。$\operatorname{GELU}$は標準正規分布の累積分布関数$\Phi$を用いて次のように定義され6、BERTやGPTのようなトランスフォーマー系のモデルで標準のように用いられる。

関連リンク


  1. Fukushima, Kunihiko. Visual feature extraction by a multilayered network of analog threshold elements. IEEE Transactions on Systems Science and Cybernetics 5.4 (1969): 322-333. ↩︎

  2. Nair, Vinod, and Geoffrey E. Hinton. Rectified linear units improve restricted Boltzmann machines. Proceedings of the 27th International Conference on Machine Learning (ICML). 2010. ↩︎

  3. Glorot, Xavier, Antoine Bordes, and Yoshua Bengio. Deep sparse rectifier neural networks. Proceedings of the 14th International Conference on Artificial Intelligence and Statistics (AISTATS). 2011. ↩︎ ↩︎

  4. Maas, Andrew L., Awni Y. Hannun, and Andrew Y. Ng. Rectifier nonlinearities improve neural network acoustic models. ICML Workshop on Deep Learning for Audio, Speech and Language Processing. 2013. ↩︎

  5. He, Kaiming, et al. Delving deep into rectifiers: Surpassing human-level performance on ImageNet classification. Proceedings of the IEEE International Conference on Computer Vision (ICCV). 2015. ↩︎

  6. Hendrycks, Dan, and Kevin Gimpel. Gaussian error linear units (GELUs). arXiv preprint arXiv:1606.08415 (2016). $$ \operatorname{GELU}(x) := x \Phi (x) $$ ↩︎