激活函数-sigmod tanh relu leaky-relu

神经网络每个神经元都需要激活函数(Activation Function)来进行非线性运算。逻辑回归模型使用的 Sigmoid 函数,也是一种激活函数。下面重点介绍几个神经网络常用的激活函数 g(x),并作个简单比较。

【sigmod函数】

【tanh函数】

【ReLU函数】

【Leaky ReLU函数】

介绍完了这些常用的激活函数之后,考虑如何选择合适的激活函数呢?首先我们来比较 Sigmoid 函数和 tanh 函数。对于隐藏层的激活函数,一般来说,tanh 函数要比 Sigmoid 函数表现更好一些。因为 tanh 函数的取值范围在(-1,+1),即隐藏层的输出被限定在(-1,+1)之间,可以看成是在 0 值附近分布,均值为 0。这样从隐藏层到输出层,数据起到了归一化(均值为 0)的效果。因此,隐藏层的激活函数,tanh 比 Sigmoid 更好一些。而对于输出层的激活函数,因为二分类问题的输出取值为 [0, 1] 之间,所以一般会选择 Sigmoid 作为激活函数。

观察 Sigmoid 函数和 tanh 函数,我们发现有这样一个问题,就是当 |z| 很大的时候,激活函数的斜率(梯度)很小。因此,在这个区域内,梯度下降算法会运行得比较慢。在实际应用中,应尽量避免使 z 落在这个区域,使 |z| 尽可能限定在零值附近,从而提高梯度下降算法运算速度。

为了弥补 Sigmoid 函数和 tanh 函数的这个缺陷,就出现了 ReLU 激活函数。ReLU 激活函数在 z 大于零时梯度始终为 1;在 z 小于零时梯度始终为 0;z 等于零时的梯度可以当成 1 也可以当成 0,实际应用中并不影响。对于隐藏层,选择 ReLU 作为激活函数能够保证 z 大于零时梯度始终为 1,从而提高神经网络梯度下降算法运算速度。但当 z 小于零时,存在梯度为 0 的缺点。实际应用中,这个缺点影响不是很大,但为了弥补这个缺点,出现了 Leaky ReLU 激活函数,能够保证 z 小于零时梯度不为 0。

值得注意的是,如果是二分类问题,输出层可以使用 Sigmoid 激活函数。如果是预测问题,输出层则可以不需要使用激活函数,因为预测值一般在整个实数范围之间。又或者,如果输出值总是正数,例如房价预测问题,则可以使用 ReLU 激活函数。我想说的是,是否使用激活函数,使用哪个激活函数,并不是固定不变的,需要根据问题本身进行考量和判断,做到活学活用,真正理解

为什么每个神经元需要非线性单元,需要激活函数?
如果激活函数不是非线性,而是线性的
经过推导我们发现 A[2] 仍是输入变量 X 的线性组合。这表明,使用神经网络与直接使用线性模型的效果并没有什么两样。
即便是包含多层隐藏层的神经网络,如果不使用非线性激活函数,最终的输出仍然是输入 X 的线性模型。这样的话神经网络就没有任何作用了。另外,如果只有输出层使用非线性激活函数,那么整个神经网络的结构就类似于一个简单的逻辑回归模型,而失去了神经网络模型本身的优势和价值。因此,隐藏层一般必须使用非线性激活函数。

W 和 b 初始化
神经网络模型在开始训练时需要对各层权重系数 W 和常数项 b 进行初始化赋值。初始化赋值时,b 一般全部初始化为 0 即可,但是 W 不能全部初始化为 0。接下来我们来分析一下原因。
因此,隐藏层四个神经元对应的权重行向量 W1[1]​、W2[1]​、W3[1]​、W4[1]​ 每次迭代更新都会得到完全相同的结果。也就是说,始终有:W1[1]​=W2[1]​=W3[1]​=W4[1]​
这样隐藏层设置多个神经元就没有任何意义了。
所以,一般对 W 进行随机初始化。

在进行参数初始化的时候
值得注意的是,W1 和 W2 都习惯性地乘以 0.01。究其原因,是因为如果使用 Sigmoid 或者 tanh 作为激活函数的话,W 比较小,得到的 |Z| 也比较小(零点附近),而零点附近区域的梯度比较大,这样能大大提高梯度下降算法的更新速度,尽快找到全局最优解。如果 W 较大,得到的 |Z| 也比较大,接近曲线平缓区域,梯度很小,更新速度慢,训练过程也会慢很多。当然,如果使用 ReLU 或者 Leaky ReLU,则可以不乘以 0.01。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值