|
|
@ -706,4 +706,55 @@ K(x, y) = (4+10+18)^2 = 32^2 = 1024
|
|
|
|
| B | 0.9 | 0.1 | 0.1 | 0.1 | 0.1 |
|
|
|
|
| B | 0.9 | 0.1 | 0.1 | 0.1 | 0.1 |
|
|
|
|
| C | 0.1 | 0.1 | 0.1 | 0.1 | 0.6 |
|
|
|
|
| C | 0.1 | 0.1 | 0.1 | 0.1 | 0.6 |
|
|
|
|
|
|
|
|
|
|
|
|
如上所示,我们可以认为A是类别2和类别4的,B是类别1的,C是类别5的。
|
|
|
|
如上所示,我们可以认为A是类别2和类别4的,B是类别1的,C是类别5的。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#### 激活函数的问题
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**杀死梯度**:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
之前我们计算梯度下降时,当值无限接近于边缘,如X轴,那么梯度就为0,也就没办法应用,特别是神经网络是串行的,结果是累乘的求梯度,这样其中一个为0时,那么乘以0就全部结果为0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**非原点中心对称**:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 原点对称是0的位置
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Sigmoid没有负数,都是大于0的,当梯度更新的时候,要么全为负要么全为正,不会有正有负,也就是一根筋的往一个方向跑,优化更新会产生阶梯式
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
那么更新就会慢,收敛效果一般
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**Tanh函数**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 原点中心对称
|
|
|
|
|
|
|
|
- 输出在-1到1直接
|
|
|
|
|
|
|
|
- 梯度消失现象依然存在,会贴近边缘
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**ReLU函数**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 公司简单使用
|
|
|
|
|
|
|
|
- 解决梯度消失现象,计算速度更快
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 没有了梯度为0的地方
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 会直接把小于0的杀死
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 虚线是其它函数,实现是relu,可以看到relu函数收敛的非常快
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
但是上面还存在一个问题,就是杀死小于0的神经元,那么这些神经元就不会再更新,它可能会存在作用,所以改进后
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
**Leaky ReLU**
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
- 解决了Rulu会杀死一部分神经元的情况
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
> 可以看到max里面最小值是0.01x,也就是不会直接杀死
|