transformer14

news2024/11/16 21:21:39

太强了都连载14了~~ 这次是无残差连接或归一化层,也能成功训练深度

尽管取得了很多显著的成就,但训练深度神经网络(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 相当的训练速度。

论文地址:https://openreview.net/pdf?id=NPrsUQgMjKK

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

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

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

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

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

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

实验

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

 另一方面,该研究提出的 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 已经具有控制激活规范的内置机制。 

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

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

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

whaosoft aiot http://143ai.com 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/73232.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

ROS多机通信(ssh控制)

这种方法需要在局域网范围内进行,通信距离取决于WIFI模块的传播距离 1、连接同局域网 将主机和从机连接相同的网络,在同一局域网内。例如192.168.0.*(前三位相同) 网络会自动给每个机器一个IP 2、安装SSH sudo apt-get insta…

SpringBoot自动配置的原理-@SpringBootApplication

文章目录1自动配置原理1.1 SpringBootConfiguration1.2.ComponentScan1.3 EnableAutoConfiguration2 为什么不使用 Import 直接引入自动配置类学完这篇文章,可以了解到 SpringBoot 自动配置原理1自动配置原理 SpringBootConfiguration 是一个组合注解,由…

Pinely Round 1 (Div. 1 + Div. 2) E.Make It Connected(思维题/并查集+分类讨论)

题目 n(n<4e3)个点不包含自环和重边的无向图&#xff0c; 你可以执行以下操作若干次&#xff1a; 1. 选择一个点u 2. 对于每个点v(v≠u)来说&#xff0c;若u、v之间当前有一条边相连&#xff0c;则断开这条边&#xff0c; 否则在u、v之间加一条边&#xff0c;使之相连 …

C++Mysql8.0数据库跨平台编程实战(下)

CMysql8.0数据库跨平台编程实战&#xff08;下&#xff09;第六章 跨平台中文乱码问题和mysql锁1、MySQLAPIC封装策略和方法说明windows上字符集gbk和utf8互转开始写代码把测试框架搭起来linux上字符集GBK和UTF8互转ZPMysql库添加字符集转换函数并测试GBK插入utf-8的数据我们把…

Android之Zygote(下)--- SystemServer详解

SystemServer是由zygote.forkSystemServer函数fork出来的子进程&#xff0c;forkSystemServer是一个native函数&#xff0c; /dalvik/vm/native/dalvik_system_Zygote.c static void Dalvik_dalvik_system_Zygote_forkSystemServer(const u4* args, JValue* pResult) {pid_t …

ABAP学习笔记之——第十章:面向对象ALV

一、ALV ALV 是 ABAP List Viewer 的缩写&#xff0c;是实际业务中查询数据或修改数据时经常使用的程序。 1、ALV的主要功能排序功能 (Ascending/Descending); 过滤设置; 变更列宽; 变更布局; ABC 分析; 下载 Excel及 Word 文档的保存。 2、ALV的类型 Function ALV; …

java计算机毕业设计ssm校园疫情防控系统u3669(附源码、数据库)

java计算机毕业设计ssm校园疫情防控系统u3669&#xff08;附源码、数据库&#xff09; 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff0…

Docker安装以及容器使用笔记

我们知道容器是一个打包了应用和相关依赖的盒子,那怎么去操控这个盒子呢? 这一篇我通过一个简单的aspnetcore程序来加深对盒子的理解,使用之前先 安装一下Docker的环境。 一:Docker的安装 官方下载地址:Install Docker Engine on CentOS | Docker Documentation ,跟着文…

深度学习——NiN网络模型(笔记)

网络中的网络&#xff08;NiN&#xff09; 1.全连接层的问题&#xff1a;参数多&#xff0c;容易过拟合。 ①卷积层需要的参数较少 ②卷积层后第一个全连接层参数对比 参数过多带来的问题&#xff1a;1.占内存 2.占用计算的带宽多3.容易过拟合 2.NiN为了解决全连接层参数过多的…

20221208英语学习

今日新词&#xff1a; fragment n.碎片&#xff0c;碎块&#xff0c;破片&#xff1b;片段 cynicism n.愤世嫉俗, 玩世不恭, (古希腊的)犬儒哲学, 冷言冷语, 犬儒学派 slight adj.少量的&#xff1b;轻微的&#xff1b;细小的&#xff1b;纤细的 willing adj.愿意, 乐意, 自…

虚拟存储器

虚拟存储器 文章目录虚拟存储器虚拟存储器概述常规存储器管理方式的特征局部性原理虚拟存储器的定义和特征请求分页存储管理方式请求分页中的硬件支持请求分页中的内存分配页面调入策略页面置换算法最佳(Optimal)置换算法先进先出(FIFO)页面置换算法最近最久未使用(LRU)置换算法…

深度学习下的脑机接口BCI究竟有多远?

BCI | ECoG | 脑机接口 LFP | CMRR | 生物计算 随着生命科学、医药研发、数据分析、数据挖掘、LFP、生物计算、靶点发现、基因测序等技术的快速发展&#xff0c;脑科学逐渐出现在人们的视野中&#xff0c;随之而来的脑机接口技术同时得到快速发展。 脑科学是人类社会面临的…

Word处理控件Aspose.Words功能演示:使用 Java 将 Word 文档转换为 HTML

为了将 Word 文档的内容嵌入到您的应用程序中&#xff0c;您可能需要执行转换。在这种情况下&#xff0c;最广泛选择的转换是 Word 到HTML或 Word 到图像。&#xff0c;Aspose API支持流行文件格式处理&#xff0c;并允许将各类文档导出或转换为固定布局文件格式和最常用的图像…

Ubuntu20.04安装各种库----简洁版

目录Eigen3SophusPangolinCeresg2o建议先装anaconda再装ros, python,opencv啥该有的都有了下面仅仅安装ros没有的库Eigen3 作用:线性代数开源库, 提供了有关线性代数、矩阵和矢量运算、数值分析及相关的算法安裝方法: sudo apt-get install libeigen3-dev使用時注意添加頭文件…

性能测试:数据库性能问题实战分析

接口压测分析 现在我们来压测一个获取用户信息接口&#xff0c;这个接口会涉及到数据库的数据查询。我们的项目是部署正在应用服务器上面的&#xff0c;因此我们需要同时监控应用服务器和数据库服务器。 那么下面我们来看一下tomcat的这台服务器&#xff0c;cpu的使用率并不高&…

linux系统怎么安装宝塔面板

linux系统怎么安装宝塔面板 怎么安装宝塔面板&#xff1f;这个其实很简单接下来跟着我操作&#xff1a;以linux centos7.6 举例 Centos安装脚本&#xff1a; yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh i…

JavaScript -- 10. 一文了解DOM对象及常用方法

文章目录1. DOM介绍1.1 什么是DOM1.2 概念1.3 关系1.4 HelloWorld1.5 document对象2. DOM节点2.1 元素节点2.1.1 获取已有的元素节点2.1.1 document.getElementById()2.1.2 document.getElementsByClassName()2.1.3 document.getElementsByTagName()2.1.4 document.getElements…

设计模式之简单工厂模式

simple factory design pattern 简单工厂模式的概念、简单工厂模式的结构、简单工厂模式优缺点、简单工厂模式的使用场景、简单工厂模式的实现示例 注&#xff1a;简单工厂模式没有被收录在 GoF 的二十三种设计模式中。 1、简单工厂的概念 简单工厂模式&#xff0c;与其说是设…

32位PCI转CPCI转接板

功能型号 32位PCI转CPCI转接板&#xff0c;调试卡 支持PICMG 2.0 D3.0规范&#xff1b; 支持33MHz速率&#xff1b; 支持32bit总线&#xff1b; 功能描述 1、沉金工艺&#xff0c;接触更好&#xff1b; 2、四层板设计&#xff0c;抗干扰更好&#xff1b; 3、信号线等长处理&…

【论文精读9】MVSNet系列论文详解-AA-RMVSNet

AA-RMVSNet&#xff0c;论文名为&#xff1a;AA-RMVSNet: Adaptive Aggregation Recurrent Multi-view Stereo Network&#xff0c;CVPR2021&#xff08;CCF A&#xff09; 本文是MVSNet系列的第9篇&#xff0c;建议看过【论文精读1】MVSNet系列论文详解-MVSNet之后再看便于理解…