zl程序教程

您现在的位置是:首页 >  IT要闻

当前栏目

【机器学习每日一问06】为什么LSTM使用sigmoid和tanh作为激活函数

2023-04-18 14:49:20 时间

门(输入门,输出门,遗忘门)使用sigmoid,求值(

​)使用tanh。

为什么?

  1. 门是控制开闭的,全开时值为1,全闭值为0。用于遗忘和保留信息。
  2. 对于求值的激活函数无特殊要求。

能更换吗?

  1. 门是控制开闭的,全开时值为1,全闭值为0。用于遗忘和保留信息。门的激活函数只能是值域为0到1的,最常见的就是sigmoid。
  2. 对于求值的激活函数无特殊要求。

能不能把tanh换成relu?

不行

  1. 会造成输出值爆炸。RNN共享参数矩阵​,长程的话相当于多个​相乘,最后输出类似于​

,其中​是 f 激活函数,如果​ W 有一个大于1的特征值,且使用relu激活函数,那最后的输出值会爆炸。但是使用tanh激活函数,能够把输出值限制在-1和1之间。

  1. 这里relu并不能解决梯度消失或梯度爆炸的问题。假设有t=3,最后一项输出反向传播对W​求导,​

。我们用最后一项做分析,即使使用了relu,

​,还是会有两个 W 相乘,并不能解决梯度消失或梯度爆炸的问题。