面试时,如果被问到Dropout的工作原理,很多人都会心中窃喜,因为它太简单了。
然而,几乎很少人能给出完整的答案!
面试者的回答
Dropout随机将神经网络中某些神经元的输出置为零。实现对网络的正则化。
Dropout仅在训练过程中应用。
决定将哪些神经元激活值置零(或丢弃)是通过伯努利分布来确定的。
“p” 是丢弃概率,例如,在PyTorch中通过nn.Dropout(p)来指定。
如果p=0.2,那么每个神经元将会有20%的概率被舍弃,也意味着在一次前向传播中,约有占总体20%的神经元激活值会被随机舍弃。
回答完毕!
可面试官眉头依然紧闭,随即抛出一个问题:还有吗?
大部分面试者都会信誓旦旦的回答:就这些,随机丢弃神经元,然后照常训练。
上面的回答虽然是正确的,但只回答了50%。