文章目录

反向传播算法大揭秘

注: 该篇博文是我阅读《​​How the backpropagation algorithm works​​》一文的笔记,该博文详细介绍了反向传播算法,并给出了反向传播算法四个基本公式中的前两个证明,我顺着作者的思路证明了后面两个,并记录了证明过程,希望能帮助到需要了解反向传播算法数学原理的童鞋。

符号说明

  • 反向传播算法大揭秘_激活函数表示反向传播算法大揭秘_反向传播算法_02层的第反向传播算法大揭秘_激活函数_03个神经元到反向传播算法大揭秘_深度学习_04层的第反向传播算法大揭秘_深度学习_05个神经元连接的权重.
  • 反向传播算法大揭秘_深度学习_06表示反向传播算法大揭秘_深度学习_04层的第反向传播算法大揭秘_深度学习_05个神经元的偏置,反向传播算法大揭秘_激活函数_09表示反向传播算法大揭秘_深度学习_04层的第反向传播算法大揭秘_深度学习_05个神经元作用于激活函数以后的取值.
  • 对于反向传播算法大揭秘_激活函数_09的计算,我们可以使用如下公式计算:KaTeX parse error: Expected group after '_' at position 19: …_j=\sigma (\sum_̲\limits{k}w^l_{…,其中,反向传播算法大揭秘_反向传播算法_13表示的是激活函数,求和符号表示的是第反向传播算法大揭秘_反向传播算法_02层的所有神经元与反向传播算法大揭秘_深度学习_04层第反向传播算法大揭秘_深度学习_05个神经元连接的加权和.
  • 上式使用矩阵表示则有:反向传播算法大揭秘_反向传播_17,其中,反向传播算法大揭秘_深度学习_18表示反向传播算法大揭秘_深度学习_04层的权重矩阵,矩阵的第反向传播算法大揭秘_深度学习_05行第反向传播算法大揭秘_激活函数_03列的元素为反向传播算法大揭秘_激活函数,类似的,反向传播算法大揭秘_反向传播_23反向传播算法大揭秘_反向传播算法_24用列向量表示第反向传播算法大揭秘_深度学习_05层神经元的偏置和激活值.
  • 对于反向传播算法大揭秘_反向传播_26我们称之为反向传播算法大揭秘_深度学习_04层的加权输出.
  • 设推导反向传播过程中的代价函数为反向传播算法大揭秘_反向传播_28.
  • 我们使用反向传播算法大揭秘_激活函数_29表示两个矩阵对应元素的乘积,即反向传播算法大揭秘_深度学习_30,称之为Hadamard乘积.

反向传播的四个基本公式

反向传播过程中的四个基本公式:

反向传播算法大揭秘_深度学习_31

反向传播算法大揭秘_激活函数_32

反向传播算法大揭秘_反向传播算法_33

反向传播算法大揭秘_反向传播_34

反向传播算法

  1. 输入反向传播算法大揭秘_激活函数_35:输入层的激活值反向传播算法大揭秘_激活函数_36可以假定就是其输入反向传播算法大揭秘_激活函数_35
  2. 前向传播:对于反向传播算法大揭秘_激活函数_38,依次通过反向传播算法大揭秘_反向传播_26反向传播算法大揭秘_反向传播_40公式进行计算激活值
  3. 计算最终输出误差反向传播算法大揭秘_反向传播算法_41:通过公式计BP1算误差向量
  4. 反向误差传播:对于反向传播算法大揭秘_反向传播_42,使用公式分BP2别计算每层神经元对应的误差
  5. 更新权重和增益:根据代价函数的梯度更新权重和增益,如公式BP3和BP4所示

推导过程

下面我们来进行公式的推导

对于公式BP1的推导

设最后一层反向传播算法大揭秘_深度学习_43的第反向传播算法大揭秘_激活函数_44个神经元的误差是

反向传播算法大揭秘_激活函数_45

通过链式法则,我们可以得到

反向传播算法大揭秘_反向传播_46

反向传播算法大揭秘_深度学习_47带入可得

反向传播算法大揭秘_深度学习_48

公式BP1即是上式的矩阵形式

对于公式BP2的推导

对于反向传播算法大揭秘_激活函数_49层的第反向传播算法大揭秘_激活函数_44个神经元,我们使用链式法则有:

反向传播算法大揭秘_深度学习_51

此外,我们有

反向传播算法大揭秘_反向传播算法_52

对上式微分,得

反向传播算法大揭秘_反向传播算法_53

带入公式4,可得

反向传播算法大揭秘_反向传播算法_54

对于公式BP3的推导

对于反向传播算法大揭秘_激活函数_49层的第反向传播算法大揭秘_激活函数_44个神经元,我们使用链式法则有:

反向传播算法大揭秘_深度学习_57

由于反向传播算法大揭秘_反向传播算法_58恒等于1,所以有

反向传播算法大揭秘_反向传播_59

对于公式BP4的推导

因为反向传播算法大揭秘_深度学习_60,取导数有

反向传播算法大揭秘_反向传播算法_61

对于反向传播算法大揭秘_反向传播算法_62层的第反向传播算法大揭秘_反向传播_63个神经元,我们使用链式法则有:

反向传播算法大揭秘_反向传播_64

反向传播算法大揭秘_反向传播_65反向传播算法大揭秘_反向传播算法_66带入公式11,得
反向传播算法大揭秘_激活函数_67

终于,推导完毕!