论文解读(21)- RNN,LSTM,GRU
这次是来好好系统回顾一下这些经典的模型算法
参考:
人人都能看懂的LSTM - 知乎
史上最详细循环神经网络讲解(RNN/LSTM/GRU) - 知乎
LSTM从入门到精通(形象的图解,详细的代码和注释,完美的数学推导过程)_lstm模型-CSDN博客
1. RNN
循环神经网络(Recurrent Neural Network,RNN)是一种用于处理序列数据的神经网络。
(比如,理解单词在句子中的上下文)
- 相当于存在了一个会变化的状态
主要缺点:
1)长期依赖问题导致的梯度消失:如果我们的句子很长,他在第1000个记忆细胞还能记住并很好的利用第1个细胞的记忆状态吗?答案显然是否定的
2)梯度爆炸:
推导公式:
- L是损失
(真的很详细,建议回头手推一次)
2. LSTM
- 长短期记忆(Long short-term memory, LSTM)是一种特殊的RNN,主要是为了解决长序列训练过程中的梯度消失和梯度爆炸问题。
- 就是在长序列上有更好的表现
LSTM有了Memory Cell和Forget Gate:
三个门:
- Input Gate:中文是输入门,在每一时刻从输入层输入的信息会首先经过输入门,输入门的开关会决定这一时刻是否会有信息输入到Memory Cell。
- Output Gate:中文是输出门,每一时刻是否有信息从Memory Cell输出取决于这一道门。
- Forget Gate:中文是遗忘门,每一时刻Memory Cell里的值都会经历一个是否被遗忘的过程,就是由该门控制的,如果打卡,那么将会把Memory Cell里的值清除,也就是遗忘掉。
3. GRU
推荐视频:
【重温经典】GRU循环神经网络 —— LSTM的轻量级版本,大白话讲解_哔哩哔哩_bilibili
具有了记忆和遗忘的功能
优点:参数量少