【NLP】从变形金刚到Transfomer 01

2024-03-23 08:04
文章标签 01 nlp transfomer 变形金刚

本文主要是介绍【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层.就是为了大力出奇迹

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


以上

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

这篇关于【NLP】从变形金刚到Transfomer 01的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/837671

相关文章

Python实现NLP的完整流程介绍

《Python实现NLP的完整流程介绍》这篇文章主要为大家详细介绍了Python实现NLP的完整流程,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 编程安装和导入必要的库2. 文本数据准备3. 文本预处理3.1 小写化3.2 分词(Tokenizatio

hdu 2602 and poj 3624(01背包)

01背包的模板题。 hdu2602代码: #include<stdio.h>#include<string.h>const int MaxN = 1001;int max(int a, int b){return a > b ? a : b;}int w[MaxN];int v[MaxN];int dp[MaxN];int main(){int T;int N, V;s

集中式版本控制与分布式版本控制——Git 学习笔记01

什么是版本控制 如果你用 Microsoft Word 写过东西,那你八成会有这样的经历: 想删除一段文字,又怕将来这段文字有用,怎么办呢?有一个办法,先把当前文件“另存为”一个文件,然后继续改,改到某个程度,再“另存为”一个文件。就这样改着、存着……最后你的 Word 文档变成了这样: 过了几天,你想找回被删除的文字,但是已经记不清保存在哪个文件了,只能挨个去找。真麻烦,眼睛都花了。看

01 Docker概念和部署

目录 1.1 Docker 概述 1.1.1 Docker 的优势 1.1.2 镜像 1.1.3 容器 1.1.4 仓库 1.2 安装 Docker 1.2.1 配置和安装依赖环境 1.3镜像操作 1.3.1 搜索镜像 1.3.2 获取镜像 1.3.3 查看镜像 1.3.4 给镜像重命名 1.3.5 存储,载入镜像和删除镜像 1.4 Doecker容器操作 1.4

滚雪球学MyBatis(01):教程导读

MyBatis简介 前言 欢迎回到我们的MyBatis系列教程。在上期的内容中,我们详细介绍了MyBatis的基本概念、特点以及它与其他ORM框架(如Hibernate)的对比。我们还探讨了MyBatis在数据访问层中的优势,并解释了为什么选择MyBatis作为我们的持久化框架。在阅读了上期的内容后,相信大家对MyBatis有了初步的了解。 在本期内容中,我们将深入探讨MyBatis的基本配

python+selenium2轻量级框架设计-01框架结构

接下来会介绍一个比较简单的框架结构,先看一下分类 config文件夹里放的是配置文件 framework文件夹里面放的是公共类,常用类,还有读配置文件类、日志类、截图类、发送邮件、生成测试报告、操作读取数据库、读取Excel等,后面几篇会一一介绍 logs文件夹存放生成的日志文件 pageobject存放页面类包括元素的定位等 screenshots文件放的是生成的截图 test_

python+selenium2学习笔记POM设计模式-01模式简介

Page Object模式是Selenium中的一种测试设计模式,主要是将每一个页面设计为一个Class,其中包含页面中需要测试的元素(按钮,输入框,标题 等),这样在Selenium测试页面中可以通过调用页面类来获取页面元素,这样巧妙的避免了当页面元素id或者位置变化时,需要改测试页面代码的情况。 当页面元素id变化时,只需要更改测试页Class中页面的属性即可。 Page Object模式是

数据库学习01——mysql怎么创建数据库和表

第一步:创建数据库 使用 create database 语句,后跟要创建的数据库名称: CREATE DATABASE dbname; 例如,要创建名为 my_db 的数据库,请输入: CREATE DATABASE my_db ; 使用 show databases; 语句检查数据库是否已创建: 第二步:创建表 使用 create table 语句,后跟要创建的表名和列定

【python 走进NLP】两两求相似度,得到一条文本和其他文本最大的相似度

应用场景: 一个数据框里面文本,两两求相似度,得到一条文本和其他文本最大的相似度。 content source_id0 丰华股份军阀割据发生的故事大概多少w 11 丰华股份军阀割据发生的故事大概多少 22 丰华股份军阀割据发生的故事大概多少 33 丰华股份军阀割据发生的故事大概多少

【DL--01】深度学习 揭开DL的神秘面纱

什么是深度学习 深度学习=深度神经网络+机器学习 人工智能 > 机器学习 > 表示学习 > 深度学习 神经元模型 输入信号、加权求和、加偏置、激活函数、输出 全连接层 输入信号、输入层、隐层(多个神经元)、输出层(多个输出,每个对应一个分类)、目标函数(交叉熵) 待求的参数:连接矩阵W、偏置b 训练方法:随机梯度下降,BP算法(后向传播) Python中深度学习实现:Ke