对 RNN 中 BPTT 求导过程的解析尝试

Posted 琥珀彩

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对 RNN 中 BPTT 求导过程的解析尝试相关的知识,希望对你有一定的参考价值。

(转载一次对 RNN 中 BPTT 求导过程的解析尝试 - 知乎

其中关于雅可比的内容 参考: 学习笔记之——Jacobian matrix(雅可比矩阵)学习笔记之——Jacobian matrix(雅可比矩阵)_gwpscut的博客-CSDN博客_jacobian matrix

这篇文章是本人的随笔,目的是为了记录 RNN 的 BPTT 推导过程中容易疑惑或者忽略的关键步骤。适合已熟悉 RNN 基本概念的人,因为这篇文章的内容是 “断章取义” 的,所以如果不了解基本概念可能不能顺利的将其中的符号对号入座从而影响阅读。

内容概览及相关背景知识

产生本文的契机是学习 CS224N 时,课程中通过对 RNN 的权重求导来解释梯度爆炸,如下图。本文就是对这两页 PPT 和相应 note(如下) 中求导过程的补充,主要解决两个问题: 1. 怎么推导出对权重求偏导公式,区别于其他博文的是本文不省略任何步骤,包括了关键步骤中 chain rule 应用;2. 某一 time-step 的隐藏态  对上一 time-step 隐藏态  的求导。

1 来自 CS224N

2 来自 CS224N

note

本文重点:两个问题

  1. 如何推导出第一页 PPT 中的:  ?
  2. 为什么  中结果是乘  而不是  ,毕竟  时,若求  对  的偏导,结果写成 jacobian matrix 形式的话为  而不是  ?

 

答案见下图,两块紫色部分是关键。

以上是关于对 RNN 中 BPTT 求导过程的解析尝试的主要内容,如果未能解决你的问题,请参考以下文章

对 RNN 中 BPTT 求导过程的解析尝试

对 RNN 中 BPTT 求导过程的解析尝试

RNN 循环神经网络-BF 求导过程

深度学习面试题33:RNN的梯度更新(BPTT)

character-RNN模型介绍以及代码解析

RNN与BPTT (公式甚多)