sodleave
sodleave
作者在前N-1次迭代将变量停止了梯度,只在第N次迭代时允许梯度反向传播。请问这样实现的目的是什么,我这边尝试完全开放三次迭代的梯度,收敛效果会更好一点
作者虽然在前面issue中回答过:stop the backward propagation gradient from capsule weights to item embedding,但是还想进一步了解一下,1)这里只是停止了前N-1次迭代时的梯度,最后一次迭代还是开放了梯度,那应该没法完全防止梯度传播到item embedding吧,不知道是否理解有误?2)而且代码是将映射矩阵w乘item Embedding后才停止的梯度,映射矩阵w肯定是要更新的,那怎么防止w更新而item Embedding不更新呢?3)即便真的防止了梯度传播到item embedding,为什么要防止呢?只有item embedding是现成的才不用更新吧,如果场景是需要端到端学习来同步得到item embedding,代码中stop Gradient是不是就不需要了?
目前看到的多个版本胶囊网络都是在前N-1次迭代时停止u_hat的梯度,只在最后一次开放梯度。只有作者这个版本没有这样操作,请问作者是否清楚这里的原因