深度学习框架中的计算图和自动求导

深度学习框架中的计算图和自动求导

之前一直都没有了解过底层的实现

在ai方面,如果每天都只是git clone 然后在本地跑通,这是远远不够的,正好最近在复习整理之前的知识于是把我认为重要的做了一个笔记

我们只要知道了原理才能走得更远

这里主要探讨pytorch

计算图

在这里插入图片描述

如上图,左边是我们需要求导的式子

右边是我们拿来求导的计算图

我们可以发现每一步都能由当前的一个新的字母替代原式中的表达式

于是我们只需要在每个黄色的节点求导乘然后都乘起来就可以求出最后对应我们所需要的导数了

(依据链式法则)

在这里插入图片描述

反向累计(当我们的模型需要更新参数的时候需要反向传递梯度)

在反向传播中我们从最后一层根据得到的最后一个值求前一层的导数

随后依次类推,再求前一层的导数,依次每一层的参数都能够得到更新
在这里插入图片描述

我们观察一下(正向传播,反向传播的复杂度)复杂度
在这里插入图片描述

这也是为什么需要显存大的GPU来训练,因为要存下来每层正向传播的值,来进行后续的反向传播
在这里插入图片描述

代码实现(pytorch)

import torch
'''
任务
对y=2*x的转置*x求导 
'''

#创建一个tensor张量
x=torch.arange(4.0)
x

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值