辍学层在测试/训练阶段的行为

时间:2017-05-10 08:51:56

标签: tensorflow keras neural-network theano keras-layer

根据Keras文档,辍学图层显示了培训和测试阶段的不同行为:

  

请注意,如果您的模型在培训中有不同的行为,   测试阶段(例如,如果它使用Dropout,BatchNormalization等),你   需要将学习阶段标志传递给您的函数:

不幸的是,没有人谈论实际的差异。为什么辍学在测试阶段表现不同?我希望该层将一定数量的神经元设置为0.为什么这种行为取决于训练/测试阶段?

1 个答案:

答案 0 :(得分:6)

在训练阶段使用辍学来减少过度拟合的可能性。如你所述,这个层会停用某些神经元。该模型将对其他节点的权重更加不敏感。基本上对于辍学层,训练的模型将是许多稀疏模型的平均值。查看更详细的说明here

但是,在应用训练模型时,您希望使用模型的全部功能。您希望使用训练(平均)网络中的所有神经元来获得最高精度。