我目前正在研究由 Michael Nielsen 和 YouTube 的 3Blue1Brown 频道撰写的《神经网络和深度学习》一书的反向传播过程和梯度体面算法。
我的问题是关于在梯度体面算法中计算梯度(整个数据集作为输入)。
例如,我们有 100 万张手写数字图像,通过第一次迭代,我们将这 100 万张图像提供给网络。然后计算每个图像的梯度,在更新权重之前求和并取平均值。
如果我的理解没有错,这和我在 3Blue1Brown 频道看到的一样。在这个过程中,梯度的平均值是针对每张图像的代价计算的,而不是一次迭代中整个数据集(100万)的平均代价,所以计算代价的公式在这里没有影响,而是它的导数用于计算每个图像的梯度,我们在这里不取平均成本。
首先,我想知道这是否是关于计算梯度体面的一次迭代如何工作的正确图片,其次,我们为什么不取平均成本对权重和偏差的导数,然后取所有梯度的平均总和?
最后一个问题,这里如何分配迭代次数和epochs?我们可以说 epoch 的数量总是等于迭代的数量,因为每次迭代都使用了整个数据吗?
