文章介绍了何恺明LeCun团队提出的DyT(Dynamic Tanh)技术,该技术能够替代神经网络中的归一化层,如Layer Norm或RMSNorm,达到或超过标准Transformer的性能。文章还介绍了该技术的实验验证、适用性和优势。此外,文章还介绍了团队成员的背景和论文的相关信息。
DyT是一种替代神经网络中的归一化层的技术,通过简单的元素级运算实现,可应用于各种模态的神经网络。
团队对DyT进行了广泛的实验验证,在视觉、语言、语音和DNA序列模型等多个任务和模型架构中,DyT表现良好,达到或超过归一化层的性能。
团队成员包括何恺明、LeCun、Jiachen Zhu、刘壮和陈鑫磊等。论文已入选CVPR2025,相关代码和实验数据已开源。论文地址、GitHub地址和项目主页也一并提供。
梦晨 克雷西 发自 凹非寺
量子位 | 公众号 QbitAI
何恺明LeCun联手:
Transformer不要归一化了
,论文已入选CVPR2025。
归一化长期以来一直被认为是必不可少的,在现代神经网络中无处不在。
但团队认为可以换用一种非常简单的技术,他们提出
DyT
(
Dynamic Tanh)
,直接替代Layer Norm或RMSNorm,性能达到或超过标准Transformer。
DyT模块可以用几行PyTorch代码实现:
class DyT(nn.Module):
def __init__(self, num_features, alpha_init_value=0.5):
super().__init__()
self.alpha = nn.Parameter(torch.ones(1) * alpha_init_value)
self.weight = nn.Parameter(torch.ones(num_features))
self.bias = nn.Parameter(torch.zeros(num_features))
def forward(self, x):
x = torch.tanh(self.alpha * x)
return x * self.weight + self.bias
从视觉的ViT/MAE,到语言模型的LLaMA,再到语音、DNA系列等模态都可以用,完整代码库已开源。
网友评价说,只要元素级运算就能实现和归一化一样的效果,这对于效率优化来说简直是免费的午餐。
前Salesforce首席科学家、搜索引擎You的CEO Richard Socher也表示,这项成果加强了他之前的假设——原始的Transformer只是众多等效神经结构之中的一个。
Transformer不要归一化了
团队首先实证研究了训练网络中归一化层的行为。
选取ViT、wav2vec 2.0和DiT三种训练好的网络,对每个网络采样一个小批量样本进行前向传播,测量LayerNorm层在可学习仿射变换前的输入和输出,建立输入输出元素的一一对应关系,从而直接可视化两者关系。
结果发现,LayerNorm传统上被认为是
线性变换
,但实际整体居然呈现出出类似tanh函数
非线性变换
效果。
受到这一相似性启发,团队提出DyT作为归一化层的直接替代品, DyT 层定义如下:
DyT(x) = γ * tanh(αx) + β
其中α是可学习的标量参数,负责缩放调整输入;γ和β是可学习的per-channel矢量参数,将输出缩放回任何尺度。
DyT适用于注意力块、FFN块和最终归一化层,尽管它可能看起来像是激活函数,但在这篇研究中不会改变原始架构中激活函数的任何部分,网络的其他部分也保持不变。
同时团队还观察到,
几乎不需要调整原始架构使用的超参数
即可使DyT表现良好。
实验选用多种任务和模型架构,DyT在大多数情况下能达到与归一化层相当甚至更好的性能。
视觉监督学习
,选用ViT和ConvNeXt,在ImageNet-1K分类任务中训练,DyT在两种架构的不同模型尺寸下,性能均略优于LayerNorm,且模型收敛行为高度一致,表明二者学习动态相似。
视觉自监督学习,
选用两种训练目标不同的网络MAE和DINO,DyT的表现与LayerNorm相当。
扩散模型
实验中,训练了三个不同尺寸的DiT模型,用FID分数评估生成图像质量。
仅用 tanh (αx) 函数替换DiT中LN 层的归一化变换,保留其仿射参数(用于class conditionin),结果相差也不大。
语言模型