深度学习——**函数ReLu、LReLu、PReLu原理解析
简介
论文链接: https://arxiv.org/abs/1502.01852

- 由于项目需要,需要了解msra 权重初始化方法原理, 正好Kaiming 大神这篇论文提出了PReLu。本博客主要介绍PReLu。文中两个创新点是使用PReLu和msra初始化后,在I ImageNet 2012 classification dataset上,达到top5=4.94%,超越了人类识别水平。
原理分析
**函数主要来做非线性变换,目前我知道**函数有20多种,CV领域主要用到是sigmoid、ReLu系列。
- ReLu公式
f(yi)={yi0if,yi>0if,yi≤0(1)
- Leaky ReLu(LReLu)公式
f(yi)={yi0.01∗yiif,yi>0if,yi≤0(2)
- PReLu公式
f(yi)={yiai∗yiif,yi>0if,yi≤0(3)
- The motivation of LReLU is to avoid zero gradients, PReLu是为了防止ReLu在小于0的情况下,梯度为0。根据文中作者介绍,LReLu相对与ReLu对模型影响相差不大。故作者提出了PReLu,通过学习ai,让模型更加完美。其实PReLu=ReLu+ai∗min(0,yi)
- 当ai = 0.01时候,等于LReLu.
-
ai 中的i是指ith channel的参数,yi是指ithfeature map.
PReLu 反向传播过程
- 来自上一层的delta为δ, 求ai梯度 ,根据 chain rule
- 当一个层中a_i每个通道不共享时候
∂ai∂δ=i=1∑w∗h∂f(yi)∂δ∂ai∂f(yi)=i=1∑w∗h∂f(yi)∂δ{0yiif,yi>0if,yi≤0(4)
- 当一个层中只要一个a时,也就是所有通道共享。
∂ai∂δ=j=1∑channeli=1∑w∗h∂f(yi)∂δ∂ai∂f(yi)=j=1∑channeli=1∑w∗h∂f(yi)∂δ{0yiif,yi>0if,yi≤0(5)
- update ai
adopt the momentum method when updating ai
Δai=uΔai+ε∂ai∂δ(6)
umomentum, ε代表学习速率。use ai = 0:25 as the initialization
throughout this pape
实验结果
文中主要对a做了两种实验,一种是一个层只要一个a,也就是share模式。另外一种是一个层中每个通道都有一个a,wise模式。实验表明wise结果更好。

相关文章: