Tensorflow 神经网络-小批量中梯度的方差

Tensorflow 神经网络-小批量中梯度的方差,tensorflow,neural-network,variance,Tensorflow,Neural Network,Variance,我使用tensorflow试图研究局部再参数化技巧[Kingma等人,2015]及其对梯度变化的影响。然而,我得到了奇怪的结果,我担心我可能会误解正在发生的事情 我的理解如下:给定损失函数或下限等,可以计算每个数据点的导数矩阵,该矩阵是该损失函数相对于输出层权重矩阵中每个权重的导数(如果这些是我们要检查的梯度)。对于这些权重中的任何一个,计算每个数据点的损失函数相对于该权重的导数的方差。因此,如果我们从一个(1000,1000)权重矩阵开始,我们以一个(1000,1000)矩阵结束,该矩阵的条目

我使用tensorflow试图研究局部再参数化技巧[Kingma等人,2015]及其对梯度变化的影响。然而,我得到了奇怪的结果,我担心我可能会误解正在发生的事情

我的理解如下:给定损失函数或下限等,可以计算每个数据点的导数矩阵,该矩阵是该损失函数相对于输出层权重矩阵中每个权重的导数(如果这些是我们要检查的梯度)。对于这些权重中的任何一个,计算每个数据点的损失函数相对于该权重的导数的方差。因此,如果我们从一个(1000,1000)权重矩阵开始,我们以一个(1000,1000)矩阵结束,该矩阵的条目(i,j)由小批量中每个数据点的损失函数导数相对于权重(i,j)的方差给出


此时,我们可以取矩阵中所有方差的平均值,得到最终的平均方差。这就是人们在谈论梯度变化时所提到的吗?

这涉及到同样的问题。计算将按照您描述的方式进行,但解释是通过方差矩阵的轨迹进行的。我不确定在这种情况下,方差矩阵是什么?对于每个训练示例,我们生成一个矩阵,其条目(i,j)是该数据点wrt权重(i,j)的损失函数的导数