RNN(Recurrent Neural Network,循环神经网络)可以基于其输出的形式以及神经元之间的连接方式进行分类。以下是几类常见的RNN:
- one-to-one:普通前馈神经网络,仅将输入连接到输出,没有循环连接。
应用举例:图像分类
- one-to-many:仅在序列的起始位置输入一个向量,并生成一个序列。
应用举例:图像转文字
- many-to-one:在每个时间步输入一个向量,并生成一个单一的向量(例如,情感分析),隐藏节点保存了整个序列的信息并输出预测结论。
应用举例:文本分类
- many-to-many:每一步都有输入和输出。如果输入和输出在不同时间步上,则分为编码器-解码器(encoder-decoder)模型。编码器(RNN)将输入序列映射到向量,解码器(RNN)将向量解码成输出序列;如果输入和输出在相同的时间步上,则分为同步(synchronous)和异步(asynchronous)RNN模型。
应用举例:文本翻译
最后一种many-to-many是同步的,不常用。