RNN:什么时候应用BPTT和/或更新权重?
我正在尝试通过Graves于2005年发表的有关音素分类的论文来理解RNN在序列标记上的高级应用。 总结问题:我们有一个庞大的训练集,包括(输入)单个句子的音频文件和(输出)专家标记的各个音素的开始时间,停止时间和标签(包括一些“特殊”音素,例如静默,以便每个音频文件中的每个样本都标有一些音素符号。) 本文的重点是在隐藏层中应用带有LSTM存储单元的RNN。(他使用了几种变体和几种其他技术作为比较。为了使事情简单,我目前仅对单向LSTM感兴趣。) 我相信我了解网络的体系结构:对应于10毫秒音频文件窗口的输入层,以音频工作的标准方式进行了预处理;LSTM单元的隐藏层,以及对所有可能的61个电话符号进行一键编码的输出层。 我相信我了解通过LSTM单元的向前通过和向后通过的(复杂但直接)的方程式。它们只是微积分和链式规则。 在几次阅读本文和几篇类似文章之后,我不明白的是何时确切地应用反向传播算法,何时确切地更新神经元中的各种权重。 存在两种可能的方法: 1)逐帧反向传播和更新 Load a sentence. Divide into frames/timesteps. For each frame: - Apply forward step - Determine error function - Apply backpropagation to this frame's error - Update weights accordingly At end of sentence, reset memory load another sentence and continue. 要么, 2)逐句反向传播和更新: Load …