Update 熵和激活函数

pull/2/head
benjas 5 years ago
parent 6dca73ab9b
commit 79c8c8c9d4

@ -707,3 +707,54 @@ K(x, y) = (4+10+18)^2 = 32^2 = 1024
| C | 0.1 | 0.1 | 0.1 | 0.1 | 0.6 |
如上所示我们可以认为A是类别2和类别4的B是类别1的C是类别5的。
#### 激活函数的问题
**杀死梯度**
之前我们计算梯度下降时当值无限接近于边缘如X轴那么梯度就为0也就没办法应用特别是神经网络是串行的结果是累乘的求梯度这样其中一个为0时那么乘以0就全部结果为0
**非原点中心对称**
> 原点对称是0的位置
Sigmoid没有负数都是大于0的当梯度更新的时候要么全为负要么全为正不会有正有负也就是一根筋的往一个方向跑优化更新会产生阶梯式
![1604732378732](assets/1604732378732.png)
那么更新就会慢,收敛效果一般
**Tanh函数**
- 原点中心对称
- 输出在-1到1直接
- 梯度消失现象依然存在,会贴近边缘
![1604732534318](assets/1604732534318.png)
**ReLU函数**
- 公司简单使用
- 解决梯度消失现象,计算速度更快
![1604732635344](assets/1604732635344.png)
> 没有了梯度为0的地方
![1604732590962](assets/1604732590962.png)
> 会直接把小于0的杀死
![1604732707768](assets/1604732707768.png)
> 虚线是其它函数实现是relu可以看到relu函数收敛的非常快
但是上面还存在一个问题就是杀死小于0的神经元那么这些神经元就不会再更新它可能会存在作用所以改进后
**Leaky ReLU**
- 解决了Rulu会杀死一部分神经元的情况
![1604732878237](assets/1604732878237.png)
> 可以看到max里面最小值是0.01x,也就是不会直接杀死
Loading…
Cancel
Save