×

反向传播

hqy hqy 发表于2025-02-27 15:52:51 浏览9 评论0百度已收录

抢沙发发表评论

概念说明

链式法则

我以下面的图中为例,请各位读者结合高等数学的知识加以理解

在pytorch中除了反向传播外,还有一个非常重要的概念:计算图

计算图

tensorflow和pytorch均有计算图的概念,二者的区别主要是:tensorflow是一张静态的全局计算图,张量在计算过程中好像在里面游动;而pytorch的计算图是动态的,在运算过程中对原有的计算图进行拓展,这或许是出于节省计算资源的考量。总之,它可以帮助实现快速的梯度计算。

代码实操

x = torch.tensor(1.0)   

y = torch.tensor(2.0)

w = torch.tensor(1.0, requires_grad=True)

# 前向传播

y_hat = w * x

loss = (y_hat - y)**2

print

(loss)

# 反向传播

loss.backward()

print

(w.grad)

上面是我们自行设置的值,已知损失函数,对其求导为:

最终,带入数值,可得计算结果为-2。

文末求赞

尊敬的各位读者朋友,如果你们觉得本系列非常适合自己,并对自己学习有所帮助,请动动你们发财的小手,点赞+收藏+推荐!你的鼓励,是我前进路上的动力!如有其他问题,可评论留言或私信。