首先介绍一下循环神经网络的主要处理对象
序列模型
定义:通常在自然语言、音频、视频以及其它序列数据的模型。
催生了自然语言理解、语音识别、音乐合成、聊机器人、机器翻译等领域的诸多应用。
为什么要用序列模型,以及为什么序列模型在CNN等神经网路中的效果不好
- 序列类型数据前后之间有很强的关联性
- 序列类型数据的输入输出长度不固定
- 如:如果上天能够给我一个再来一次的机会,我会对那个女孩说三个字,____
可以见得,我们会根据前文的内容熟练的填入“我爱你”三个字,而CNN神经网路则很难处理此类数据。由此便催生出了循环神经网络RNN。
循环神经网络
循环神经网络也叫递归神经网路,RNN将状态在自身网路中循环传递,可以接受时间序列结构输入。
先来看看RNN的主要类型
- 一对一:固定的输入到
- 一对多:固定的输入到序列输出,如图像的文字描述
- 多对一:序列输入到输出,如情感分析,文本分类正面负面情绪
- 异步多对多:序列输入到序列的输出,如机器翻译,也称之为编解码网络
- 同步多对多 :同步序列输入到同步输出,如文本生成,视频每一帧的分类,也称之为序列生成