1、基础概念
RNN(Recurrent Neural Network)是一种特殊的神经网络结构,适用于处理序列数据。它不仅考虑前一时刻的输入,而且赋予了网络对前面的内容的一种'记忆'功能。RNN的结构特点是在层与层之间建立了权连接,同时在层之间的神经元之间也建立的权连接。具体表现为,在每个时刻,输入数据不仅会传递到当前层的神经元,还会传递到上一层的神经元,这使得RNN能够利用之前存储的信息来处理当前的输入。这种结构使得RNN能够更好地捕捉输入数据之间的时间相关性和长期依赖性。
2、核心思想
RNN的核心思想是将当前时刻的输入数据和之前的隐藏状态结合起来进行处理,通过这种方式来解决传统神经网络无法处理的序列数据问题。
3、常见结构
1、基本结构
- 输入:x1,x2,x3,...xi
- 输出:y1,y2,y3,...yi
- 特点:多输入对应多输出、输入输出维度相同
- 应用:特定信息识别
2、多输入单输出结构
- 输入:x1,x2,x3,...xi
- 输出:y
- 特点:多输入单输出
- 应用:情感判断
3、单输入多输出结构
- 输入:x
- 输出:输出:y1,y2,y3,...yi
- 特点:单输入多输出
- 应用:序列数据生成(文章生成、音乐生成)
4、不同维度的多输入多输出结构
- 输入:x1,x2,x3,...xi
- 输出:y1,y2,y3,...yi
- 特点:多输入多输出、输入输出维度不同
- 应用:语言翻译
4、普通RNN结构的缺点
- 前部序列信息往后传递时导致信息权重下降,导致重要信息丢失
- 求解过程梯度消失