Transformer中的核心问题 知识点汇总

Transformer架构

 transformer整体架构

1. Transformer 参数配置

Transformer EncoderDecoder使用6注意力模块所有网络输出维度均为512多头注意力部分使用8注意力头

2. 归一化的方式

归一化方式LayerNorm因为当时18还没有其他更好归一化方式LayerNorm同一个样本特征进行标准化从而保证模型训练不同网络输入输出分布稳定,从而加速训练。

3. 注意力得分计算为什么

因为导致梯度消失问题

  1. 两个分布为(均值=0方差=1向量内积结果分布为(均值=0,方差=d),其中d向量维度这就导致注意力分数可能出现一些非常这种softmax占据主导地位
  2. softmax计算公式

梯度计算公式

这里可以看出一旦softmax处理的向量的某一项很大那么softmax结果向量每一个输入x梯度都会趋近0因为如果softmax(x_i) -> 1那么其他softmax(x_j) 趋近0梯度公式里面无论哪一种情况都会导致梯度计算趋近于0最终引起梯度消失导致训练困难

4. 什么长程依赖问题?

长程依赖问题输入序列很长模型难以记住序列早期关键信息导致输出模型忘记这些关键内容

RNNLSTM因为上下文压缩一个两个固定大小的向量从而难以表示上下文所有关键信息导致长程依赖问题

5. Self-AttentionDropout作用

Dropout用于增强模型泛化能力防止模型过拟合

具体来说Dropout随机目前隐藏层(即神经元的输出)一定概率0丢弃

Dropout一般运用注意力得分矩阵FeedForward输出残差连接之前

通过Dropout可以防止模型过度关注某些节点输出

6. 多头注意力最后一层线性作用是什么

由于多头注意力里面每个value独立计算计算过程彼此之间并没有任何交互没有任何信息传递所以通过一个线性不同注意力输出结果相连从而彼此之间信息交互

7. Position Encoding位置编码专题

1位置编码目的设计要求

由于self-attention机制利用全局token信息tokentoken先后顺序丢失所以需要一种方式描述token之间相对位置于是transformer位置编码方式位置编码函数设计需要保证以下几点:

  1. 模型能够利用位置编码的信息间接捕获到token之间的相对位置或绝对位置
  2. 不同位置的token的位置编码不能相同
  3. 位置编码函数不能是隐函数

2位置编码为什么采用三角函数

因为位置编码嵌入后面注意力计算不同token之间会有乘积运算所以这里位置编码不同token之间会有乘积运算三角函数积化和差公式可以很好建模这种内积位置关系

3既然一个cossin已经能够表达积化和差直接位置i交替使用cos i, sin i,cos i,sin i编码不就为什么设计不同频率系数

因为如果只有一种频率模型其实无法解构真正相对位置关系因为模型只能拿到内积计算结果假定一个v这个v实际等于cos(a-b+k*T),其中T为三角函数的周期,由于三角函数周期性这里没办法定位真正a-b那个所以通过不同频率来求解到真正相对位置所以位置编码pos不变随着i三角函数周期变大不同i保证周期不一致,高维的周期更长,频率更低。

4什么10000分母底数

因为如果底数一个较小值这会导致最高周期不会太大试想当token数量变多的时候,一旦后面某个token的位置正好是前面某个token的位置编码中所有三角函数周期的公倍数的整数倍(因为计算机浮点精度的存在),这会导致不同位置的token具有完全相同的位置编码所以所有维度三角函数周期公倍数必须足够大选择10000最高维周期已经足够可以满足绝大多数场景需求

8. 为什么FeedForward

升维可以为模型提供更广阔的特征空间,使其能够捕捉到更丰富的信息,模型可以学习到更复杂的特征组合和交互,增强模型的表达能力

9. 多头交叉注意力多头自注意力区别是什么

多头交叉注意力中key和value来自于Encoder的输出,而query则来自于解码器中对生成的token的自注意力输出多头交叉注意力作用希望生成的token能够利用到先前输入中存在的一些关键信息。

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

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

相关文章

python web开发-Flask数据库集成

Flask 数据库集成完全指南:Flask-SQLAlchemy 实践 1. 引言 数据库是现代Web应用的核心组件,Flask通过Flask-SQLAlchemy扩展提供了强大的数据库集成能力。本文将全面介绍如何在Flask应用中使用Flask-SQLAlchemy进行数据库操作,涵盖从基础配置…

一站式用AI编程神奇Cursor/Trae(VScode环境)开发运行Scala应用

平时开发时,我们常用 IDEA 搭配 Scala 来开发 Spark 或 Flink 等大数据应用。但如今像 Cursor 这样的编程神器层出不穷,它们只支持 VSCode。要是 Scala 应用能在 VSCode 环境下便捷运行,我们就无需在 VSCode 开发、却在 IDEA 运行&#xff0c…

【Django开发】django美多商城项目完整开发4.0第2篇:项目准备,配置【附代码文档】

教程总体简介:美多商城 商业模式介绍 1.B2B--企业对企业 2.C2C--个人对个人 5.O2O--线上到线下 开发流程 说明: 需求分析 1. 用户部分 注册 登录 个人信息 地址管理 修改密码 3. 购物车部分 购物车管理 项目架构 创建工程 1. 在git平台创建工程 2. 添加前…

基于 OpenCV 的图像亮度、对比度与锐度调节

图像亮度、对比度和锐度是图像质量感知的重要参数,调节这些属性常用于图像增强、图像美化或图像分析的预处理阶段。本文将基于 OpenCV 实现这三项基础图像处理功能,并提供滑动条交互界面与直方图可视化分析,方便调试和理解效果。 亮度调整 图…

WAF(web应用防火墙)的简单了解

WAF称之为Web应用防火墙,是一种专门设计用于保护web应用程序免受恶意攻击的安全设备,能实时监控过滤和拦截可能对网站造成危害的网络流量,从而避免网络服务器被恶意入侵导致性能异常、数据泄露、服务中断这些问题 (WAF是通过执行一系列针对HT…

跟着AI学习C# Day28

📅 Day 28:C# 源生成器(Source Generators)与编译时元编程 ✅ 学习目标: 理解什么是 源生成器(Source Generator);掌握如何在 编译阶段生成 C# 代码,而不是运行时动态处…

设计模式精讲 Day 4:建造者模式(Builder Pattern)

【设计模式精讲 Day 4】建造者模式(Builder Pattern) 文章简述: 在软件开发中,对象的构造过程往往复杂且容易出错,尤其是在对象包含多个可选参数或构建步骤时。建造者模式(Builder Pattern)正是…

如何轻松地将联系人从 iPhone 转移到 iPhone?

也许您升级到最新的 iPhone 型号,或者需要切换到另一部 iPhone 来工作。无论如何,您不能错过您的联系人,这对每个人来说都是最重要的数据。因此,今天我们将分享 5 种如何将联系人从 iPhone 转移到 iPhone 的方法,帮助您…

【51单片机简单的流水灯程序问题】2022-5-24

1.利用单片机的P2口接8个发光二极管。简单的流水灯程序问题-编程语言-CSDN问答 2.发光二极管自由闪烁(自己设计两种模式)。 3.可通过按键实现暂停、启动以及不用模式的切换。 4. 利用Proteus绘制电路原理图 5. 元件选型&#xff1…

第七节:Vben Admin 最新 v5.0 (vben5) 快速入门 - 用户管理(上)

Vben5 系列文章目录 💻 基础篇 ✅ 第一节:Vben Admin 最新 v5.0 (vben5) 快速入门 ✅ 第二节:Vben Admin 最新 v5.0 (vben5) 快速入门 - Python Flask 后端开发详解(附源码) ✅ 第三节:Vben Admin 最新 v5.0 (vben5) 快速入门 - 对接后端登录接口(上) ✅ 第四节:Vben Ad…

1572. 矩阵对角线元素的和

给你一个正方形矩阵 mat,请你返回矩阵对角线元素的和。 请你返回在矩阵主对角线上的元素和副对角线上且不在主对角线上元素的和。 示例 1: 输入:mat [[1,2,3],[4,5,6],[7,8,9]] 输出:25 解释:对角线的和为&#xf…

供应链场景使用ClickHouse最佳实践

一、概述 ClickHouse是一款由俄罗斯公司Yandex开发的开源列式数据库管理系统,以其高性能的分析查询能力和高压缩比著称。供应链场景中,数据量大且数据类型复杂,需要高效的数据存储和快速的查询性能,ClickHouse在这些方面具有显著…

RA4M2开发IOT(0)----安装e² studio

RA4M2开发IOT.0--安装e studio 概述视频教学样品申请安装 概述 瑞萨电子灵活配置软件包 (FSP) 是用于嵌入式系统设计的高质量增强型软件包,支持瑞萨电子 RA 产品家族 Arm 微控制器,提供用户友好的界面且可灵活扩展,确保从入门级到高性能的整…

【Ambari3.0.0 部署】Step2—免密登陆认证-适用于el8

如果有其他系统部署需求可以参考原文 戳我->所有组件编译教程 戳我->获取部署源代码 一、免密登录认证 🔐 在多台服务器协同工作的环境中,免密登录(SSH 免密认证)是一种常见的优化手段,能够极大地提升运维效率&…

网站自助广告投放系统源码 附安装教程(源码下载)

网站自助广告投放系统源码 全自动无人化出售网站广告位 站长必备 源码测试可用,部分加密。感兴趣自行下载 源码下载:https://download.csdn.net/download/m0_66047725/91093092 更多资源下载:关注我 图片:

日常运维问题汇总-15

42.SD开票计划产生的预收款在正式开票时未自动清账 统驭科目(应收、预收)对应的字段状态组中附加科目设置销售订单字段设置为了隐藏导致,更改为“可选输入项” 43.MIGO取消凭证时,用户反馈发现除一行外,其它都不能取消…

【设计模式】6.原型模式

every blog every motto: You can do more than you think. https://blog.csdn.net/weixin_39190382?typeblog 0. 前言 原型模式 1. 基础 import copyclass Resume:def __init__(self, name):self.name nameself.sex Noneself.age Noneself.time_area Noneself.compan…

【算法 day08】LeetCode 151.翻转字符串里的单词 |卡码网:55.右旋转字符串

151.翻转字符串里的单词 题目链接 | 文档讲解 |视频讲解 : 链接 1.思路: 1.去除字符串头尾的空格 ,使用库函数 trim() 2.对字符串进行分割,使用库函数split() 3.创建StringBuilder sb&#x…

【WordPress优化插件】WPOPT v2.4.7

WPOPT插件,是由本站开发的一款WordPress优化插件,能对WordPress底层功能进行优化,支持功能开关,系统加速等功能。 2.0版本全新发布,采用vite打包,界面采用Vue3+element-plus制作。无论是外观,还是框架功能,都是空前的强大。 功能更多,更强,是所有WordPress网站都值得…

如何使用 mkimage 工具生成 uImage 文件(RISC-V 环境)

一、mkimage 命令参数详解 在 RISC-V Linux 环境下,使用 U-Boot 的 mkimage 工具生成 uImage 的基本命令格式如下: mkimage -A riscv -O linux -T kernel -C compression -a load_addr -e entry_addr -n "描述信息" -d Image uImage核心参数…