在训练过程中,如果使用了 dropout,在某次迭代中,一些权重会被设为零。然后计算损失并计算梯度以更新权重。权重会在下一轮迭代前更新。那些被丢弃的权重也会更新吗?
如果不更新它们,网络在几次迭代后就会失效,所以更新它们是有道理的,但我想确认一下。
回答:
对于特定的迭代,被随机丢弃(设为零)的权重在该迭代中不会被更新。请注意,这些权重只在当前迭代中被丢弃。
在下一轮迭代中,会有不同的权重被丢弃,同样也只针对这一次迭代。之前被丢弃但现在没有被丢弃的权重,将恢复到丢弃前的值。
这样,网络的所有权重都会得到训练。
简而言之:被丢弃的权重只在当前迭代中设为零,然后恢复到之前的值。