深度学习:关于反向传播自己的一些理解

本文介绍了深度学习中自动微分的核心概念,包括正向传播的显式函数定义和反向传播依赖于计算图的过程。特别强调了在使用`y.backward()`前进行梯度清零和重新正向传播的重要性,以防内存释放时的计算图丢失问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.自动微分是深度学习框架的一个属性,通过正向传播和反向传播表现出来。

2.正向传播一般是显式定义y关于x的函数,例如:y=2*x。

3.反向传播之前必须要有正向传播存在,正向传播给反向传播提供了x和y的向量形式、y关于x各

量的关系等,总的来说:正向传播生成了计算图,为反向传播提供了基础。

4.在运行反向传播函数y.backward()之前有两步固定操作:

①清空梯度:x.grad.zero_(),因为梯度的计算是累加的形式。

②正向传播:也即给出y关于x的定义公式,例如:y=2*x。

要知道反向传播函数y.backward()运行之后会因为释放内存的原因释放掉上一次正向传播所生成

计算图,因此如果不在y.backward()之前再次正向传播生成计算图,那么y.backward()就会报错。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值