神经网络通过学习训练数据中的模式来泛化到未见数据,这些模式可以广泛应用,而不是记住具体的例子。 这通过模型架构选择、训练技术和数据实践的结合来实现,这些鼓励网络捕获潜在的趋势而不是噪声。 泛化不能保证,但如果做得好,该模型可以对与训练数据具有统计相似性的新输入做出准确的预测。
三个关键因素驱动泛化。 首先,像 dropout、权重衰减(L1/L2 正则化)和提前停止等正则化技术限制了模型过度拟合的能力。 例如,dropout 在训练期间随机停用神经元,迫使网络依赖于分布式模式而不是特定的节点。 其次,像卷积神经网络 (CNN) 这样的架构本质上优先考虑平移不变特征(例如,图像中的边缘),这些特征很可能出现在新数据中。 例如,在猫的照片上训练的 CNN 学会检测毛皮纹理或耳朵形状,而不是记住训练图像的像素级完美副本。 第三,数据多样性发挥着作用:更大、更多样化的数据集使模型暴露于更广泛的场景,从而降低了学习虚假相关性的机会。 使用旋转、裁剪或噪声来扩充数据可以人为地扩展数据集的多样性。
训练动态也很重要。 像随机梯度下降 (SGD) 这样的优化器通过小批量抽样引入噪声,这有助于避免损失函数中的尖锐最小值,这些最小值对应于过拟合的解决方案。 此外,验证集用于调整超参数(例如,学习率)并监控训练期间未见数据的性能,确保模型不仅仅是拟合训练怪癖。 例如,训练用于对文本进行分类的模型可能会使用验证集来检测何时开始记住稀有短语而不是学习语法结构。 虽然没有任何一种技术可以保证泛化,但这些方法的相互作用有助于网络优先考虑可以转移到新数据的稳健模式。