循环神经网络的常见使用模式与架构解析
1. 循环神经网络训练基础
在循环神经网络(RNN)的训练中,使用反向传播(backpropagation)算法来计算关于损失的梯度,这个过程在RNN文献中被称为时间反向传播(BPTT)。RNN本身并不直接完成最终任务,而是作为更大网络中的可训练组件。最终的预测和损失计算由更大的网络完成,误差通过RNN反向传播,这样RNN就能学习对输入序列进行编码,以用于后续的预测任务。监督信号并非直接作用于RNN,而是通过更大的网络传递。
2. 常见的RNN使用模式
2.1 接受器(Acceptor)
- 原理 :监督信号仅基于最终输出向量$y_n$。将RNN训练为接受器,观察最终状态并决定结果。例如,训练RNN逐个读取单词的字符,然后使用最终状态预测该单词的词性;或者读取句子,根据最终状态判断句子的情感是积极还是消极;又或者读取单词序列,判断其是否为有效的名词短语。
- 损失计算 :损失定义为$y_n = O(s_n)$的函数,通常将RNN的输出向量$y_n$输入到全连接层或多层感知机(MLP)中进行预测,然后将误差梯度反向传播到序列的其他部分。损失可以采用常见的形式,如交叉熵、铰链损失、边际损失等。
- 问题 :对于长序列,这种监督信号可能难以训练,尤其是简单RNN,因为存在梯度消失问题。而且这通常是一个较难的学习任务,因为没有明确告知模型应关注输入的哪些部分,但在许多情况下效果很好。
超级会员免费看
订阅专栏 解锁全文
3204

被折叠的 条评论
为什么被折叠?



