Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
123
Help us understand the problem. What are the problem?

More than 3 years have passed since last update.

@hokekiyoo

活性化関数ReLUについてとReLU一族【追記あり】

(追記)活性化関数が学習に及ぼす影響

下記記事にて実験&解説を実施。興味があれば是非。

【ReLU, PReLU, シグモイド etc...】ニューラルネットでよく使う活性化関数の効果をKerasで調べてみた

ReLUの良さ

  • $\max(0,x)$は単純ゆえに早い
  • 0を作る→スパース性につながる
  • $x>0$の部分では微分値が常に1であるため勾配消失の心配はない

ReLUが活性化関数になれる理由

折れ線のようなグラフで近似ができる

wikipediaの最後に,$y=x^2$の近似が載ってる

wikipedia 活性化関数

\phi=\max(0,x)
y\simeq$2\phi(-x - 2) + 2\phi(-x - 1) + \phi(-x) + \phi(x) + 2\phi(x - 1) + 2\phi(x - 2)

google play groundで見ると面白い Link

中間層からの振る舞いを見ると面白い

確かにReLUは折れ線を組み合わせている感じ.

多分各層の数の積の多角形が作れる

  • Linear
    スクリーンショット 2016-11-10 1.42.54.png

  • ReLU
    スクリーンショット 2016-11-10 1.43.14.png

  • sigmoid
    スクリーンショット 2016-11-10 1.43.36.png

ReLU一族

ReLU

$$f = \max(0,x)$$
- 参考(PFN得居さんの資料) : 最適化から見たディープラーニングの考え方

近似関数

$$f = log(1+e^x)$$

Leaky ReLU

最近よく使われている(wikipedia曰く無意味らしいが...)

(wikipedia)
2013年に max(0.01x, x) が LReL (leaky rectified linear) と命名された。ただし、命名者はこの活性化関数を使う意味はなかったと報告している。

f = \begin{cases}
    x & (x>0) 
    \\
    0.01x  & (x<=0)
  \end{cases}

Parametric ReLU

ReLUの傾きをparametricにした

f = \begin{cases}
    x & (x>0) 
    \\
    ax  & (x<=0)
  \end{cases}

Exponential Linear Units

f = \begin{cases}
    x & (x>0) 
    \\
    e^x -1  & (x<=0)
  \end{cases}

図示

ReLU一族図示

0付近が微妙に異なる模様

Unknown.png

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
123
Help us understand the problem. What are the problem?