循环神经网络(RNN)是基于序列数据(如语言、语音、时间序列)的递归性质而设计的,是一种反馈类型的神经网络,其结构包含环和自重复,因此被称为“循环”。它专门用于处理序列数据,如逐字生成文本或预测时间序列数据(例如股票价格)。
一、RNN网络类型RNN以输入数m对应输出数n的不同,可以划分为5种基础结构类型:
(1)onetoone:其实和全连接神经网络并没有什么区别,这一类别算不上RNN。
(2)onetomany:输入不是序列,输出是序列。可用于按主题生成文章或音乐等。
(3)manytoone:输入是序列,输出不是序列(为单个值)。常用于文本分类、回归预测。
(4)manytomany:输入和输出都是不定长的序列。这也就是Encoder-Decoder结构,常用于机器翻译。
(5)manytomany(m==n):输入和输出都是等长的序列数据。这是RNN中最经典的结构类型,常用于NLP的命名实体识别、序列预测。
二、RNN原理关于RNN模型,我们还是从数据、模型、学习目标、优化算法这几个要素展开解析,使用过程需要重点