饱和函数定义:x趋向于正无穷或者负无穷时,函数导数趋近于0,此时称为饱和。
饱和激活函数:sigmod、tanh
非饱和激活函数:ReLU、Leaky Relu、gelu
1.单层神经网络
这是普通的神经网络,其输出y只与输入x有关,通过一个映射函数,y=f(wx+b)得到。但是实际中,我们会经常遇到序列型的数据(与时间有关的),这样我们通过普通的神经网络就无法准确的预测,因为其输出不仅与输入x有关,还和其上一时刻的状态有关。因此,循环神经网络RNN应运而生。
2.经典的RNN循环神经网络
这是RNN的结构,其输出不仅与当前输入xt有关,还取决与其上一层的隐藏状态ht-1,输出y=f(w(xt,ht-1)+b)。这里读者可能会疑惑,多出了一条线,怎么就循环了呢?让我们把这个二维空间拉伸到三维空间中。
将三维空间在二维空间投影,是不是很容易将对应连线对上了。
RNN神经网络在处理序列型数据时表现出了很好的性能,但是RNN也存在很多缺点,比如梯度消失和梯度爆炸。之所以出现梯度消失或梯度爆炸是因为tanh和sigmoid激活函数的导数始终在0-1之间;当w权重初始化较大时,长期依赖导致累乘的结果偏大;当w权重初始化较小时,累乘的结果会偏小。