链式法则

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了链式法则相关的知识,希望对你有一定的参考价值。

参考技术A

神经网络最最最重要的公式—— 链式法则
通过链式法则,可以把最后一层的误差一层一层地输出到中间层的权值上去,从而得到中间层的梯度信息,从而更新权值,达到很好的效果。



用pytorch实现链式法则:

output:

caffe源码 理解链式法则

网络结构

首先我们抽象理解下一个网络结构是怎样的,如下图所示

  • F1,F2,F3为某种函数
  • input为输入数据,output为输出数据
  • X1,X2为为中间的层的输入输出数据

 

总体来说有以下关系

  • X1 = F(input)
  • X2 = F1(X1)
  • output = F2(X2)

在训练过程中output其实就是loss层的输出,训练的目的就是为了把loss值降到最低

链式法则

  • 链式法则(英文chain rule)即是微积分中的求导法则,用于求一个复合函数的导数,是在微积分的求导运算中一种常用的方法。
  • 表达式: image
  • 其他形式:

     

链式法则用文字描述,就是“由两个函数凑起来的复合函数,其导数等于里边函数代入外边函数的值之导数,乘以里边函数的导数。

梯度计算

  • 假设要求output对X1的梯度
    • 由output = F2(F1(X1)),根据链式法则,output对X1的梯度为

       

  • 假设F(x)= wx + b,相求output对w和b的梯度
    • 则output对w的梯度为

       

    • 则output对w的梯度为

       

以上是关于链式法则的主要内容,如果未能解决你的问题,请参考以下文章

多元函数链式法则与反向传播算法的实例推演

04 解链式法则和乘积法则

caffe源码 理解链式法则

数学知识复习:二阶导复合函数的链式法则

概率论的链式法则

单变量微分导数与链式法则