【一起撸个DL框架】1 绪论( 二 )


【一起撸个DL框架】1 绪论

文章插图
d z d x = d z d y d y d x = 2 ? 2 x = 4 x \frac {dz}{dx}=\frac{dz}{dy} \frac{dy}{dx}=2*2x=4x dxdz?=dydz?dxdy?=2?2x=4x
深度学习框架的自动微分功能是基于计算图实现的,例如下面的计算图定义了函数 y = w x + b y=wx+b y=wx+b,输入x而得到 w x + b wx+b wx+b,这便是正向传播的过程 。
在计算图的结构之上,沿着计算函数值相反的路径,就可以利用链式法则求出最终结果结点(y)对于变量结点(x、w、b)的导数值dx、dw、db,如下图所示,求得 d w = x ? d y dw=x*dy dw=x?dy,d b = d y db=dy db=dy 。我们的目标只是找到参数w和b合适的值,因此不需要求关于x的梯度 。
那么dy是什么呢?可以取1,那得到的dw就是“+”结点关于w的导数;也可以是从后面其它结点传递过来的导数 。
小结一下,这一节主要介绍了深度学习中一些基本的概念,包括函数拟合,自动微分,链式法则,计算图,后面将会在这些概念的基础之上逐步搭建起一个简单的深度学习框架,并使用我们自己搭建的框架完成一些经典的深度学习任务,同时获取对于这些概念更加清晰的认知 。
下一篇:【一起撸个DL框架】2 节点与计算图的搭建