word2vec,BERT,GPT相关概念

词嵌入(Word Embeddings)

词嵌入通常是针对单个词元(如单词、字符或子词)的。然而,OpenAI 使用的是预训练的 Transformer 模型(如 GPT 和 BERT),这些模型不仅可以为单个词元生成嵌入,还可以为整个句子生成嵌入。

One-Hot Encoding

独热编码生成的向量是稀疏的,它们之间的距离相等,无法捕捉单词之间的语义关系。独热编码是固定的,无法在训练过程中进行调整。

Embedding Layer

嵌入层生成的向量是密集的,它们可以捕捉单词之间的语义关系。具有相似含义的单词在向量空间中距离较近。嵌入层的权重(即嵌入矩阵)可以在训练过程中进行调整,以便更好地捕捉词汇之间的语义关系。

自监督模型的 Word2Vec:Skip-gram & CBOW

跳元模型(Skip-gram model)

跳元模型是一种常用的词嵌入模型,它的基本假设是一个词可以用来生成其周围的单词。例如,文本序列 “the”, “man”, “loves”, “his”, “son”,选择 “loves” 作为中心词,并将上下文窗口设置为2,跳元模型会考虑生成上下文词 “the”, “man”, “his”, “son” 的条件概率:
P ( " t h e " , " m a n " , " h i s " , " s o n " ∣ " l o v e s " ) P("the", "man", "his", "son" | "loves") P("the","man","his","son"∣"loves")
我们通常假设上下文词是在给定中心词的情况下独立生成的,这被称为条件独立性。因此,上述条件概率可以被重写为:
P ( " t h e " ∣ " l o v e s " ) ⋅ P ( " m a n " ∣ " l o v e s " ) ⋅ P ( " h i s " ∣ " l o v e s " ) ⋅ P ( " s o n " ∣ " l o v e s " ) P("the" | "loves") · P("man" | "loves") · P("his" | "loves") · P("son" | "loves") P("the"∣"loves")P("man"∣"loves")P("his"∣"loves")P("son"∣"loves")
这是跳元模型的基本工作原理。
在这里插入图片描述

连续词袋模型(Continuous Bag of Words, CBOW)

连续词袋模型的主要假设是,中心词是基于其在文本序列中的周围上下文词生成的。例如,文本序列 “the”, “man”, “loves”, “his”, “son”,选择 “loves” 作为中心词,并将上下文窗口设置为2,连续词袋模型会考虑基于上下文词 “the”, “man”, “his”, “son” 生成中心词 “loves” 的条件概率:
P ( " l o v e s " ∣ " t h e " , " m a n " , " h i s " , " s o n " ) P("loves" | "the", "man", "his", "son") P("loves"∣"the","man","his","son")
在这里插入图片描述

BERT:来自 Transformers 的双向编码器表示

动机

通过使用 Transformer 的双向自注意力机制,BERT 能够同时考虑一个单词在其上下文中的左侧和右侧的信息,从而更好地理解其含义。此外,通过预训练-微调的方式,BERT 能够在大规模未标注数据上学习到丰富的语言知识,然后将这些知识迁移到具体的 NLP 任务上,从而在许多任务上取得了显著的性能提升。
在这里插入图片描述

预训练任务之一:掩码语言模型(MLM)

在这个任务中,BERT 的输入文本中的一部分单词被随机地替换为特殊的 [MASK] 标记。模型的目标是预测被遮蔽的单词。这种方法允许 BERT 在训练过程中学习到双向的上下文信息,因为它需要同时考虑被遮蔽单词左侧和右侧的上下文来预测其原始单词。MLM 任务的一个关键优势是,与传统的从左到右或从右到左的预训练方法相比,它可以更好地捕捉到双向上下文信息。

预训练任务之二:下一句预测(NSP)

在这个任务中,BERT 需要预测两个给定句子是否是连续的。具体来说,模型接收一对句子作为输入,并需要判断第二个句子是否紧跟在第一个句子之后。这个任务的目的是帮助 BERT 学习句子之间的关系,从而更好地理解句子级别的上下文。
在这里插入图片描述

架构

BERT 模型采用了多层的 Transformer 编码器。每一层都包含一个自注意力机制和一个前馈神经网络。这些层被堆叠在一起,形成了 BERT 的深度网络结构。

BERT 的嵌入主要包括三种类型:词嵌入、段落嵌入和位置嵌入。

  • 词嵌入:在 BERT 中,每个单词首先被转换为一个固定大小的向量,这个向量捕获了单词的语义信息。BERT 使用了 WordPiece 嵌入,这是一种子词嵌入方法,可以有效处理未知词和长尾词。
  • 段落嵌入:BERT 可以处理一对句子的输入。为了区分这两个句子,BERT 引入了段落嵌入。每个句子都有一个对应的段落嵌入,这个嵌入是添加到每个单词的词嵌入上的。
  • 位置嵌入:由于 Transformer 模型并不考虑单词的顺序,BERT 引入了位置嵌入来捕获单词在句子中的位置信息。
    在这里插入图片描述

GPT:Generative Pre-trained Transformer

动机

GPT 由 OpenAI 在 2018 年提出,它也是建立在 Transformer 的基础上,但 GPT 采用的是 Transformer 的解码器结构。GPT 的关键思想是使用大量的文本数据进行无监督预训练,然后在特定任务上进行微调。GPT 在预训练阶段使用的是语言模型任务,即给定一个文本序列的前 N 个单词,预测第 N+1 个单词。这种方式使得模型能够学习到丰富的语言特征。

词表压缩:BytePairEncoding (BPE)

BPE 算法的工作原理是将频繁出现的字节对(在 NLP 中通常是字符对)合并为一个单独的符号。以下是 BPE 算法在 NLP 中的一般步骤:

  1. 准备阶段:给定一个文本语料库,首先将文本分割为基本单位(例如,字符或字节)。
  2. 统计频率:统计所有相邻字符对的出现频率。
  3. 合并最频繁的对:选择最频繁的字符对,将它们合并为一个新的符号。这个新的符号被添加到词汇表中。
  4. 重复步骤:重复统计频率和合并步骤,直到达到预先设定的词汇表大小,或者没有更多的合并可以执行。

通过这种方式,BPE 能够生成一个固定大小的词汇表,其中包含了单个字符、常见的字符序列以及完整的单词。

BERT 与 GPT 的区别简介

  • BERT 使用的是 Transformer 的编码器(Encoder)结构。它是设计为深度双向模型,通过同时考虑左右两侧的上下文来预训练语言表示。
  • BERT 采用了掩码语言模型(MLM)和下一句预测(NSP)两种预训练任务。MLM 随机掩盖输入序列中的单词并预测这些单词,而 NSP 预测两个句子是否顺序相邻。
  • GPT 使用的是 Transformer 的解码器(Decoder)结构,并且不使用 encoder-decoder 注意力。GPT 是单向的,它预训练一个生成式的语言模型,主要考虑左侧(之前)的上下文。
  • GPT 主要采用传统的语言模型预训练任务 (Next Token Prediction,NTP),即根据给定的文本前缀预测下一个单词,只利用了左侧的上下文信息。

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

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

相关文章

高空抛物屡禁不止?智能分析视频监控如何保障空中安全?

日前,长春高空抛物事件已经落下帷幕,此事件的爆出一时间轰动全网,周某漠视他人生命的行为令人愤怒,而年轻女孩的生命也被无情剥夺。为什么高空抛物事件如此频繁,还屡禁不止呢?面对这样令人痛心的新闻作为智…

锁--07_1----插入意向锁-Insert加锁过程

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 插入意向锁MySQL执行插入Insert时的加锁过程MySQL官方文档MySQL insert加锁流程1.加插入意向锁2.判断插入记录是否有唯一键3. 插入记录并对记录加X锁插入意向锁----…

统一观测丨使用 Prometheus 监控 Memcached 最佳实践

作者:啃唯 Memcached 简介 Memcached 是什么? Memcached 是一个免费开源、高性能、分布式内存对象缓存系统,支持将任意数据类型的 chunk 数据以键值对的方式存储。本质上 Memcached 是通用于所有的应用的,但最初用于存储被经常…

GD32F4标准外设库

学习目标 了解标准库来源熟悉模板搭建流程掌握在已有模板基础下进行开发学习内容 标准外设库获取 标准固件库获取我们可以从官网进行下载。 下载链接:兆易创新GigaDevice-资料下载兆易创新GD32 MCU 找到 GD32F4xx Firmware Library 这个压缩包 下载完成后,进行解压,解压…

【期末复习向】n元gram的应用

当 n 1 时, 即出现 在 第 i 位 上 的基 元 w i 独 立于 历 史 。 一元文法也 被 写 为 uni-gram 或 monogram; 当 n 2 时 , 2-gram ( bi-gram ) 被称 为 1 阶 马 尔 可夫 链; 当 n 3 时 , 3-gram( tri-gram ) 被称为 2 阶马尔 可 夫 链 &am…

人工智能多模态:看、听、说,智能感知的全方位融合

导言 人工智能多模态技术是指通过整合视觉、听觉、语言等多个感知模态的信息,实现对丰富、多样化数据的理解与处理。本文将深入研究人工智能多模态的技术原理、应用场景以及对未来感知智能的影响。 1. 简介 人工智能多模态技术通过整合多个感知模态的信息&#xff…

红帽认证RHCE9.0版本2023年12月的红帽9.0版本RHCSA题⽬+答案,本人已过,全国通用

红帽认证9版本2023年12月的红帽9.0版本RHCSA题⽬答案,本人已过,全国通用 需要完整的RHCSA和RHCE的考试答案的题目以及RHCE9考试的模拟环境和考试笔记教材的请添加微信,需备注来自csdn,不然通不过 1、配置⽹络设置? 将?node1?…

「Verilog学习笔记」RAM的简单实现

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网 timescale 1ns/1ns module ram_mod(input clk,input rst_n,input write_en,input [7:0]write_addr,input [3:0]write_data,input read_en,input [7:0]read_addr,output reg…

关于uview-ui的u-tabs标签滑块不居中的问题

在uniapp中,打开文件 uni_modules/uview-ui/components/u-tabs/u-tabs.vue 然后在style中添加以下代码即可 /deep/ .u-tabs__wrapper__nav__line {left: 18rpx; } 之前效果图: 之后效果图: 注意,代码中的18rpx需要自行调整

语音机器人话术设计重点

要使用语音机器人,首先得要先准备一套业务的话术脚本,这个话术脚本的设计,可能直接决定了语音机器人后续的使用效果。这个脚本的编写一般不是机器人厂家直接能完成的,只有业务的使用方,他们才最了解自己的业务&#xf…

报错“找不到mfc100u.dll,程序无法继续执行”的解决方法,完美解决

在软件操作过程中,部分用户可能遇到"计算机缺失mfc140u.dll导致无法启动程序"的困扰。这种情况常常发生在启动某特定应用,特别是需要VC Redistributable支持的软件时。以下为详尽解决策略,让用户轻松应对这类技术难题,重…

【1】自动化测试环境配置(ARM服务器)

想要从事 or 了解自动化测试开发、装备开发的小伙伴,本专栏内容将从0到1学习如何针对ARM服务器产品进行自动化测试平台的搭建,包括:测试界面的实现(GUI)、测试项的功能实现(压力测试、接口测试、版本更新&a…

LeetCode 每日一题 Day 12 (Hard)|| 二维前缀和二维差分

2132. 用邮票贴满网格图 给你一个m x n的二进制矩阵 grid ,每个格子要么为 0 (空)要么为 1 (被占据)。 给你邮票的尺寸为 stampHeight x stampWidth 。我们想将邮票贴进二进制矩阵中,且满足以下 限制 和 …

PhotoMaker——通过堆叠 ID 嵌入定制逼真的人像照片

论文网址链接:https://arxiv.org/abs/2312.04461 详情网址链接:PhotoMaker 开源代码网址链接:GitHub - TencentARC/PhotoMaker: PhotoMaker 文本到图像AI生成的最新进展在根据给定文本提示合成逼真的人类照片方面取得了显着进展。然而&#…

Java: OpenWeatherMap json Deserialization of Java Objects

openweathermap.json {"coord": {"lon": 114.0683, "lat":22.5455},"weather":[ {"id": 803, "main":"Clouds", "description":"多云", "icon":"04d"}],&quo…

FAQ:Inheritance 篇——What your mother never told you

文章目录 1、How can I set up my class so it won’t be inherited from?(如何设置类,使它不会被继承?)2、How can I set up my member function so it won’t be overridden in a derived class? (如何设置成员函数…

cgal教程 3D Alpha Wrapping

文章目录 3D Alpha Wrapping (3D alpha 包裹)1 介绍2 方法2.1 算法2.2 保证 3 接口4 选择参数4.1 alpha4.2 Offset4.3 关于“双面”包裹的注意事项 5 性能6 例子 3D Alpha Wrapping (3D alpha 包裹) 原文地址: https://doc.cgal.org/latest/Alpha_wrap_3/index.html#Chapter_3D…

springcloudalibaba01

整合springcloud 和 springcloudalibaba&#xff0c;&#xff0c;&#xff0c; 版本对应关系 <dependencyManagement><dependencies><!--每个springcloud的工具都有一个版本每个springcloud alibaba的工具都有一个版本统一版本--> <!-- 整合…

vivado约束方法6

生成的时钟 定时约束向导建议在的输出上创建一个生成的时钟顺序单元&#xff0c;当它直接或通过驱动其他顺序单元的时钟引脚时一些互连逻辑。与PLL或MMCM不同&#xff0c;用户逻辑不能将主时钟&#xff0c;因此向导仅提供指定除法系数的选项&#xff0c;如中所示如下图所示&am…

音视频参数介绍

一、视频参数概念 单个视频帧&#xff1a;可以简单地理解成为一张图片 单个视频帧主要的参数概念&#xff1a; 分辨率&#xff1a; 分辨率是指图像或显示器上像素的数量&#xff0c;通常用横向像素数乘以纵向像素数表示。例如&#xff0c;1920x1080 表示宽度为1920像素&…