计算梯度,更新参数的问题
收藏
训练gan网络时,按照作者源码的说明为了避免 ”disparate statistics“,将真假图片合成一个batch送入判别器训练。但是在分别对真假图片求梯度,更新参数时,计算图计算的都是整个batch(包括真假图片)数据。这个应该对计算梯度,更新参数不会有影响吧
0
收藏
请登录后评论
打印作者源码的梯度时发现,计算梯度时只计算了对应的半个batch的数据的梯度。而在paddle的实现中,整个batch的梯度都被计算出来。这个应该不会导致误差吧
我理解梯度,参数都是针对特征图的每个值单独计算的,应该是不会有影响的。
而且我将后半个batch的logits设置了stop_gradients=True后,后半个batch的梯度不计算了,前半个batch的梯度没有大的影响。更新的权重也算是没有太大变化吧
所以,这些误差应该和多计算了梯度没有关系吧?