1. RNN神经网络模型原理
2. RNN神经网络模型的不同结构
3. RNN神经网络-LSTM模型结构
1. 前言
RNN( Recurrent Neural Network 循环(递归)神经网络) 跟人的大脑记忆差不多。我们的任何决定,想法都是根据我们之前已经学到的东西产生的。RNN通过反向传播和记忆机制,能够处理任意长度的序列,在架构上比前馈神经网络更符合生物神经网络的结构,它的产生也正是为了解决这类问题而应用而生的。今天本文介绍RNN的几种不同的结构,有1vsN,Nvs1,NvsM等结构。
2. 1vsN RNN结构
输入只有一个(X),输出有多个(y_1,y_2,...,y_t)
这种1vsN结构的公式为:
[h_t=f(UX+Wh_{t-1}+b)
]
[y_t=softmax(Vh_t+c)
]
应用场景:
- 从图像生成文字(image caption),此时输入的是图像的特征,而输出的序列是一段句子。
- 从类别生成语言或音乐等。
3. Nvs1 RNN结构
输入有多个(x_1,x_2,...,x_t),输出只有一个(Y)
这种1vsN结构的公式为:
[h_t=f(Ux_t+Wh_{t-1}+b)
]
[Y=softmax(Vh_T+c)
]
应用场景:
- 这种结构通常用来处理序列分类问题。如输入一段文字判别所属的类别,输入一个句子判断真情感倾向,输入一段视频并判断它的类别等等。
4. NvsM RNN结构
在NvsM里面我们又可以再细分,如果N=M那就是一一对应的RNN结构
输入有多个(x_1,x_2,...,x_t),输出有多个(y_1,y_2,...,y_t)
应用场景:
- 这种广泛的用于序列标注。
另一种是N!=M的RNN结构
输入有多个(x_1,x_2,...,x_n),输出有多个(y_1,y_2,...,y_m)
如下所示:
应用场景:
- 这种结构广泛的用于机器翻译,输入一个文本,输出另一种语言的文本。