趋近智
训练大型神经网络(如Transformer)需要应对过拟合的风险。当模型过度学习训练数据,连同其噪声和特定特征时,就会发生过拟合,导致在新数据上表现不佳。虽然优化技术有助于模型收敛,但正则化方法对于提升其泛化能力是必需的。
标准Transformer架构中采用的主要正则化技术是Dropout。
Dropout是一种简单而有效的正则化方法。在训练期间,对于每次前向传播,Dropout会随机地将层中一部分神经元(或隐藏单元)的输出设为零。这种“舍弃”是临时且具有随机性的;在每个训练步骤中,都会有不同的神经元集合被舍弃。
假设你有一个团队正在进行项目。如果在某一天,一些团队成员随机缺席,那么剩下的成员必须学会顶替他们,并且不能过度依赖任何一个成员。同样地,Dropout阻止神经元变得过度专业化或相互依赖于特定其他神经元。它促使网络学习更多冗余表示,因为它不能依赖于任何特定的神经元子集始终处于活跃状态。
在原始的“Attention is All You Need”论文中,Dropout在Transformer模型的几个特定位置被应用:
输入 -> 输入嵌入 -> 位置编码 -> 相加 -> **Dropout** -> 编码器/解码器层
子层输入 -> 多头注意力 -> **Dropout** -> 相加与归一化 -> 输出
子层输入 -> 前馈网络 -> **Dropout** -> 相加与归一化 -> 输出
将Dropout放置在每个主要处理模块(嵌入、注意力、前馈)之后,可以确保噪声贯穿整个网络深度被引入,有助于在不同表示学习层面上提升模型的适应能力。
当你使用PyTorch和TensorFlow等现代深度学习框架的内置Dropout层时,它们会自动处理训练和推理期间的不同行为。你通常只需将dropout率 p 指定为一个超参数即可。
Transformer,特别是大型Transformer,拥有数百万甚至数十亿个参数。这种高容量使其容易记住训练数据。Dropout作用类似于一种模型平均。由于在每个步骤中实际训练的是一个不同的“瘦身”网络,最终的网络表现得像许多小型网络的集成,这通常会带来更好的泛化能力。它防止了神经元高度依赖于特定其他神经元的复杂相互适应,促使学习到单独来看更具信息量的特征。
虽然Dropout是标准Transformer中最主要的显式正则化技术,但其他因素也有助于防止过拟合:
选择适当的dropout率 p 有着很大的作用。过低的dropout率可能无法提供足够的正则化,而过高的dropout率则可能通过移除过多信息而阻碍学习(导致欠拟合)。这个比率通常根据在验证数据集上的表现进行调整。
通过在特定位置应用Dropout,Transformer架构有效地平衡了其学习复杂模式的高容量与对新数据良好泛化的需要,这是其在各种自然语言处理任务中取得成功的一个主要原因。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造