首页 > 其他分享 >位置编码(Poitional Encoding)

位置编码(Poitional Encoding)

时间:2024-03-13 21:47:57浏览次数:30  
标签:编码 Encoding Poitional 位置 pos 2i 向量

2024.3.13 位置编码(Poitional Encoding)

Self-Attention:对于每个词而言都是位置关系,把每个词的顺序打乱,得到的注意力值依然不变

优点:

  1. 解决了长序列依赖问题
  2. 可以并行

缺点:

  1. 开销变大(需要算力增加)
  2. 既然可以并行,则词与词之间不存在顺序关系(打乱一句话,这句话里的每个词的词向量依然不会改变),既无位置关系(既然没有,就加一个,通过位置编码的形式加)

位置编码怎么做

通过$t_1$告诉你,$x_1$是在前面,$x_2$在$x_1$的后面

为了解决 Attention 丢失的序列顺序信息,Transformer 的提出者提出了 Position Embedding,也就是对于输入 X进行 Attention 计算之前,在 X的词向量中加上位置信息,也就是说 X的词向量为

$X_{final\quad embedding}=Embedding+Positional\quad Embedding$

其中位置编码公式如下图所示:

其中 pos 表示位置、i 表示维度、$d_{model}$表示位置向量的向量维度 、2i、2i+1表示的是奇偶数(奇偶维度),上图所示就是偶数位置使用 sin函数,奇数位置使用 cos 函数。

过把单词的词向量和位置向量进行叠加,这种方式就称作位置嵌入,如下图所示:

z

$PE(pos+k,2i)=sin(pos+k) \quad $$PE(pos+k,2i+1)=cos(pos+k)$

$sin$ ---->2$i$,$cos$ ------>2$i+1$

公式里面蕴含相对位置信息

pos+k是pos和k的线性组合

pos+k=5,我在计算第五个单词的位置编码的时候

pos=1,k=4

pos=2,k=3

标签:编码,Encoding,Poitional,位置,pos,2i,向量
From: https://www.cnblogs.com/adam-yyds/p/18071589

相关文章

  • 【MATLAB源码-第146期】基于matlab的信源编码仿真GUI,对比霍夫曼编码,算术编码和LZ编码
    操作环境:MATLAB2022a1、算法描述霍夫曼编码、算术编码和LZ编码是三种广泛应用于数据压缩领域的编码技术。它们各自拥有独特的设计哲学、实现方式和适用场景,因此在压缩效率、编解码速度和内存使用等方面表现出不同的特点。接下来详细描述这三种编码技术,并对它们进行比较。......
  • 深度学习--自编码器(AE)、变分自编码器(VAE)
    提示:仅供自己学习、复习需要,有任何问题可在评论区提出。深度学习--自编码器一、自编码器AE二、变分自编码器VAE1.为什么要有VAE2.VAE推导一、自编码器AE自编码器是一种无监督的特征学习,其目的是利用无标签数据找到一个有效的低维的特征提取器。那什么是特征学习......
  • 你知道h.265吧?但关于AV1编码格式你也来了解一下吗?
    介绍一下av1格式AV1(AOMediaVideo1)是一种开放、免版税的视频编码格式,旨在用于视频传输和存储。它由开放媒体联盟(AllianceforOpenMedia,AOM)开发,这是一个由Google、Mozilla、Cisco、Amazon、Intel、Microsoft、Netflix等多家公司组成的联盟。AV1旨在取代VP9并成为与HEVC(H.265)......
  • base16编码和解码-支持中文
     这是一个base16编码/解码的方法。而且支持中文的编码和解码。 代码由chatgpt-3.5生成:#include<iostream>#include<string>conststd::stringbase16="0123456789ABCDEF";voidBase16Encode(conststd::string&data,std::string&out){for(unsigned......
  • 嘿!AI 编码新玩法上线!
    随着AI智能浪潮到来,AI编码助手成为越来越多开发者的必备工具,将开发者从繁重的编码工作中解放出来,极大地提高了编程效率,帮助开发者实现更快、更好的代码编写。通义灵码正是这样一款基于阿里云通义代码大模型打造的智能编码助手,由海量优秀开源代码数据集和编程教科书训练,可根据......
  • 辨析Java与网络通信中的编码与解码
    在Java字符流上下文中的编码和解码,以及在网络通信中的编码概念。在Java中,当我们谈论字符流(如Reader和Writer)时,编码和解码主要涉及将字符数据转换为字节数据,以及将字节数据转换回字符数据。这是因为字符在计算机内部是以字节的形式存储和传输的,而字符流提供了一种更高级别的抽象,使......
  • ubuntu c语言 opencv实现h265 编码
    在Ubuntu上使用C语言和OpenCV实现H.265编码,你可以遵循以下步骤:安装依赖:首先确保你的系统已经安装了Ubuntu最新版本,并更新所有包列表。安装FFmpeg,因为OpenCV使用FFmpeg来处理视频编码。可以使用以下命令安装:复制sudoaptupdatesudoaptinstallffmpeg安装OpenCV:OpenCV库本......
  • .net 各种文件编码方式读取txt文件
    txt文件,有不同的编码方式,导入到系统有时不识别,故做以下适配。#region字节流编码格式判断///<summary>///获取txt文件内容行///兼容不同的编码方式///</summary>///<paramname="stream"></param>///<paramname="i......
  • GB 2312字符集:中文编码的基石
    一、GB2312字符集的背景GB2312字符集是中国国家标准委员会于1980年发布的一种中文字符集,是中国大陆最早的中文字符集之一。GB2312字符集的发布填补了中国大陆中文编码的空白,为中文信息处理提供了基础。标准中文电码查询|一个覆盖广泛主题工具的高效在线平台(amd794.com)h......
  • P001-根据编码规则自动生成ID的函数
    --创建sequenceCREATESEQUENCEseq_1765319714616074242INCREMENT1MINVALUE3MAXVALUE9999START3NOCYCLENOCACHE;--变更sequenceALTERSEQUENCEseq_1765319714616074242INCREMENT1MINVALUE10MAXVALUE9999START10NOCYCLENOCACHE;--删除sequence......