【NLP】从变形金刚到Transfomer 01

Transformer是一种非常强大的模型,在自然语言处理(NLP)领域里引起了一场革命。

"从变形金刚到技术革命家,Transformer不再仅是儿时屏幕上的英雄。🤖✨ 在今天的AI领域,它变身成为自然语言处理的超级英雄,领导着一场深刻的学习革命。🚀💡 现在我们一起探索这个使机器理解人类语言成为可能的技术奇迹。#NLP #AI革命 #Transformer”


目录

01 基本概念:

02 关键特点:

03 应用领域:

04 编码器原理

4.1 位置编码(Position Embedding)

4.2 自注意力机制(self-attention)

4.3 多头机制 multi-head

4.4 残差机制

4.5 Feed Forward


01 基本概念:

       Tansformer模型最初是在2017年由谷歌团队发表的论文《Attention is All You Need》中被提出的。它的核心思想是利用“自注意力(Self-Attention)”机制来处理序列数据,这让它处理长距离依赖问题时能欧表现出非常优异的性能。与此同时,Transformer模型的并行处理能力**,大大减少了训练时间。

02 关键特点:

  1. 自注意力机制(self-Attention):使模型能够关注序列中的不同位置,为每个位置的词生成上下文相关的表示。
  2. 多头注意力(Multi-Head Attentio):通过并行学习序列中不同子空间的信息,增强了模型捕捉不同上下文信息的能力。
  3. 位置编码(Positional Encodding):由于Transformer完全基于注意力机制,没有循环(RNN)或卷积(CNN)结构,它通过位置编码来了解单词在句子中的位置关系。
  4. 层归一化(Layer Normalization)残差连接(Residul Connection):这些技术帮助模型在训练深层网络时保持稳定,加速收敛。

03 应用领域:

       Transformer模型的出现推动了许多NLP任务的发展

  • 机器翻译
  • 文本摘要
  • 问答系统和文本生成等
  • 它也是后来诸如Bert、GPT系列强大模型的基础。

04 编码器原理

4.1 位置编码(Position Embedding)

      在RNN模型训练过程中,需要对词进行向量处理,通过RNN的特殊结构,可以使得模型具备短期记忆的能力。

【深度学习】手动实现RNN循环神经网络-CSDN博客

       Transformer中为了更好地记录位置信息,需要在词向量的基础上加上位置编码

       这样词向量就能够代入语序信息,加和之后再做一下归一化,能够使模型能加稳定

4.2 自注意力机制(self-attention)

       假设通过向量化我们就能够得到一个6*768的矩阵X,分别通过三个不同的可训练的参数矩阵W,得到三个矩阵:Q,K,V.

       带入公式:Q乘以K的转置可以得到一个文本长度*文本长度的矩阵,以我们的输入为例就是得到一个6*6的矩阵.除以根号dk再过一个激活函数softmax,最后再乘以一个V.最后我们还会得到一个文本长度乘以向量维度的矩阵.这样操作的原因是为了减小值,让模型更有可能为每一个字分配上概率. 

4.3 多头机制 multi-head

       所谓多头机制,类似机器学习中的模型集成,将文本长度词向量维度的矩阵切分成头数为n,得到若干个,文本长度(词向量维度/头数)的矩阵.

       比如6*768的矩阵,划分为12个6*64的矩阵.分别做自注意力机制.

 最后将得到的结果拼起来

4.4 残差机制

       将过self-atention的矩阵和输入矩阵进行相加,有助于保留过模型前的信息,然后做归一化处理

4.5 Feed Forward

       就是两个线性层,过一层之后加一个激活函数,第一个线性层会将原先的维度映射为原来的四倍,后一个线性层再将矩阵映射回原来的维度.就是为了增加可训练的参数.

        后面可以堆很多层Transforme。bert中就堆叠了12层.就是为了大力出奇迹

后序还会更新关于解码器部分的内容欢迎关注


以上

君子坐而论道,少年起而行之,共勉

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

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

相关文章

通过Anaconda安装Python会得到的重要文件夹

E:\Anaconda\路径下 Scripts 文件夹:该文件夹包含了可执行的Python脚本文件,例如pip和conda等命令行工具。【pip3.exe和django-admin.exe等】Lib 文件夹:该文件夹包含了Python的标准库和其他第三方库的源代码文件。【Lib下面的site-packages…

PID算法原理分析及优化

今天为大家介绍一下经典控制算法之一的PID控制方法。PID控制方法从提出至今已有百余年历史,其由于结构简单、易于实现、鲁棒性好、可靠性高等特点,在机电、冶金、机械、化工等行业中应用广泛。 在大学期间,参加的智能汽车竞赛中就使用到了PI…

Word文档密码设置:Python设置、更改及移除Word文档密码

给Word文档设置打开密码是常见的Word文档加密方式。为Word文档设置打开密码后,在打开该文档时,需要输入密码才能预览及编辑,为Word文档中的信息提供了有力的安全保障。如果我们需要对大量的Word文档进行加密、解密处理,Python是一…

Python对象类型判断与函数重载

1. 判断对象类型 通过type函数可以知道对象的类型,示例代码如下: x Hello s type(x) print s x Hello s type(x) print s 2. 函数重载 在写函数时,时常遇到需要应付不同的参数类型以及不同的参数数量的情况。 在C中,通常定义多…

安达发|化工涂料利用APS生产计划排程系统能改善什么问题

化工涂料企业利用APS生产计划排程系统可以改善多个方面的问题: 1. 提高生产效率:APS系统能够根据订单需求和产能状况进行中长期排程,统一协调各分厂或车间的生产活动,从而实现均衡生产,减少因生产计划不合理导致的资源…

Ubuntu 安装 KVM 虚拟化

1. Ubuntu 安装 KVM 虚拟化 KVM 是 Linux 内核中一个基于 hypervisor 的虚拟化模块,它允许用户在 Linux 操作系统上创建和管理虚拟机。 如果机器的CPU不支持硬件虚拟化扩展,是无法使用KVM(基于内核的虚拟机)直接创建和运行虚拟机的。此时最多只能使用…

前端面试拼图-实践经验

摘要:最近,看了下慕课2周刷完n道面试题,记录并添加部分可参考的文档,如下... 1. H5页面如何进行首屏优化? 路由懒加载 适用于SPA(不适用MPA) 本质就是路由拆分,有限保证首页加载 服…

命令提示符——CMD基础操作介绍

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

LIN通信开发流程,GENy导入LDF文件、使用GENy生成代码

一、使用GENy导入LDF文件,生成LIN代码 Micro是微控器Cpu,Mcs的12代 Derivativ是此微控器的衍生版,选择适合自己的选项。没有的话,我就是默认第一个MCS12X。 Compile没得选,默认。 填写Channel名,选择LDF文…

Android 开发 地图 polygon 显示信息

问题 Android 开发 地图 polygon 显示信息 详细问题 笔者进行Android项目开发,接入高德地图绘制区域后,需要在指定区域(位置)内显示文本信息,如何实现 实现效果 解决方案 代码 import com.amap.api.maps.model.T…

基于springboot的反诈宣传平台

技术:springbootmysqlvue 一、系统背景 反欺诈平台可以对公交信息进行集中管理,可以真正避免传统管理的缺陷。反欺诈平台是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加&#xff…

NacosException: http error, code=403、NacosimeException——报错解决方法【Nacos2.x】

1、NacosException报错内容为: NacosException: http error, code403,msguser not found!,dataIdapplication-dev.yml,groupDEFAULT_GROUP,tenant连不上是因为成功开启鉴权后,所使用的Spring Cloud服务被拦截,需要在配置中添加Nacos用户名和…

诺视科技完成亿元Pre-A2轮融资,加速Micro-LED微显示芯片商业化落地

近日,Micro-LED微显示芯片研发商诺视科技(苏州)有限公司(以下简称“诺视科技”)宣布完成亿元Pre-A2轮融资,本轮融资由力合资本领投,老股东盛景嘉成、汕韩基金以及九合创投持续加码,这…

Echarts中手柄样式更改

代码: dataZoom: [{start: 0,end: 100,left: 100,bottom: 0,right: 140,backgroundColor: yellow,borderRadius: 15,borderColor: green,dataBackground: {lineStyle: {width: 0},areaStyle: {color: black,opacity: 1,}},selectedDataBackground: {lineStyle: {wi…

校企合作,助力人才培养——黄冈师范学院-唯众 “实习实训基地”揭牌仪式顺利举行

3月20日上午,黄冈师范学院计算机学院院长何中林、教务处实习科科长雷汝琳以及计算机学院实验室主任肖飞一行三人,莅临唯众进行参观交流。唯众总经理冉柏权、销售总监舒敏以及董事长助理代西凯进行了热情接待。双方就如何更好地结合企业需求与学院教育资源…

flink1.18.0报错 an implicit exists from scala.Int => java.lang.Integer, but

完整报错 type mismatch;found : Int(100)required: Object Note: an implicit exists from scala.Int > java.lang.Integer, but methods inherited from Object are rendered ambiguous. This is to avoid a blanket implicit which would convert any scala.Int to a…

阿里云2核服务器多少钱一年?

阿里云2核2G服务器配置优惠价格61元一年和99元一年,61元是轻量应用服务器2核2G3M带宽、50G高效云盘;99元服务器是ECS云服务器经济型e实例ecs.e-c1m1.large,2核2G、3M固定带宽、40G ESSD entry系统盘,阿里云活动链接 aliyunfuwuqi.…

使用vscode调试代码

Step1:在系统中安装gdb 在Ubuntu系统下安装gdb: apt-get update apt-get install gdb 在CentOS系统下安装gdb: yum install gdb Step2:编译生成Debug版本的可执行程序 假设源文件名称为test.cpp,使用g编译器&#…

Airtest-Selenium实操小课:爬取新榜数据

1. 前言 最近看到群里很多小伙伴都在用Airtest-Selenium做一些web自动化的尝试,正好趁此机会,我们也出几个关于web自动化的实操小课,仅供大家参考~ 今天跟大家分享的是一个非常简单的爬取网页信息的小练习,在百度找到新榜网页&a…

【二】【单片机】有关独立按键的实验

自定义延时函数Delay 分别用Delay.c文件存储Delay函数。用Delay.h声明Delay函数。每次将这两个文件复制到工程中,直接使用。 //Delay.c void Delay(unsigned int xms) //11.0592MHz {while(xms--){unsigned char i, j;i 2;j 199;do{while (--j);}…