概念说明
链式法则
我以下面的图中为例,请各位读者结合高等数学的知识加以理解
在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。
文末求赞
尊敬的各位读者朋友,如果你们觉得本系列非常适合自己,并对自己学习有所帮助,请动动你们发财的小手,点赞+收藏+推荐!你的鼓励,是我前进路上的动力!如有其他问题,可评论留言或私信。