过拟合是一种常见问题,即模型在训练数据上表现良好,但在未见数据上表现不佳。在训练阶段,剔除层会随机 "剔除 "或停用网络中一定比例的神经元。这一过程迫使网络学习不依赖于特定神经元存在的更强大的特征,从而提高模型泛化到新的未见数据的能力。
在标准神经网络中,一层中的每个神经元都与上一层中的每个神经元相连。在训练过程中,这些连接会根据网络处理的数据进行加强或削弱。然而,这可能会导致网络对训练数据过于专业化,捕捉到的噪音和特定模式不能很好地泛化到新数据中。
剔除层通过在每次训练迭代时将层中的部分神经元随机设置为零来解决这一问题。剔除神经元的比例是一个超参数,通常设置在 0.2 到 0.5 之间。这意味着在每次前向和后向传递过程中,层中 20% 到 50% 的神经元将被停用。每次迭代都会改变神经元的选择,以确保网络不会过于依赖任何一个神经元。
摒弃层在训练深度学习模型方面具有多种优势:
Dropout 层广泛应用于各种深度学习应用中。下面是两个具体的例子:
Dropout是机器学习(ML)中使用的几种正则化技术之一。以下是它与其他一些常用方法的比较:
滤波层通常被插入神经网络中的全连接层之间或卷积层之后。使用流行的深度学习框架,如 TensorFlow和 PyTorch.停用率决定了停用神经元的比例,它是一个超参数,可以通过调整来优化模型性能。有关更高级的模型优化技术,请探索超参数调整。
在实施剔除时,需要注意的是剔除层在训练和推理时的表现是不同的。在训练过程中,神经元会如上所述被随机剔除。然而,在推理过程中,所有神经元都处于激活状态,但它们的输出会根据剔除率进行缩减,以保持预期的输出大小。这种缩放可以确保模型的预测结果在训练和推理过程中保持一致。
如需进一步阅读,可参考 Srivastava 等人撰写的有关辍学问题的原创研究论文,其中对该方法及其有效性进行了深入分析:Dropout:防止神经网络过度拟合的简单方法。您还可以进一步了解批量规范化和正则化等相关概念,从而更深入地了解用于提高神经网络性能的技术。