我试图通过传递损失来使用tf.gradient计算梯度,并使用梯度更新权重。我观察到当权重矩阵维数较大时,梯度为零。这可能是什么原因呢?
我看到代码中没有错误。我得到了权重矩阵和输入向量大小较小的非零梯度。通常,对于1*100的输入向量大小和100x50的权重,fp值将为1 x 50。在BP期间,ip将为1 x 50,权重将为50 x 100。BP向量将是1 x 100。
损失是前向传播(FP)和后向传播(BP)值的差值之和。FP值是输入向量(IP) - sigmoid(IP X weight)和BP值- sigmoid(FP x weight.Transpose)。
var_grad = t