循环神经网络可以应用到很多不同类型的机器学习任务.
根据这些任务的特点可以分为以下几种模式:
序列到类别模式
、
同步的序列到序列模式
、
异步的序列到序列模式
.
下面我们分别来看下这几种应用模式.
序列到类别模式
序列到类别模式主要用于序列数据的分类问题:
输入为序列
,
输出为类别
. 比如在文本分类中,输入数据为单词的序列,输出为该文本的类别.
除了将最后时刻的状态作为整个序列的表示之外,
我们还可以对整个序列的所有状态进行平均,
并用这个平均状态来作为整个序列的表示
(
如图
6.3b
所示),即
同步的序列到序列模式
同步的序列到序列
模式主要用于
序列标注
(
Sequence Labeling
)
任务
,
即每一时刻都有输入和输出,
输入序列和输出序列的长度相同
.
比如在
词性标注
(Part-of-Speech Tagging
)
中
,
每一个单词都需要标注其对应的词性标签.
异步的序列到序列模式
异步的序列到序列模式
也称为
编码器
-
解码器
(
Encoder-Decoder
)
模型
,
即输入序列和输出序列不需要有严格的对应关系,
也不需要保持相同的长度
.
比如在机器翻译中,
输入为源语言的单词序列
,
输出为目标语言的单词序列。
图
6.5
给出了异步的序列到序列模式示例,其中〈𝐸𝑂𝑆〉表示输入序列的结束, 虚线表示将上一个时刻的输出作为下一个时刻的输入.