transformer | transformer的输入部分input coding

news2024/11/14 22:05:06

文章目录

  • transformer的输入部分input coding
    • BPE
      • BPE所解决的问题——OOV
    • PE(Position Encoding)位置编码

transformer的输入部分input coding

transformer的输入部分input coding=BPE+PE

BPE

在这里插入图片描述
BPE是指一种词分类算法。
起初,会将每个单词都拆分成一个个字母扔进词表中。
然后统计byte gram,选出出现次数最多的byte gram,将其塞入到词表中,若组成的byte gram使得原本单独的部分无其他非组成该byte gram的情况,则该部分需要从原先的词表进行删除。
比如es形成esesnewestwidest均有出现,且出现的次数最多,所以可将es整合成es塞入到词表中,且s只在es中出现,所以在整合的过程中要在原先词表中删去s,让s作为es整体的部分进行出现。

BPE所解决的问题——OOV

OOVout of vocabulary的简称.
OOV是指代一个问题,即目前出现的单词超出已有的知识范围。
而BPE能够处理OOV问题。
比如说BPE会通过学习将smartest拆分成smartest,当他遇到并不认识的lowest时,会将其拆分成lowest,而可通过之前学习到的smartest来进行泛化/推理,如果说词表中是含有low这个词项的话,那么是可以推理得到大概lowest的意思
在这里插入图片描述

PE(Position Encoding)位置编码

作用:用于弥补transformer无法处理各输入部分的位置信息。(位置信息是很重要的,词的意思可通过上下文进一步明确,上文放在下文,可能就有不同的意思存在)
如“我吃鱼”和“鱼吃我”是两个不同的概念。

在这里插入图片描述
pos是指位置,比如说“我爱你”中的“爱”的位置为第二。
i是词在转为词向量后所得到的索引。比如embedding后的维度为512维,那么i对应其中一个维度。
在这里插入图片描述
PE算法会对应一个三角函数。
当索引为偶数时, P E ( p o s + k , 2 i ) = s i n ( ( p o s + k ) / 1000 0 2 i d m o d e l ) = s i n ( ( p o s ) / 1000 0 2 i d m o d e l × c o s ( ( k ) / 1000 0 2 i d m o d e l + s i n ( ( k ) / 1000 0 2 i d m o d e l × c o s ( ( p o s ) / 1000 0 2 i d m o d e l = P E ( p o s , 2 i ) P E ( k , 2 i + 1 ) + P E ( k , 2 i ) P E ( p o s , 2 i + 1 ) PE(pos+k,2i) = sin((pos+k)/10000^{\frac{2i}{d_{model}}})=sin((pos)/10000^{\frac{2i}{d_{model}}}\times cos((k)/10000^{\frac{2i}{d_{model}}}+sin((k)/10000^{\frac{2i}{d_{model}}}\times cos((pos)/10000^{\frac{2i}{d_{model}}}=PE(pos,2i)PE(k,2i+1)+PE(k,2i)PE(pos,2i+1) PE(pos+k,2i)=sin((pos+k)/10000dmodel2i)=sin((pos)/10000dmodel2i×cos((k)/10000dmodel2i+sin((k)/10000dmodel2i×cos((pos)/10000dmodel2i=PE(pos,2i)PE(k,2i+1)+PE(k,2i)PE(pos,2i+1)
同理,当索引为奇数时,也会得到对应的处理。
也就是说pos为6的位置编码为可以由1和5,2和4,3和3三对位置编码得到。
进而,位置编码可以认为是一种向量。然后向量是具有空间的,通过和积化差可以得到这个向量是由于某些向量线性组合而成,而线性组合也有对应的空间表示,从而通过线性组合区分位置关系。
在这里插入图片描述

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

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

相关文章

旧物回收小程序开发:创新与可持续发展的交汇点

随着社会的发展和人们生活水平的提高,物品的更新换代速度越来越快,这导致了大量的旧物被闲置或丢弃。为了解决这个问题,旧物回收成为了重要的环保行动。而随着移动互联网的普及,旧物回收小程序的开发也成为了新的趋势。本文将探讨…

本次安装Visual Studio 所用的安装程序不完整。请重新运行VisualStudio安装程序以解决此问题

今天点开VS的时候遇到了这个问题 因为昨天升级到一半电脑关机了,今天打开软件遇到如下错误, 解决办法很简单,找到安装目录进入Installer文件夹 我的目录在C:\Program Files (x86)\Microsoft Visual Studio\Installer 找到vs_installer.exe…

《HTML 简易速速上手小册》第8章:HTML 表单高级技术(2024 最新版)

文章目录 8.1 数据收集与处理8.1.1 基础知识8.1.2 案例 1:创建一个注册表单8.1.3 案例 2:创建一个调查问卷表单8.1.4 案例 3:创建一个动态添加输入字段的表单 8.2 定制化表单元素8.2.1 基础知识8.2.2 案例 1:创建一个带有定制选择…

打击者H5小游戏

欢迎来到程序小院 打击者 玩法&#xff1a;点击飞机上下左右移动躲过子弹射击&#xff0c;打掉上方敌人飞机&#xff0c; 遇到药包会增加能量&#xff0c;弹药包会升级武器&#xff0c;快去射击吧^^。开始游戏https://www.ormcc.com/play/gameStart/262 html <div id"…

点击查看 Milvus 社区十大关键词(下)

在昨天的文章《点击查看 Milvus 社区十大关键词&#xff08;上&#xff09;》中&#xff0c;我们提到将 2023 年所有 Milvus 技术交流群的聊天历史做了整理分析&#xff0c;得到了如下的一张词云图&#xff1a; 按照热度&#xff0c;排名前十的关键词依次为&#xff1a;版本、查…

游戏缺失d3dcompiler_47.dll怎么办,这五种方法可以帮你解决

d3dcompiler_47.dll文件的缺失可能会导致一系列显著且影响用户体验的问题。作为DirectX 3D编译器的重要组件&#xff0c;该动态链接库文件在许多依赖于高级图形处理的应用程序和游戏运行过程中起着至关重要的作用。当系统中缺少这个特定的dll文件时&#xff0c;可能会出现诸如应…

会话技术复习笔记

一.登录校验的需求 什么是登录校验&#xff1f; 所谓登录校验&#xff0c;指的是我们在服务器端接收到浏览器发送过来的请求之后&#xff0c;首先我们要对请求进行校验。先要校验一下用户登录了没有&#xff0c;如果用户已经登录了&#xff0c;就直接执行对应的业务操作就可以…

H264 编码标准配置档次 Profile 详解

H264 中 Profile 定义&#xff1a; H264 标准中规定了 多种档次Profile&#xff0c; 每种 Profile 都规定了一个算法特征和限制的子集&#xff0c;任何遵守某个 Profile 的解码器都应该支持与其相应的子集。维基百科中解释&#xff1a; The standard defines several sets of …

深度学习之循环神经网络 (基础)

循环神经网络简称为RNN&#xff0c;&#xff08;之前讲到的卷积神经网络简称为CNN&#xff09;。 以前我们在使用全链接网络的时候&#xff0c;我们将这种网络叫做Dense 或者是Deep。 Dense链接指的是全链接的。 我们输入的数据是数据样本的不同特征&#xff1a;x1&#xff…

STM32F407移植OpenHarmony笔记4

上一篇写到make menuconfig报错&#xff0c;继续开整。 make menuconfig需要/device/soc/*下面有对应的Kconfig文件。 直接去gitee下载stm32的配置文件拿来参考用。 先提取Kconfig文件&#xff0c;后面再添加其它文件。https://gitee.com/openharmony/device_soc_st/tree/Open…

ubuntu 22安装配置并好安全加固后,普通用户一直登录不上

现象 ubuntu 22安装配置并好安全加固后&#xff0c;普通用户一直登录不上 排查报错 查看日志/var/log/auth.log发现报错 Jan 30 15:49:57 aiv-O-E-M sshd[62570]: PAM unable to dlopen(pam_tally2.so): /lib/security/pam_tally2.so: cannot open shared object file: No …

Docker最新超详细版教程通俗易懂(基础版)

Docker概述 概念&#xff1a;容器虚拟化技术&#xff0c;系统平滑移植&#xff0c;解决了运⾏环境和配置问题的软件容 器&#xff0c;⽅便做持续集成并有助于整体发布的容器虚拟化技术 意义&#xff1a;Docker的出现使得Docker得以打破过去程序即应⽤的观念&#xff0c;透过…

详讲api网关之kong的基本概念及安装和使用(二)

consul的服务注册与发现 如果不知道consul的使用&#xff0c;可以点击上方链接&#xff0c;这是我写的关于consul的一篇文档。 upstreamconsul实现负载均衡 我们知道&#xff0c;配置upstream可以实现负载均衡&#xff0c;而consul实现了服务注册与发现&#xff0c;那么接下来…

短视频与小程序:如何实现完美结合?

在短视频日益成为人们娱乐、社交和信息获取的重要渠道的今天&#xff0c;如何在短视频平台进行小程序推广成为了许多企业和品牌关注的焦点。本文将介绍如何利用短视频平台进行小程序推广&#xff0c;提升品牌曝光和用户互动。 首先&#xff0c;打开乔拓云-门店系统的后台&#…

让AI帮你说话--GPT-SoVITS教程

有时候我们在录制视频的时候&#xff0c;由于周边环境嘈杂或者录音设备问题需要后期配音&#xff0c;这样就比较麻烦。一个比较直观的想法就是能不能将写好的视频脚本直接转换成我们的声音&#xff0c;让AI帮我们完成配音呢&#xff1f;在语音合成领域已经有很多这类工作了&…

Linux操作系统权限相关问题(一站式速通权限)

一、sudo命令 sudo yum install -y sl sudo命令的作用 不切换用户&#xff0c;就想让普通用户以root的身份&#xff0c;执行对应的指令 输入密码时&#xff0c;输入的是自己普通用户的密码&#xff0c;而不是root的密码&#xff01;&#xff01;&#xff01; sudo可以进行…

500道微信小程序毕业设计题目,小程序新颖毕业选题推荐,建议收藏

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

通过Demo学WPF—数据绑定(一)✨

前言✨ 想学习WPF&#xff0c;但是看视频教程觉得太耗时间&#xff0c;直接看文档又觉得似懂非懂&#xff0c;因此想通过看Demo代码文档的方式进行学习。 准备✨ 微软官方其实提供了WPF的一些Demo&#xff0c;地址为&#xff1a;microsoft/WPF-Samples: Repository for WPF …

仿真APP在金属波纹管液压胀形工艺设计中的应用

一、背景介绍 金属波纹管是带有波纹状截面的金属管状零件&#xff0c;在工业中应用广泛。金属波纹管特殊的截面形状使其具备较好的柔韧性&#xff0c;能够在一定范围内伸缩弯曲。这一特性赋予波纹管两大用途&#xff1a;一是作为变形补偿器&#xff0c;可用于补偿管道设备由于…

MySQL原理(三)锁定机制

一、介绍&#xff1a; 1、锁的本质 业务场景中存在共享资源&#xff0c;多个进程或线程需要竞争获取并处理共享资源&#xff0c;为了保证公平、可靠、结果正确等业务逻辑&#xff0c;要把并发执行的问题变为串行&#xff0c;串行时引入第三方锁当成谁有权限来操作共享资源的判…