敲重点!反向传播在LSTM中的应用
点击上方关注,All in AI中国
当你越过前馈神经网络,进入卷积神经网络和递归神经网络时,反向传播似乎是许多人感到困惑的话题之一。通过本文介绍的反向传播的基本原理,你可以理解反向传播的全过程。
反向传播是可以使许多人感到困惑的主题之一(除了在简单的情况下,如前馈神经网络)。如果你尝试用谷歌中的知识描述这个主题,你会得到一些文章,它们努力地解释这个领域,但有时符号和图片也会令人感到困惑,因为它们的输入和输出的方向,或者变量名称的表示方式都不同。甚至在LSTM中表示分叉之类的东西也被假定并且在讨论中被省略。
我们将用另一种方式解释LSTM RNN的反向传播。我们想要给你解释通过神经网络反向传播的一般原则。然后将这些原理应用于LSTM(长短时记忆)RNN(递归神经网络)。先从这份笔记开始今天的话题。
这只是我们的思考过程。 我们会让它变得更容易。
如果你还没有阅读Matt Mazur的A Step by Step Backpropagation示例,那么请在继续之前阅读。A Step by Step Backpropagation Example – Matt Mazur
它仍然是反向传播的最佳解释之一,它将使我们谈论的所有内容看起来更加熟悉。
为了理解大多数神经网络中的反向传播,
你必须理解3个原则:
- 功能阶段的前向传播
- 链式法则
- 偏导数在函数级和分叉处反向传播
功能阶段的正向传播
当你查看神经网络时,输入会通过功能阶段传递到输出。 这些输出成为下一个功能阶段的输入并且会转变成输出。 这一直持续到最终输出是神经网络结束时的结果。功能阶段是一种操作,它接受一些输入并将其转换为较微小级别的某些输出。功能阶段的一些示例是输入乘以权重的求和,卷积运算(对输入的结构子集求和,其中构成权重的补丁值与具有与补丁相同形状的输入的子集相乘),通过激活函数、最大池、softmaxing、损失计算等传递输入。为了完成反向传播,首先你需要了解作为正向传播一部分的功能阶段。
下面我们来看看LSTM。
https://drive.google.com/file/d/1RTLuTLWzyGUNvXstOdYlhdN-HbnGBntg/view?usp=drive_open
作者:Abraham Kang & Jae Duk Seo