Transformer详解:从放弃到入门(三)

  上篇文章中我们了解了多头注意力和位置编码,本文我们继续了解Transformer中剩下的其他组件。

层归一化

  层归一化想要解决一个问题,这个问题在Batch Normalization的论文中有详细的描述,即深层网络中内部结点在训练过程中分布的变化问题。
  如果神经网络的输入都保持同一分布,比如高斯分布,那么网络的收敛速度会快得多。但如果不做处理的话,这很难实现。由于低层参数的变化(梯度更新),会导致每层输入的分布也会在训练期间变化。
  批归一化首先被提出来通过在深度神经网络中包含额外的归一化阶段来减少训练时间。批归一化通过使用训练数据中每个批次输入的均值和标准差来归一化每个输入。它需要计算累加输入统计量的移动平均值。在具有固定深度的网络中,可以简单地为每个隐藏层单独存储这些统计数据。针对的是同一个批次内所有数据的同一个特征。
  然而批归一化并不适用于Transformer,通常在NLP中一个批次内的序列长度各有不同,所以需要进行填充,存在很多填充token。如果使用批归一化,则容易受到长短不一中填充token的影响,造成训练不稳定。而且需要为序列中每个时间步计算和存储单独的统计量,如果测试序列不任何训练序列都要长,那么这也会是一个问题。
  而层归一化针对的是批次内的单个序列样本,通过计算单个训练样本中一层的所有神经元(特征)的输入的均值和方差来归一化。没有对批量大小的限制,批归一化是不同训练数据之间对单个隐藏单元(神经元,特征)的归一化,层归一化是单个训练数据对同一层所有隐藏单元(特征)之间的归一化。对比见下图:
在这里插入图片描述
  如上图所示,批归一化针对批次内的所有数据的单个特征(Feature);层归一化针对批次内的单个样本的所有特征,它们都包含所有时间步。层归一化的公式为: y = x − E [ x ] V a r [ x ] + ϵ ⋅ γ + β y=\frac{x-E[x]}{\sqrt{Var[x]+\epsilon}}\cdot \gamma+\beta y=Var[x]+ϵ xE[x]γ+β  其中,x是归一化层的输入,y是归一化层的输出, γ \gamma γ β \beta β是为归一化曾分配的一个自适应的缩放和平移参数, ϵ \epsilon ϵ是一个很小的值,防止除零。

残差连接

  残差连接(residual connection,skip residual,也称为残差块)原理很简单,如下图:在这里插入图片描述  x为网络层的输入,该网络层包含非线性激活函数,记为F(x),即: y = x + F ( x ) y=x+F(x) y=x+F(x)  y是该网络层的输出,它作为第二个网络层的输入。在这个过程中,输入x没有被遗忘。
  残差是ResNet提出的概念,一般网络层数越深,模型的表达能力越强,性能也就越好。但随着网络的加深,也带来了很多问题,比如梯度消失、梯度爆炸。残差连接可以缓解这个问题。
在这里插入图片描述

  上图是ResNet网络有无残差连接损失平面的区别,可以看出来,增加了残差连接后,损失平面更加平滑,没有那么多局部极小值。直观地看,有了残差连接了,x的信息可以直接传递到下一层,哪怕中间F(x)是一个非常深的网络,只要它能学到将自己的梯度设成很小,不影响x梯度的传递即可。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

风吸式杀虫灯解析

TH-FD2S风吸式杀虫灯是一种创新且环保的害虫控制设备,它结合了太阳能和风力的双重优势,为农业生产、园林绿化以及居民生活等提供了高效且安全的害虫防治方案。 首先,风吸式杀虫灯的工作原理是利用害虫的趋光性,通过特定的光源吸引…

AI视频教程下载:用ChatGPT做SEO的终极教程

ChatGPT是由OpenAI开发的一款尖端人工智能,它已经彻底改变了我们进行搜索引擎优化(SEO)的方式。其先进的语言处理能力使其成为增强网站内容、提高搜索引擎排名和显著提升在线可见性的宝贵工具。 这个全面的课程旨在为你提供使用ChatGPT进行SE…

突破AI迷雾:英特尔携手星环科技打造向量数据库革新方案,直降大模型幻觉

去年爆火的大模型,正在从百模大战走向千行百业落地应用。不过行业数据规模有限,企业数据隐私安全的要求等等因素,都让行业大模型的准确率面临挑战。近期发布的《CSDN AI 开发者生态报告》数据显示,“缺乏数据/数据质量问题”在大模…

ILI9341显示驱动芯片的使用

ILI9341是一种常见的TFT LCD显示驱动芯片,它在众多的应用中都有广泛的使用。这种芯片的一个显著特点是它支持16位RGB565颜色,这意味着它可以显示多达65536种不同的颜色。这使得ILI9341能够提供鲜艳、生动的色彩效果,对于需要表现丰富色彩的应…

解决Python中的 `ModuleNotFoundError: No module named ‘fcmeans‘` 错误

ModuleNotFoundError: No module named fcmeans 解决Python中的 ModuleNotFoundError: No module named fcmeans 错误如何解决这个错误fcmeans 库简介应用实例 解决Python中的 ModuleNotFoundError: No module named fcmeans 错误 在进行数据科学或机器学习项目时,…

【QA】Java常见运算符

前言 本文主要讲述Java常见的运算符 运算符的概念 两个基本概念: 运算符:对字面量或者变量进行操作的符号 表达式:用运算符把字面量或者变量连接起来符合java语法的式子就可以称为表达式 示例: int a 10; int b 20; int …

上证50etf期权到底该怎么玩?

今天期权懂带你了解上证50etf期权到底该怎么玩?ETF期权是一种股票市场上的金融衍生品,它是在交易所上市交易的期权合约,其标的资产是某个特定的交易所交易基金(ETF),如上证50指数ETF或沪深300指数ETF等。 上…

2023黑马头条.微服务项目.跟学笔记(五)

2023黑马头条.微服务项目.跟学笔记 五 延迟任务精准发布文章 1.文章定时发布2.延迟任务概述 2.1 什么是延迟任务2.2 技术对比 2.2.1 DelayQueue2.2.2 RabbitMQ实现延迟任务2.2.3 redis实现3.redis实现延迟任务4.延迟任务服务实现 4.1 搭建heima-leadnews-schedule模块4.2 数据库…

品深茶的抗癌功能是否涉及虚假宣传?

品深茶说到底,本质还是中国传统茶叶,茶叶本就是一种含有多种成分的饮品,包括茶多酚、生物碱、氨基酸、有机酸等。这些成分对人体有一定的益处,如抗氧化、抗炎、抗菌等作用。 一些研究表明,茶叶中的某些成分如茶多酚、…

以中国为目标的DinodasRAT Linux后门攻击场景复现

概述 在上一篇《以中国为目标的DinodasRAT Linux后门剖析及通信解密尝试》文章中,笔者对DinodasRAT Linux后门的功能及通信数据包进行了简单剖析,实现了对DinodasRAT Linux后门心跳数据包的解密尝试。 虽然目前可对DinodasRAT Linux后门的通信数据包进…

关于在Conda创建的虚拟环境中安装好OpenCV包后,在Pycharm中依然无法使用且import cv2时报错的问题

如果你也掉进这个坑里了,请记住opencv-python!opencv-python!!opencv-python!!! 不要贪图省事直接在Anaconda界面中自动勾选安装libopencv/opencv/py-opencv包,或者在Pycharm中的解…

FPGA学习笔记(3)——正点原子ZYNQ7000简介

1 ZYNQ-7000简介 ZYNQ 是由两个主要部分组成的:一个由双核 ARM Cortex-A9 为核心构成的处理系统(PS,Processing System),和一个等价于一片 FPGA 的可编程逻辑(PL,Programmable Logic&#xff0…

github提交不了的问题

开了VPN提交的时候提示这个报错 是需要这两个端口号一致,就能提交了

智慧应急三维电子沙盘系统

深圳易图讯科技有限公司(www.3dgis.top)自主研发的智慧应急三维电子沙盘系统依托大数据融合物联网、云计算、移动互联、5G、BIM、三维GIS等新一代信息技术,集成了高清卫星影像、地形数据、实景三维模型、现场环境数据、物联感知信息、人口、建…

KAN: Kolmogorov–Arnold Networks

KAN: Kolmogorov–Arnold Networks 论文链接:https://arxiv.org/abs/2404.19756 代码链接:https://github.com/KindXiaoming/pyKAN 项目链接:https://kindxiaoming.github.io/pyKAN/intro.html Abstract 受Kolmogorov-Arnold表示定理的启…

常用算法汇总

作者:指针不指南吗 专栏:算法篇 🐾算法思维逻辑🐾 文章目录 1.判断闰年2.计算从某天到某天的天数3.二分4. 前缀和5.差分6.图论6.1dfs6.2走迷宫 7.最短路7.1dijkstra7.2foly 8.并查集9.数论9.1gcd lcm9.2判断素数(质数)9.3分解质因…

python学习笔记-02

变量和数据类型 程序中运用变量存储数据,python是一门强类型语言,赋值时不需要指定数据类型。 1.变量的定义 语法格式:变量名数据 a10 print(a) a哈哈 print(a)python中基本数据类型: 数字(num):int(有符号整数)、lo…

网站安全大揭秘:十大常见攻击方式与应对策略

随着互联网的普及,恶意内容攻击事件屡见不鲜。当一个网站遭遇恶意内容攻击时,不仅会影响用户体验,还可能对用户数据和隐私造成严重威胁,那么,网站都存在哪些形式的恶意攻击呢? 每种攻击的应对策略又是什么&…

如何练英语口语?三个简单练习方法

如何练英语口语?在全球化日益加速的今天,英语已经成为了一种必不可少的交流工具。对于很多人来说,尤其是那些想要在国际舞台上崭露头角的人,流利的英语口语更是必不可少的技能。但是,很多人也面临着一个问题&#xff1…

搭建Springboot的基础开发框架-01

本系列专题虽然是按教学的深度来定稿的,但在项目结构和代码组织方面是按公司系统的要求来书定的。在本章中主要介绍下基础开发框架的功能。后续所有章节的项目全是在本基础框架的基础上演进的。 工程结构介绍 SpringbootSeries:父工程,定义一…
最新文章