DL学习笔记-反向传播算法的理解

本文详细介绍了反向传播算法的理解,包括简单表达式和梯度、链式法则在复合表达式中的应用、反向传播的直观理解、模块化示例以及反向传播在实践中的应用。通过实例解析了反向传播过程,帮助读者建立对反向传播的直观和专业认识,为理解和实现神经网络打下基础。
摘要由CSDN通过智能技术生成
作者:杜客
链接:https://zhuanlan.zhihu.com/p/21407711
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

译者注:本文智能单元首发,译自斯坦福CS231n课程笔记Backprop Note,课程教师Andrej Karpathy授权翻译。本篇教程由杜客翻译完成,堃堃巩子嘉进行校对修改。译文含公式和代码,建议PC端阅读。


原文如下:

内容列表:

  • 简介
  • 简单表达式和理解梯度
  • 复合表达式,链式法则,反向传播
  • 直观理解反向传播
  • 模块:Sigmoid例子
  • 反向传播实践:分段计算
  • 回传流中的模式
  • 用户向量化操作的梯度
  • 小结

简介

目标:本节将帮助读者对反向传播形成直观而专业的理解。反向传播是利用链式法则递归计算表达式的梯度的方法。理解反向传播过程及其精妙之处,对于理解、实现、设计和调试神经网络非常关键

问题陈述:这节的核心问题是:给定函数f(x) ,其中x是输入数据的向量,需要计算函数f关于x的梯度,也就是\nabla f(x)


目标:之所以关注上述问题,是因为在神经网络中f对应的是损失函数(L),输入x里面包含训练数据和神经网络的权重。举个例子,损失函数可以是SVM的损失函数,输入则包含了训练数据(x_i,y_i),i=1...N、权重W和偏差b。注意训练集是给定的(在机器学习中通常都是这样),而权重是可以控制的变量。因此,即使能用反向传播计算输入数据x_i 上的梯度,但在实践为了进行参数更新,通常也只计算参数(比如W,b)的梯度。然而x_i 的梯度有时仍然是有用的:比如将神经网络所做的事情可视化便于直观理解的时候,就能用上。


如果读者之前对于利用链式法则计算偏微分已经很熟练,仍然建议浏览本篇笔记。因为它呈现了一个相对成熟的反向传播视角,在该视角中能看见基于实数值回路的反向传播过程,而对其细节的理解和收获将帮助读者更好地通过本课程。

简单表达式和理解梯度

从简单表达式入手可以为复杂表达式打好符号和规则基础。先考虑一个简单的二元乘法函数f(x,y)=xy。对两个输入变量分别求偏导数还是很简单的:

\displaystyle f(x,y)=xy \to \frac {df}{dx}=y \quad \frac {df}{dy}=x

解释:牢记这些导数的意义:函数变量在某个点周围的极小区域内变化,而导数就是变量变化导致的函数在该方向上的变化率。

\frac{df(x)}{dx}= lim_{h\to 0}\frac{f(x+h)-f(x)}{h}

注意等号左边的分号和等号右边的分号不同,不是代表分数。相反,这个符号表示操作符\frac{d}{dx}被应用于函数f,并返回一个不同的函数(导数)。对于上述公式,可以认为h值非常小,函数可以被一条直线近似,而导数就是这条直线的斜率。换句话说,每个变量的导数指明了整个表达式对于该变量的值的敏感程度。比如,若x=4,y=-3,则f(x,y)=-12x的导数\frac{\partial f}{\partial x}=-3。这就说明如果将变量x的值变大一点,整个表达式的值就会变小(原因在于负号),而且变小的量是x变大的量的三倍。通过重新排列公式可以看到这一点(f(x+h)=f(x)+h \frac{df(x)}{dx})。同样,因为\frac{\partial f}{\partial y}=4,可以知道如果将y的值增加h,那么函数的输出也将增加(原因在于正号),且增加量是4h

函数关于每个变量的导数指明了整个表达式对于该变量的敏感程度。

如上所述,梯度\nabla f是偏导数的向量,所以有\nabla f(x)=[\frac{\partial f}{\partial x},\frac{\partial f}{\partial y}]=[y,x]。即使是梯度实际上是一个向量,仍然通

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值