apply_gradient原理

来源:3-12 tf.GradientTape与tf.keras结合使用

慕粉1469629493

2020-02-04

老师我这里不太理解,对每个epoch中的每个step都只用了一个batch(32个样本训练gradient),那在optimizer里,apply_gradient是怎么把所有样本的grad考虑进去的呢?

写回答

1回答

正十七

2020-02-05

是梯度下降的方式,假设初始的参数是w,那么经过batch1得到的梯度是w1, 从而得到新参数 w = w - lambda * w1。 经过batch2得到的梯度是w2, 得到新参数 w = w - lambda * w2, 经过batch3得到的梯度是w3, 得到新参数w = w - lambda * w3等等.

这里的lambda是步长的概念,即梯度决定了方向,而lambda决定在这个方向上走多远。

这样一遍一遍的遍历,就能把所有样本的梯度都考虑进去了。

1
1
慕粉1469629493
谢谢老师
2020-02-07
共1条回复

Google老师亲授 TensorFlow2.0 入门到进阶

Tensorflow2.0实战—以实战促理论的方式学习深度学习

1849 学习 · 896 问题

查看课程