激活函数
常用激活函数及其导数
- Sigmoid函数
[f(z)=frac{1}{1+exp(-z)}
]
[f^{'}(z)=f(z)(1-f(z))
]
- Tanh激活函数
[f(z)=tanh(z)=frac{e^z - e^{-z}}{e^z + e^{-z}}
]
[f^{'}(z)=1-(f(z))^2
]
- ReLU激活函数
[f(z) = max(0, z)
]
- GTU激活函数
[f(X) = tanh(X cdot W+b)cdot sigma(X cdot V+c)
]
- 结构:tanh激活单元+sigmoid激活单元
- 存在梯度消失问题
- GLU激活函数
[f(X) = (Xcdot W+b) cdot sigma(X cdot V+c)
]
- 结构:ReLU激活单元+sigmoid激活单元
- 不会存在梯度消失问题
- SELU (scaled exponential linear units)激活函数
[egin{aligned} ext{selu}(z) = lambda egin{cases} z quad & ext{if} z > 0 \ alpha e^z - alpha quad & ext{if} z le 0 end{cases} end{aligned}
]
- 具有自归一化功能。其中(alpha, lambda)是两个常数
- Swish激活函数
[f(z)=zcdot sigma(z)
]
[f^{'}(z)=f(z) + sigma(z)(1-f(z))
]
![](https://img2018.cnblogs.com/blog/1878606/201911/1878606-20191124155632362-2122623676.jpg)
Sigmoid和Tanh梯度消失问题
ReLU优缺点
- 优点
- 不需要计算指数,方便
- 非饱和性有效解决梯度消失问题,提供相对宽的激活边界
- 单侧抑制提供了网络的稀疏表达能力
- 局限性
- 神经元死亡问题
- 负梯度在经过该ReLU单元时被置为0,且在之后不被激活,梯度永远为0
- 如果学习率设置较大,会导致一定比例的神经元不可逆死亡,进而参数梯度无法更新
- 改进
原文地址:https://www.cnblogs.com/weilonghu/p/11922739.html