【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.mfbz.cn/a/479933.html

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

相关文章

MySQL数据库存储引擎MyISAM与InnoDB

前言 MySQL存储引擎是MySQL数据库中负责管理数据存储和检索的组件,不同的存储引擎提供了不同的功能和特性,可以根据实际需求选择合适的存储引擎来优化数据库性能和功能。以下是一些常见的MySQL存储引擎:InnoDB、MyISAM、MEMORY、NDB Cluster…

论文阅读-MIPD:一种用于分布式深度神经网络训练的自适应梯度稀疏化框架

摘要—基于参数服务器架构的异步训练广泛应用于大规模数据集和深度神经网络模型的扩展训练。在大规模分布式深度学习系统中,通信一直被认为是主要瓶颈。最近的研究尝试通过梯度稀疏化和量化方法来减少通信流量。我们发现前期研究存在三个限制。首先,他们…

【基础+进阶】Midjourney订阅看这一篇就够了!Midjourney进阶关键词用法!Midjourney常见问题!

Midjourney进阶关键词用法 1.风格 设计/流派 可以使用一些关键词作为设计流派风格,例如standard,Japanese anime style,Pixar movie style,cyber punk style等 艺术家的姓名 可以使用一些艺术家的姓名作为风格,例如Andy Warhol,Da Vinci等 渲染/照明…

​浅析多模态大模型技术路线梳理

前段时间 ChatGPT 进行了一轮重大更新:多模态上线,能说话,会看图!微软发了一篇长达 166 页的 GPT-4V 测评论文,一时间又带起了一阵多模态的热议,随后像是 LLaVA-1.5、CogVLM、MiniGPT-5 等研究工作紧随其后…

【系统架构师】-第6章-数据库设计基础知识

1、三级模式-两级映像 外模式:视图、用户与数据库的接口 概念模式:表 内模式:存储方式,索引创建等 1)外模式-模式映射: 视图与表的映射,表数据发生修改,只需要修改映射&#xf…

探索ChatGPT时代下的下一代信息检索系统:机遇与挑战

1 Introduction 2022 年 11 月 30 日,OpenAI 推出了 ChatGPT,这是一款由先进的 GPT3.5 和更高版本的 GPT-4 生成语言模型提供支持的 AI 聊天机器人应用程序。该应用迅速吸引了全球超亿用户,创下了产品快速传播的新纪录。 它能够以对话的方式…

【Linux系统编程】文件系统

进程与文件 当我们对文件进行操作时,文件必须要被加载到内存中,然后CUP从内存中拿到此文件进行操作,没有打开的文件放在磁盘中存储。 文件的打开其实也是设计到内部某个进程。无论是系统调用,还是专有库中的函数,都是…

软考 网络工程师 每日学习打卡 2024/3/22

学习内容 第9章 网络操作系统与应用服务器 本章主要讲解:了Windows和Linux操作系统的基础知识,并详细讲述了常用的各种服务器的 配置方法。这一章的内容主要是在具体操作方面,网络工程师要能够熟练地配置各种网络服务 器,排除网络…

Linux内核编译与安装

Linux内核介绍 Linux内核是一个用C语言写成的,符合POSIX标准的类Unix操作系统。内核是操作系统中最基本的一部分,提供了众多应用程序访问计算机硬件的机制。Linux内核的一大特点就是采用了整体式结构,有很多过程组成,每个过程都可…

hadoop namenode 查看日志里面报错8485无法连接

一、通过日志排查问题: 1、首先我通过jpsall命令查看我的进程,发现namenode都没有开启 2、找到问题后首先进入我的日志目录里查看namenode.log [rootnode01 ~]# /opt/yjx/hadoop-3.3.4/logs/ [rootnode01 ~]# ll [rootnode01 ~]# cat hadoop-root-nam…

手拉手Java爬虫HttpClient

JAVA爬虫 HttpClient HttpClient 是Apache Jakarta Common 下的子项目,可以用来提供高效的、最新的、功能丰富的支持 HTTP 协议的客户端编程工具包,并且它支持 HTTP 协议最新的版本和建议。 使用 HttpClient 的 6 个步骤 1. 创建 HttpClient 的实例 2…

环信新版单群聊UIKit集成指南——Android篇

前言 环信新版UIKit已重磅发布!目前包含单群聊UIKit、聊天室ChatroomUIKit,本文详细讲解Android端单群聊UIKit的集成教程。 环信单群聊 UIKit 是基于环信即时通讯云 IM SDK 开发的一款即时通讯 UI 组件库,提供各种组件实现会话列表、聊天界…

【国家计算机二级C语言】高分笔记

二叉树 参考 http://t.csdnimg.cn/ozVwT 数据库 SQL程序语言有四种类型,对数据库的基本操作都属于这四类,它们分别为;数据定义语言(DDL)、数据查询语言(DQL)、数据操纵语言(DML)、数据控制语言…

Day17:LeedCode 110.平衡二叉树 257.二叉树的所有路径 404.左叶子之和

110. 平衡二叉树 给定一个二叉树,判断它是否是 平衡二叉树 平衡二叉树:一个二叉树每个节点 的左右两个子树的高度差的绝对值不超过1。 思路: 二叉树节点的深度:指从根节点到该节点的最长简单路径边的条数。二叉树节点的高度:指从该节点到叶…

深度探索:在 Postman 中实现自动化测试的全面指南!

在当今的软件开发过程中,API(应用程序编程接口)的使用变得越来越普遍,API 允许不同系统之间进行通信和数据交换,从而实现复杂的功能和服务集成,为了确保 API 的可靠性和稳定性,自动化测试至关重…

如何利用RunnerGo简化性能测试流程

在软件开发过程中,测试是一个重要的环节,需要投入大量时间和精力来确保应用程序或网站的质量和稳定性。但是,随着应用程序变得更加复杂和庞大,传统的测试工具在面对比较繁琐的项目时非常费时费力。这时,一些自动化测试…

量子计算+运营优化!IonQ 和 德国DESY 合作提升机场登机口调度效率

内容来源:量子前哨(ID:Qforepost) 编辑丨慕一 编译/排版丨 沛贤 深度好文:1200字丨8分钟阅读 3月14日,量子计算公司IonQ宣布了与德国电子同步加速器(DESY,德国的大型粒子物理学研…

出现nginx error 问题

报错: Something has triggered an error on your website. This is the default error page for nginx that is distributed with Fedora. It is located /usr/share/nginx/html/50x.html You should customize this error page for your own site or edit the er…

PLC网关在工业自动化领域的作用及如何选择-天拓四方

一、PLC网关在工业自动化领域的重要性和作用 PLC网关在工业自动化领域的重要性和作用不言而喻。作为工业自动化系统的重要组成部分,PLC网关起到了关键的桥梁作用,实现了PLC与其他设备、系统之间的数据传输和通信。 首先,PLC网关的重要性体现…

nodeJs 学习

常用快捷键 二、fs模块 回调函数为空,则表示写入成功! 练习 const fs require(fs); fs.readFile(../files/成绩.txt, utf-8, (err, dataStr) > {if (err) {console.log(读取失败);return err;}console.log(读取成功);const arr dataStr.split( )co…