减少(相对于延迟)神经网络中的过度拟合

Reducing (Versus Delaying) Overfitting in Neural Network

在神经网络中,正则化(例如 L2、dropout)通常用于减少过度拟合。例如,下图显示了典型的损失与 epoch,有和没有 dropout。实线 = 训练,虚线 = 验证,蓝色 = 基线(无辍学),橙色 = 有辍学。绘图由 Tensorflow 教程提供。 权重正则化的行为类似。

正则化延迟了验证损失开始增加的时期,但正则化显然不会降低验证损失的最小值(至少在我的模型和教程中是这样上面的情节是采取的)。

如果我们在验证损失最小时使用提前停止来停止训练(以避免过度拟合),并且如果正则化只是延迟最小验证损失点(相对于减少最小验证损失值)那么正则化似乎确实不会导致网络具有更大的概括性,而只会减慢训练速度。

如何使用正则化来减少最小验证损失(以改进模型泛化)而不是仅仅延迟它?如果正则化只是延迟最小验证损失而不是减少它,那么为什么要使用它?

从单个教程情节过度概括可以说不是一个好主意;这是来自 original dropout paper:

的相关图

很明显,如果dropout的作用是延迟收敛,那用处不大。但是当然它不起作用 always (正如你的情节清楚地表明的那样),因此它不应该被默认使用 (这可以说是教训这里)...