一、ReLu/PReLu
激励函数
- 目前
ReLu
激活函数使用比较多,而上一篇论文博客中没有讨论,如果还是使用同样初始化权重的方法(Xavier初始化)会有问题 PReLu
函数定义如下:- 等价于:$$f(y_i) = \max (0,y_i) + a_i\min (0,y_i)$$
ReLu
(左)和PReLu
(右)激活函数图像
二、前向传播推导
1、符号说明
$\varepsilon$……………………………………目标函数
$\mu$……………………………………动量
$\alpha$……………………………………学习率
$f()$…………………………………激励函数
$l$……………………………………当前层layer
$L$……………………………………神经网络总层数
$b$…………………………..…………偏置向量
2、推导过程
可以得到:$$y_l = W_l x_l + b_l……………………………………..(1)$$
$$x_l= f(y_{l - 1})$$根据式
(1)
得:
$$Var[y_l] = n_lVar[w_lx_l]………………………………….(2)$$- 因为初始化权重
w
均值为0
,所以- 期望:$$E(w_l) = 0$$
- 方差:$$Var[w_l] = E(w_l^2) - E^2(w_l) = E(w_l^2)$$
根据 公式(2) 继续推导:
$Var[y_l] = n_l Var[w_l x_l]\\
\quad \quad\quad = n_l[E(w_l^2 x_l^2) - E^2(w_l x_l)]\\
\quad \quad\quad = n_lE(w_l^2)E(x_l^2)\\
\quad \quad\quad = n_lVar[w_l]E(x_l^2)……………………………………..(3)$对于
x
来说:$Var[x_l] \ne E[x_l^2]$,除非x
的均值也是0
,- 对于
ReLu
函数来说:$x_l = \max (0,y_{l - 1})$,所以不可能均值为0
w
满足对称区间的分布,并且偏置${b_{l - 1}} = 0$,所以${y_{l - 1}}$也满足对称区间的分布,所以:- $E(x_l^2) = E[max(0, y_{l-1})^2]\\
\quad \quad\quad= {1\over 2} [E(y_{l-1}^2)]\\
\quad \quad\quad= {1 \over 2} [E(y_{l-1}^2) - E^2(y_{l-1})]……………………………………(4)$
- $E(x_l^2) = E[max(0, y_{l-1})^2]\\
- 将上式
(4)
代入(3)
中得:
$$Var[y_l] = {1 \over 2}{n_l}Var[w_l]Var[y_{l - 1}]……………………………………….(5)$$ - 所以对于
L
层:
$$Var[y_L] = Var[y_1]\prod\limits_{l = 2}^L {1 \over 2}n_lVar[w_l] …………………………………..(6)$$- 从上式可以看出,因为累乘的存在,若是$${1 \over 2}n_lVar[w_l] < 1$$,每次累乘都会使方差缩小,若是大于
1
,每次会使方差当大。 - 所以我们希望:
$${1 \over 2}n_lVar[w_l] = 1$$
- 从上式可以看出,因为累乘的存在,若是$${1 \over 2}n_lVar[w_l] < 1$$,每次累乘都会使方差缩小,若是大于
- 所以初始化方法为:是
w
满足均值为0,标准差为$\sqrt {2 \over n_l}$的高斯分布,同时偏置初始化为0
三、反向传播推导
$\Delta x_l = \widehat W_l\Delta y_l…………………………………………….(7)$
- 假设$\widehat W_l$和$\Delta y_l$相互独立
- 当$\widehat W_l$初始化为对称区间的分布时,可以得到:$\Delta x_l$的均值为
0
△x,△y
都表示梯度,即:
$$\Delta x = {\partial \varepsilon \over \partial x}$$,$$\Delta y = {\partial \varepsilon \over \partial y}$$
根据反向传播:
$$\Delta {y_l} = f^{‘}(y_l)\Delta x_{l + 1}$$- 对于
ReLu
函数,f的导数为0
或1
,且概率是相等的,假设$f^{‘}(y_l)$和$\Delta x_{l + 1}$是相互独立的, - 所以:$$E[\Delta y_l] = E[\Delta x_{l + 1}]/2 = 0$$
- 对于
- 所以:$$E[(\Delta y_l)^2] = Var[\Delta y_l] = {1 \over 2}Var[\Delta x_{l + 1}]……………………………………………(8)$$
- 根据
(7)
可以得到:- $Var[\Delta x_l] = \widehat n_l Var[w_l] Var[\Delta y_l] \\
\quad\quad\quad\quad= {1\over2} {\widehat n_l Var[w_l]Var[\Delta x_{l+1}]}$
- $Var[\Delta x_l] = \widehat n_l Var[w_l] Var[\Delta y_l] \\
- 将
L
层展开得:
$$Var[\Delta x_2] = Var[\Delta x_{L + 1}]\prod\limits_{l = 2}^L {1 \over 2}\widehat n_lVar[w_l]…………………………………………………..(9)$$ 同样令:$${1 \over 2}\widehat n_lVar[w_l] = 1$$
- 注意这里:$\widehat n_l = k_l^2d_l$,而$n_l = k_l^2c_l = k_l^2d_{l - 1}$
所以$w_l$应满足均值为0,标准差为$\sqrt {2 \over \widehat n_l}$的的分布
四、正向和反向传播讨论、实验和PReLu函数
1、正向和方向传播
- 对于正向和反向两种初始化权重的方式都是可以的,论文中的模型都能够收敛
- 比如利用反向传播得到的初始化得到:$$\prod\limits_{l = 2}^L {1 \over 2}\widehat n_lVar[{w_l}] = 1$$
对应到正向传播中得到:
- $\prod\limits_{l=2}^L{1\over2} {n_lVar[w_l]} = \prod\limits_{l=2}^L {n_l \over \widehat n_l}\\
\quad\quad\quad\quad\quad\quad= {k_2^2 c_2 \over k_2^2 d_2} \cdot {k_3^2 d_2 \over k_3^2d_3} \cdot {k_L^2d_L \over K_L^2 d_L} \\
\quad\quad\quad\quad\quad\quad= {c_2 \over d_L}$
- $\prod\limits_{l=2}^L{1\over2} {n_lVar[w_l]} = \prod\limits_{l=2}^L {n_l \over \widehat n_l}\\
所以也不是逐渐缩小的
实验给出了与第一篇论文的比较,如下图所示,当神经网络有30层时,Xavier初始化权重的方法(第一篇论文中的方法)已经不能收敛。
2、
PRelu
对应方差对于PReLu激励函数可以得到:$${1 \over 2}(1 + a^2)n_lVar[w_l] = 1$$
- 当
a=0
时就是对应的ReLu激励函数 - 当
a=1
是就是对应线性函数
- 当
- 本文链接: http://lawlite.me/2017/01/09/论文记录-Relu激励函数权重初始化/
- 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议 。转载请注明出处!