0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

无残差连接或归一化层,也能成功训练深度Transformer

深度学习自然语言处理 来源:机器之心 作者:机器之心 2022-12-12 13:59 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

尽管取得了很多显著的成就,但训练深度神经网络(DNN)的实践进展在很大程度上独立于理论依据。大多数成功的现代 DNN 依赖残差连接和归一化层的特定排列,但如何在新架构中使用这些组件的一般原则仍然未知,并且它们在现有架构中的作用也依然未能完全搞清楚。

残差架构是最流行和成功的,最初是在卷积神经网络(CNN)的背景下开发的,后来自注意力网络中产生了无处不在的 transformer 架构。残差架构之所以取得成功,一种原因是与普通 DNN 相比具有更好的信号传播能力,其中信号传播指的是几何信息通过 DNN 层的传输,并由内核函数表示。

最近,使用信号传播原则来训练更深度的 DNN 并且残差架构中没有残差连接和 / 或归一化层的参与,成为了社区感兴趣的领域。原因有两个:首先验证了残差架构有效性的信号传播假设,从而阐明对 DNN 可解释性的理解;其次这可能会实现超越残差范式的 DNN 可训练性的一般原则和方法。

对于 CNN,Xiao et al. (2018)的工作表明,通过更好初始化提升的信号传播能够高效地训练普通深度网络,尽管与残差网络比速度显著降低。Martens et al. (2021) 的工作提出了 Deep Kernel Shaping (DKS),使用激活函数转换来控制信号传播,使用 K-FAC 等强二阶优化器在 ImageNet 上实现了普通网络和残差网络的训练速度相等。Zhang et al. (2022) 的工作将 DKS 扩展到了更大类的激活函数,在泛化方面也实现了接近相等。

信号传播中需要分析的关键量是 DNN 的初始化时间内核,或者更准确地说,是无限宽度限制下的近似内核。对于多层感知机(MLP)以及使用 Delta 初始化的 CNN,该内核可以编写为仅包含 2D 函数的简单层递归,以便于进行直接分析。跨层 transformer 的内核演化更加复杂,因此 DKS 等现有方法不适用 transformer 或实际上任何包含自注意力层的架构。

在 MLP 中,信号传播是通过查看(一维)内核的行为来判断的,而 transformer 中的信号传播可以通过查看(高维)内核矩阵在网络层中的演化来判断。

该研究必须避免一种情况:对角线元素随深度增加快速增长或收缩,这与不受控制的激活范数有关,可能导致饱和损失或数值问题。避免秩崩溃(rank collapse)对于深度 transformer 的可训练性是必要的,而是否可以训练深度无残差 transformer 仍是一个悬而未决的问题。

ICLR 2023 盲审阶段的这篇论文解决了这个问题,首次证明了无需残差连接或归一化层时也可能成功训练深度 transformer。为此,他们研究了深度无残差 transformer 中的信号传播和秩崩溃问题,并推导出三种方法来阻止它们。

具体而言,方法中使用了以下组合:参数初始化、偏置矩阵和位置相关的重缩放,并强调了 transformer 中信号传播特有的几种复杂性,包括与位置编码和因果掩蔽的交互。研究者实证证明了他们的方法可以生成可训练的深度无残差 transformer。

在实验部分,在 WikiText-103 和 C4 数据集上,研究者展示了使用他们主要的方法——指数信号保持注意力(Exponential Signal Preserving Attention, E-SPA),可以通过延长大约五倍的训练时间使得标准 transformer 与文中无残差 transformer 的训练损失相当。此外通过将这一方法与残差连接结合,研究者还表明无归一化层的 transformer 能够实现与标准 transformer 相当的训练速度。

cf2d7700-79d2-11ed-8abf-dac502259ad0.png

论文链接:

https://openreview.net/pdf?id=NPrsUQgMjKK

对于这篇论文,Google AI 首席工程师 Rohan Anil 认为是 Transformer 架构向前迈出的一大步,还是一个基础性的改进。

cf3f3d5a-79d2-11ed-8abf-dac502259ad0.jpg

构造无捷径可训练的深层Transformer

迄今为止,纠正 Transformer 秩崩溃(rank collapse)的唯一策略依赖于残差连接,该方式跳过了自注意力层固有的可训练性问题。与此相反,该研究直接解决这个问题。首先通过注意力层更好地理解信号传播,然后根据见解(insights)进行修改,以在深度 transformer 中实现对忠实信号的传输,无论是否使用残差连接,都可以对信号进行训练。

具体而言,首先,该研究对仅存在注意力的深度 vanilla transformer 进行了一下简单设置,之后他们假设该 transformer 具有单一头(h = 1)设置或具有多头设置,其中注意力矩阵 A 在不同头之间不会变化。如果块 l≤L 初始化时有注意力矩阵 A_l,则最终块的表示形式为 X_L:

cf607bbe-79d2-11ed-8abf-dac502259ad0.png

对于上式而言,如果cf6fdf1e-79d2-11ed-8abf-dac502259ad0.pngcf7ef5f8-79d2-11ed-8abf-dac502259ad0.png采用正交初始化,那么cf8dee50-79d2-11ed-8abf-dac502259ad0.png就可以在初始化时正交。

在上述假设下,如果采用cf9c6f2a-79d2-11ed-8abf-dac502259ad0.png表示跨位置输入核矩阵,经过一些简化处理后,可以得到如下公式:

cfae2058-79d2-11ed-8abf-dac502259ad0.png

从这个简化公式(深度仅注意力 transformer 中的核矩阵)中,可以确定对 (A_l)_l 的三个要求:

cfbe6300-79d2-11ed-8abf-dac502259ad0.png

必须在每个块中表现良好,避免退化情况,如秩崩溃和爆炸 / 消失的对角线值;

A_l 必须是元素非负 ∀l;

A_l 应该是下三角∀l,以便与因果掩码注意力兼容。

在接下来的 3.1 和 3.2 节中,该研究专注于寻找满足上述需求的注意力矩阵,他们提出了 3 种方法 E-SPA、U-SPA 和 Value-Skipinit,每种方法都用来控制 transformer 的注意力矩阵,即使在很深的深度也能实现忠实的信号传播。此外,3.3 节演示了如何修改 softmax 注意力以实现这些注意力矩阵。

下图中,该研究对提出的两个 SPA 方案进行了验证,U-SPA 和 E-SPA,结果显示即使在网络较深时也能成功地避免仅注意力 vanilla transformers 中的秩崩溃现象。

cfd238bc-79d2-11ed-8abf-dac502259ad0.png

实验

WikiText-103 基线:首先,该研究验证了没有残差连接的标准深度 transformer 是不可训练的,即使它们有归一化层 (LN) 和 transformed 激活,但本文的方法可以解决这个问题。如图 2 所示,可以清楚地看到,从标准 transformer 中移除残差连接使其不可训练,训练损失稳定在 7.5 左右。正如图 1 所示,标准 transformer 遭受了秩崩溃。

cffcdd74-79d2-11ed-8abf-dac502259ad0.png

另一方面,该研究提出的 E-SPA 方法优于 U-SPA 和 Value-Skipinit。然而,与本文无残差方法相比,带有残差和 LN 的默认 transformer 仍然保持训练速度优势。

在表 1 中,该研究使用提出的方法评估了 MLP 块中不同激活函数的影响,以及 LN 在无残差 transformer 的使用。可以看到在深度为 36 处,本文方法针对一系列激活实现了良好的训练性能:DKS-transformed GeLU、TAT-transformed Leaky ReLU 以及 untransformed GeLU ,但不是 untransformed Sigmoid。

通过实验还看到,层归一化对于训练速度而言相对不重要,甚至在使用 SPA 时对 transformed activation 的激活有害,因为 SPA 已经具有控制激活规范的内置机制。

d01b3ba2-79d2-11ed-8abf-dac502259ad0.png

在图 3 中,我们看到一种不需要更多迭代就能匹配默认 transformer 训练损失的方法是使用归一化残差连接。

d02dbec6-79d2-11ed-8abf-dac502259ad0.png

表 2 显示带有归一化残差和 LN 的 E-SPA 优于默认的 PreLN transformer。

d03faa1e-79d2-11ed-8abf-dac502259ad0.png

下图 4(a)表明 E-SPA 再次优于其他方法;4(b)表明训练损失差距可以通过简单地增加训练时间来消除。

d0544e06-79d2-11ed-8abf-dac502259ad0.png

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 神经网络
    +关注

    关注

    42

    文章

    4827

    浏览量

    106769
  • Transformer
    +关注

    关注

    0

    文章

    154

    浏览量

    6808
  • dnn
    dnn
    +关注

    关注

    0

    文章

    61

    浏览量

    9445

原文标题:首次!无残差连接或归一化层,也能成功训练深度Transformer

文章出处:【微信号:zenRRan,微信公众号:深度学习自然语言处理】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    构建CNN网络模型并优化的一般化建议

    的尺寸不宜过大,3*3或者1*1等小尺寸的卷积核(滤波器)对于实现轻量级模型是十分必要的。 3)添加归一化和验证检查点:归一化可以调整模型的概率分布得到标准化分布,从而提升迭代和
    发表于 10-28 08:02

    在Ubuntu20.04系统中训练神经网络模型的些经验

    , batch_size=512, epochs=20)总结 这个核心算法中的卷积神经网络结构和训练过程,是用来对MNIST手写数字图像进行分类的。模型将图像作为输入,通过卷积和池提取图像的特征,然后通过全
    发表于 10-22 07:03

    【「AI芯片:科技探索与AGI愿景」阅读体验】+第二章 实现深度学习AI芯片的创新方法与架构

    Transformer 模型的后继者 二、用创新方法实现深度学习AI芯片 1、基于开源RISC-V的AI加速器 RISC-V是种开源、模块的指令集架构(ISA)。优势如下: ①模
    发表于 09-12 17:30

    基于瑞芯微RK3576的resnet50训练部署教程

    堆叠得到的,但当网络堆叠到深度时,就会出现退化问题。网络的特点是容易优化,并且能够通过增加相当的深度来提高准确率。其内部的
    的头像 发表于 09-10 11:19 1111次阅读
    基于瑞芯微RK3576的resnet50<b class='flag-5'>训练</b>部署教程

    TFT液晶显示屏为什么会显示影、如何解决

    TFT液晶屏(Thin-Film Transistor Liquid Crystal Display)显示影(称为图像残留)是个涉及物理和电子原理的现象。 、为什么工业TFT液
    发表于 09-08 09:04

    自动驾驶中Transformer大模型会取代深度学习吗?

    [首发于智驾最前沿微信公众号]近年来,随着ChatGPT、Claude、文心言等大语言模型在生成文本、对话交互等领域的惊艳表现,“Transformer架构是否正在取代传统深度学习”这
    的头像 发表于 08-13 09:15 3910次阅读
    自动驾驶中<b class='flag-5'>Transformer</b>大模型会取代<b class='flag-5'>深度</b>学习吗?

    Transformer架构中解码器的工作流程

    解码器的作用主要是制作文本序列。与编码器类似,解码器配备了组类似的子。它具有两个Multi-Head attention个点前馈
    的头像 发表于 06-10 14:32 886次阅读
    <b class='flag-5'>Transformer</b>架构中解码器的工作流程

    为什么屏蔽要“单端接地”

    的电容耦合部分衰减,但无法形成闭合的低阻抗路径,屏蔽效果远弱于接地状态。 可能成为“天线” : 未接地的屏蔽可能因长度和频率形成谐振结构,像天线样接收辐射电磁波,反而放大干
    发表于 04-10 14:55

    训练好的ai模型导入cubemx不成功怎么处理?

    训练好的ai模型导入cubemx不成功咋办,试了好几个模型压缩了不行,ram占用过大,有无解决方案?
    发表于 03-11 07:18

    归一化在电机控制中究竟有什么用?(可下载)

    大家好,今天我们来了解归一化在电机控制中的作用,那么首先我们需要先了解下归 的概念,这样才能更好的了解电机控制中为什么会经常用到
    发表于 02-28 14:14 0次下载

    BP神经网络与深度学习的关系

    ),是种多层前馈神经网络,它通过反向传播算法进行训练。BP神经网络由输入多个隐藏
    的头像 发表于 02-12 15:15 1338次阅读

    天数智芯与问芯穹合作突破千卡集群训练优化

    近日,天数智芯与问芯穹宣布达成深度合作,并在千卡集群训练优化领域取得了重大技术突破。这合作基于天数智芯的天垓150卓越计算能力和问芯穹
    的头像 发表于 01-21 14:31 1353次阅读

    AI模型部署边缘设备的奇妙之旅:目标检测模型

    FC的大小配置。 这些组件的组合和优化构成了卷积神经网络的核心,并且随着计算机视觉领域的发展,新的技术和理论不断被提出,以进步提升CNN的性能和泛能力。例如,
    发表于 12-19 14:33

    DAC1282输出,不能成功写寄存器怎么解决?

    使用了DAC1282的芯片,没有使用SWINN,SWINP的功能,不知道会不会影响输出,用SPI口去写寄存器不能成功写入,并且读出来的寄存器值不对,手册中存在印刷错误,把读和写寄存器的命令混淆。 有没有遇到过类似问题的可以解答
    发表于 12-13 16:41

    ADS1211能成功写入程序,但SDOUT引脚始终读不到内容,为什么?

    ADS1211能成功写入程序,但SDOUT引脚始终读不到内容,SDL引脚已被置1。 能成功写入程序的表现为: 写入不同的初始程序(数据输出频率不同),数据准备引脚的输出频率就改变,并且值大致符合fDATA的计算公式。 请问S
    发表于 12-12 07:19