Transformer(二)—— ResNet(残差网络)

news2025/1/11 6:51:54

Transformer(二)—— ResNet(残差网络)

    • 一、背景
      • 1.1 梯度消失/爆炸
      • 1.2 网络退化(Degradation)
    • 二、思路
      • 2.1 为什么需要更深的网络
      • 2.2 理想中的深网络表现
    • 三、实践和实验效果
      • 3.1 构造恒等映射:残差学习(residule learning)
      • 3.2 残差网络
    • 四、Transformer中的残差连接

在这里插入图片描述
在Transformer中,数据过Attention层和FFN层后,都会经过一个Add & Norm处理。其中,Add为residule block(残差模块),数据在这里进行residule connection(残差连接)。残差连接的思想最经典的代表就是2015年被提出的ResNet,这个用于解决深层网络训练问题的模型最早被用于图像任务处理上,现在已经成为一种普适性的深度学习方法。

一、背景

1.1 梯度消失/爆炸

在深度学习网络中,为了让模型学到更多非线性的特征,在激活层往往使用例如sigmoid这样的激活函数。对sigmoid来说,其导数的取值范围在 (0, 1/4],在层数堆叠的情况下,更容易出现梯度消失的问题。

面对梯度消失/爆炸的情况,可以通过Normalization等方式解决,使得模型最终能够收敛。

1.2 网络退化(Degradation)

因为梯度消失/爆炸所导致的深层网络模型不收敛的问题,已经得到了解决。那么现在新的问题出现了:在模型能够收敛的情况下,网络越深,模型的准确率越低,同时,模型的准确率先达到饱和,此后迅速下降。这个情况我们称之为网络退化(Degradation)。如下图,56层网络在测试集(右)上的错误率比20层网络要更高,这个现象也不是因为overfitting所引起的,因为在训练集上,深层网络的表现依然更差。
在这里插入图片描述

二、思路

2.1 为什么需要更深的网络

神经网络帮我们避免了繁重的特征工程过程。借助神经网络中的非线形操作,可以帮助我们更好地拟合模型的特征。为了增加模型的表达能力,一种直觉的想法是,增加网络的深度,一来使得网络的每一层都尽量学到不同的模式,二来更好地利用网络的非线性拟合能力。

2.2 理想中的深网络表现

理想中的深网络,其表现不应该差于浅网络。举一个简单的例子,下图左边是2层的浅网络,右边是4层的深网络,我们只要令深网络的最后两层的输入输出相等,那么两个网络就是等效的,这种操作被称为恒等映射(Identity Mapping)
在这里插入图片描述
当然,这样完全相等的映射是一种极端情况,更为理想的情况是,在网络的深层,让网络尽量逼近这样的极端情况,使得网络在学到新东西的同时,其输出又能逼近输入,这样就能保证深网络的效果不会比浅网络更差。

总结:在网络的深层,需要学习一种恒等映射(Identity Mapping)。

三、实践和实验效果

3.1 构造恒等映射:残差学习(residule learning)

最暴力的构造恒等映射的方法,就是在相应网络部分的尾端增加一层学习层在这里插入图片描述 ,来满足输出和输入逼近。但是本来深网络要学的参数就很庞大了,再构造新的参数层,又增加了模型的复杂度。
在这里插入图片描述
能不能在不添加参数层的情况下,实现恒等映射的功能?考虑下图:
在这里插入图片描述
在这里插入图片描述

因此,ResNet就作为一种解决网络退化问题的有效办法出现了,借助ResNet,我们能够有效训练出更深的网络模型(可以超过1000层),使得深网络的表现不差于浅网络。

在深度神经网络中,当网络很深时,除了增加计算资源消耗以及模型过拟合问题外,还会出现梯度消失/爆炸问题,导致浅层网络参数无法更新。

而且深层的网络还有一个问题,假设我们的初始设定网络是M层,而其实最优化模型对应的层数可能是K层,那么多出来的(M-K)层网络结构,不仅不会提升模型的表达能力,反而使得模型的效果变差(表现为Loss先下降并趋于稳定值,然后再次上升。),这就产生了网络退化问题。

基于以上问题,CV领域里ResNet模型中的残差网络闪亮登场了。

3.2 残差网络

定义问题:统计学中的残差和误差是非常易混淆的两个概念。误差是衡量观测值和真实值之间的差距,残差是指预测值和观测值之间的差距。为什么叫残差网络呢?作者的解释是,网络的一层通常可以看做y=H(x),而残差网络的一个残差块为:H(x)=F(x)+x,则F(x) = H(x)-x,而y=x是观测值,H(x)是预测值,所以H(x)-x即为残差,也即F(x)是残差,故称残差网络

深层网络在前向传播时,随着网络加深,网络获得的信息会逐层递减,而ResNet针对该问题的处理方式是“直接映射”,即下一层不仅包括该层的信息x,还包括该层经非线性变换后的新信息F(x)。这样的处理使得信息反而呈现逐层递增趋势。这可太好用了,可以不用担心信息的丢失问题了。

在这里插入图片描述

残差连接解决的问题
解决梯度消失网络退化的问题。

四、Transformer中的残差连接

在transformer的encoder和decoder中,各用到了6层的attention模块,每一个attention模块又和一个FeedForward层(简称FFN)相接。对每一层的attention和FFN,都采用了一次残差连接,即把每一个位置的输入数据和输出数据相加,使得Transformer能够有效训练更深的网络。在残差连接过后,再采取Layer Nomalization的方式。具体的操作过程见下图,箭头表示画不下了,从左边转到右边去画:
在这里插入图片描述

【必知必会】残差连接
Transformer学习笔记四:ResNet(残差网络)

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

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

相关文章

AIRIOT训练营沈阳站圆满结束|手把手教你搞定物联网应用开发

8月28日-9月1日,由航天科技控股集团有限公司(以下简称“航天科技”)主办的《AIRIOT物联网平台应用与实战》训练营在沈阳圆满结束,来自上海电机学院、中渝软通信息技术、北京华天机电研究所、北京环卫集团、 中国恩菲 等多家企业…

easypoi模板导出、一张sheet有多个不同表格、带一张或多张echars图表

前言 昨天遇到个有点复杂的excel需要导出,一张sheet里面有两个不同的表格,然后还有几张echars图表要加进去。总共分为上下两个部分,上面是表格一;下面又分为左右两个部分,左边是表格二,右边是几张echars图…

过等保三级的好处是什么?谁能简单说说?

虽然国家已经严格落地执行了等保2.0政策,但还有少数小伙伴对于等保政策不是很了解,有小伙伴问过等保三级的好处是什么?谁能简单说说?这里就来一起聊聊。 过等保三级的好处是什么? 好处1、遵循国家法律法规要求&…

气象观测站:观测原理及优势,助力气象精准预报

随着全球气候变化日益严重,气象观测站在现代社会中的地位愈发凸显。 一、气象观测站的观测原理 气象观测站主要通过各种传感器来测量大气的温度、湿度、风速、风向、气压、太阳辐射等基本气象要素。这些传感器需要具备高精度和高稳定性,以确保观测数据…

DAY02_瑞吉外卖——完善登录功能新增员工员工分页查询启用/禁用员工账号编辑员工信息

目录 1. 完善登录功能1.1 问题分析1.2 思路分析1.3 代码实现1.4 功能测试 2. 新增员工2.1 需求分析2.2 数据模型2.3 程序执行流程2.4 代码实现2.5 功能测试2.6 全局异常处理2.6.1 思路分析2.6.2 全局异常处理器2.6.3 测试 3. 员工分页查询3.1 需求分析3.2 程序执行流程3.2.1 页…

实现在外网SSH远程访问内网树莓派的详细教程

文章目录 如何在局域网外SSH远程访问连接到家里的树莓派?如何通过 SSH 连接到树莓派步骤1. 在 Raspberry Pi 上启用 SSH步骤2. 查找树莓派的 IP 地址步骤3. SSH 到你的树莓派步骤 4. 在任何地点访问家中的树莓派4.1 安装 Cpolar4.2 cpolar进行token认证4.3 配置cpol…

PyTorch深度学习实战(15)——迁移学习

PyTorch深度学习实战(15)——迁移学习 0. 前言1. 迁移学习1.1 迁移学习基本概念1.2 迁移学习的重要性1.3 ImageNet1.4 迁移学习流程 2. VGG16 架构3. 使用预训练 VGG16 模型实现猫狗分类小结系列链接 0. 前言 迁移学习( Transfer Learning )是一种利用从…

利用evo将kitti数据集真值轨迹由kitti格式转为tum格式

(1)首先是序列对应问题: 00: 2011_10_03_drive_0027 01: 2011_10_03_drive_0042 02: 2011_10_03_drive_0034 03: 2011_09_26_drive_0067 04: 2011_09_30_drive_0016 05: 2011_09_30_drive_0018 06: 2011_09_30_drive_0020 07: 2011_09_30_dr…

精品基于NET实现的期刊订购管理系统

《[含文档PPT源码等]精品基于NET实现的期刊订购管理系统》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程等 软件开发环境及开发工具: 开发软件:VS 2017 (版本2017以上即可,不能低于2017) 数…

12.示例程序(定时器定时中断定时器外部时钟)

目录 定时中断和时钟源选择相关库函数使用 1.定时器初始化配置 2.参数(PSC、ARR等)更改函数(在程序运行过程中修改) 3.使用定时器库函数的一些细节 定时器定时中断实例 定时器外部时钟选择 知识点get: 滤波器工作…

印尼市场TikTok攻略:如何利用海外网红引领品牌营销?

随着社交媒体的迅速崛起,营销策略也在不断演变,其中TikTok作为一个全球热门的短视频平台,为企业在国际市场上推广产品和服务提供了新的机会。印尼作为东南亚最大的国家之一,拥有庞大的互联网用户群体,为品牌在TikTok上…

如何写出一篇爆款产品文案,从目标受众到市场分析!

一篇爆款产品文案意味着什么?意味着更强的种草能力,更高的销售转化和更强的品牌传播力。今天来分享下如何写出一篇爆款产品文案,从目标受众到市场分析! 一、产品文案策略 一篇爆款产品文案,并不是一时兴起造就的。在撰写之前&…

Date日期工具类(数据库日期区间问题)

文章目录 前言DateUtils日期工具类总结 前言 在我们日常开发过程中,当涉及到处理日期和时间的操作时,字符串与Date日期类往往要经过相互转换,且在SQL语句的动态查询中,往往月份的格式不正确,SQL语句执行的效果是不同的…

提升测试效果:深入解析《Effective软件测试》的关键方法与实践

目录 1、写在前面2、独特的观点3、内容介绍4、作者介绍5、赠书 or 购买 1、写在前面 近年来出现了一 些新的出版方式,MEAP(Manning Early Access Program)就是其中的一种,把开源运动扩展到出版行业。在MEAP中,读者可在图书出版前逐章阅读早期…

2023开学值得买电容笔有哪些?ipad第三方电容笔推荐

很多学生都已经在为新学期的到来做准备了,而电容笔,也是他们最喜欢的一种。苹果的Pencil,虽然功能很强,但也很贵,不是每个人都能买得起的。目前市场上有很多价格低廉,使用方便的平替电容笔,因此…

Numpy和Pandas简介

推荐:使用NSDT场景编辑器快速搭建3D应用场景 如果您正在从事数据科学项目,Python 包将简化您的生活,因为您只需要几行代码即可执行复杂的操作,例如操作数据和应用机器学习/深度学习模型。 在开始你的数据科学之旅时,…

[Linux]进程间通信--共享内存

[Linux]system V共享内存 文章目录 [Linux]system V共享内存共享内存通信的原理系统接口创建共享内存接口关联共享内存接口去关联共享内存接口删除共享内存接口 使用指令操作共享内存查看共享内存删除共享内存 共享内存的特性编码测试共享内存 共享内存是Linux系统下的一种进程…

spring boot项目运行及打包

目录 一、项目示例 二、项目运行 三、项目打包 3.1 配置打包项 3.2 运用maven工具打包 3.3 运行打包好的jar文件 一、项目示例 创建项目逻辑实现文件(控制URL路径访问及内容逻辑实现) 如上图点击创建新的java class文件,编辑文件内容&…

开发工程师VS测试工程师VS测试开发工程师

每年正式上班之后就会非常忙,今年也不例外。我们公司现在也忙了起来,都没有时间写我的自动化测试教程了。不过大家放心,我会继续写下去的,不过可能更新的不那么快了。最近被同事问到了一个问题,开发,测试和…

nvidia-smi指令报错:Failed to initialize NVML: Driver 解决

文章目录 如何解决题外话,ubuntu22如何安装NVIDIA驱动 我的系统是ubuntu22。 如何解决 我是之前有能用的驱动,但突然服务器nvidia-smi命令不能用了。 看网上说重启就好了,我重启后还是没用,我建议是重启后运行下面2个指令。 运…