激活函数在神经网络中的作用(深度学习网络各种激活函数 Sigmoid、Tanh、ReLU、Leaky_ReLU、SiLU、Mish)
激活函数的目的就是为网络提供非线性化
梯度消失
:梯度为0 , 无法反向传播 ,导致参数得不到更新
梯度饱和:随着数据的变化,梯度没有明显变化
梯度爆炸:梯度越来越大 ,无法收敛梯度消失问题:
1 、反向传播链路过长 ,累积后逐渐减小
2 、数据进入梯度饱和区如何解决:
1、选正确激活函数 ,relu, silu
2 、BN 归一化数据
3 、 resnet 较短反向传播路径
4 、LSTM 记忆网络1 、Sigmoid
函数和导数:
特点:落入两端的数据导数趋于0 ,造成梯度消失 ,用在深度网络难以收敛 。用 BN 批量归一化可以优化此问题 。2 、Tanh
函数和导数:
特点:和sigmoid 差不多 ,就是映射区间不同而已。3 、ReLU
特点:简单粗暴 ,解决梯度消失问题 ,响应区间导数为1 。小于0 的神经元被抑制 ,造成网络稀疏,抑制过拟合 ,利于网络学习有效信息 ,加快收敛速度 。
4 、Leaky_ReLU
特点:** 对relu的改进,小于0也有微小激活 ,避免梯度锯齿问题 。**
5 、SiLU(swish)
特点:** 对relu的改进 ,在0附近进行平滑,缺点:引入指数运算 ,增加计算量 。**
6 、Mish
特点:** 和silu 差不多 。**
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!