关于dropout,我们知道在前向传播中,一些神经元被置为“零”(即关闭)。反向传播怎么样?
这些丢失的神经元在反向传播期间是否也为零(关闭)?
谢谢
参考这个链接,好像不是很清楚……: Dropout backpropagation implementation
关于dropout,我们知道在前向传播中,一些神经元被置为“零”(即关闭)。反向传播怎么样?
这些丢失的神经元在反向传播期间是否也为零(关闭)?
谢谢
参考这个链接,好像不是很清楚……: Dropout backpropagation implementation
是的,在反向传播过程中神经元也被认为是零。否则dropout什么都做不了!请记住,训练期间的前向传播仅用于为反向传播设置网络,其中网络实际被修改(以及跟踪训练错误等)。
一般来说,重要的是要在后退步骤中考虑您在前进步骤中所做的任何事情- 否则您正在计算与您正在评估的不同函数的梯度。
例如,它在 Caffe 中的实现方式是(可以从源代码验证):
在前向传播中,输入以概率设置为零,否则按比例放大.
在反向传播中,相同丢弃单元的梯度被归零;其他梯度按相同比例放大.