根据Keras文档,退出层在培训和测试阶段显示了不同的行为:
请注意,如果模型在培训和测试阶段有不同的行为(例如,如果使用Dropout、BatchNormalization等),则需要将学习阶段标志传递给您的函数:
不幸的是,没有人谈论实际的差异。为什么辍学在考试阶段表现得不一样?我期望该层将一定数量的神经元设置为0。为什么这种行为应该依赖于培训/测试阶段?
发布于 2017-05-10 09:08:01
在训练阶段使用辍学,以减少过度适应的机会。正如你提到的,这个层会使某些神经元失活。该模型对其他节点的权重将变得更加不敏感。基本上,对于辍学层,经过训练的模型将是许多稀疏模型的平均值。查看更详细的解释这里
但是,在应用经过训练的模型时,您希望使用模型的全部功能。你想要使用所有的神经元在经过训练的(平均)网络,以获得最高的准确性。
https://stackoverflow.com/questions/43887706
复制相似问题