word2vec,BERT,GPT相关概念

news/2024/7/6 5:20:12 标签: 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.niftyadmin.cn/n/5266064.html

相关文章

C# WPF上位机开发(属性页面的设计)

【 声明:版权所有,欢迎转载,请勿用于商业用途。 联系信箱:feixiaoxing 163.com】 在软件开发中,属性或者参数设置是很重要的一个部分。这个时候如果不想通过动态添加控件的方法来处理的话,那么可以通过tab控…

Qt 数据库QSqlDatabase使用记录

记录一些在QT中使用QSqlDatabase操作数据库时,需要注意的地方 创建数据库 bool CDBOperatorAbstract::_openDBConn(CDatabaseConfig config) {QWriteLocker locker(&m_locker);QSqlDatabase db;if(QSqlDatabase::contains(m_connectionName)){db QSqlDatabas…

maven jar sort

1)往常项目结构lib包排序 2)maven的默认是没有排序的

SSX,一个有记忆的 ssh 客户端

需求来源 对于一个后端程序员来说,在工作中免不了要和繁杂的服务器打交道,ssh 是不可或缺的开发工具。但每次登录都需要输入密码的行为,对于认为一切皆可自动化的程序员来说,肯定是有点繁琐的(如果您是使用图形化界面…

【计算机网络】八股文 | 第一章

【计算机网络】八股文 | 第一章 零、前言一、计算机网络层次结构1. 计算机网络层次结构有哪些模型,区别?2. 介绍一下OSI体系结构3. 介绍一下TCP/IP五层体系结构4. 简单说下每一层对应的网络协议有哪些 二、应用层之HTTP协议、URL/URI1. 什么是HTTP协议&a…

信息安全概论

《信息安全概论》 信息安全概论课后习题及答案 第一章: 1、请说出平时在使用计算机的时候遇到的各种安全问题,以及当时的解决方案。 答:略。 2、什么是信息安全? 答:信息安全是指信息网络的硬件、软件及其系统中的数据受到…

Android通过listview实现输入框自定义提示栏(代替AutoCompleteTextView自动完成文本框)

效果图 背景 本人因为一些需求初次接触android,需要实现一个类似android自带的AutoCompleteTextView(自动完成文本框),但和其不同的是通过后端接口直接筛选数据(自己的分词处理规则),然后返回前…

excel在扩展屏幕中显示有时候显示黑屏,这种怎么处理?

在使用Excel时,如果在扩展屏幕中出现黑屏或其他显示问题,可以尝试以下方法来解决: 1. 更新显卡驱动程序: 确保你的计算机的显卡驱动程序是最新版本。过时的或不兼容的显卡驱动可能导致显示问题。 2. 调整分辨率和屏幕比例&#…