比较网站建设,网络营销是什么的促销,手机付费咨询网站建设,网站系统说明词嵌入#xff08;Word Embeddings#xff09;
词嵌入通常是针对单个词元#xff08;如单词、字符或子词#xff09;的。然而#xff0c;OpenAI 使用的是预训练的 Transformer 模型#xff08;如 GPT 和 BERT#xff09;#xff0c;这些模型不仅可以为单个词元生成嵌入…词嵌入Word Embeddings
词嵌入通常是针对单个词元如单词、字符或子词的。然而OpenAI 使用的是预训练的 Transformer 模型如 GPT 和 BERT这些模型不仅可以为单个词元生成嵌入还可以为整个句子生成嵌入。
One-Hot Encoding
独热编码生成的向量是稀疏的它们之间的距离相等无法捕捉单词之间的语义关系。独热编码是固定的无法在训练过程中进行调整。
Embedding Layer
嵌入层生成的向量是密集的它们可以捕捉单词之间的语义关系。具有相似含义的单词在向量空间中距离较近。嵌入层的权重即嵌入矩阵可以在训练过程中进行调整以便更好地捕捉词汇之间的语义关系。
自监督模型的 Word2VecSkip-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 引入了位置嵌入来捕获单词在句子中的位置信息。
GPTGenerative Pre-trained Transformer
动机
GPT 由 OpenAI 在 2018 年提出它也是建立在 Transformer 的基础上但 GPT 采用的是 Transformer 的解码器结构。GPT 的关键思想是使用大量的文本数据进行无监督预训练然后在特定任务上进行微调。GPT 在预训练阶段使用的是语言模型任务即给定一个文本序列的前 N 个单词预测第 N1 个单词。这种方式使得模型能够学习到丰富的语言特征。
词表压缩BytePairEncoding (BPE)
BPE 算法的工作原理是将频繁出现的字节对在 NLP 中通常是字符对合并为一个单独的符号。以下是 BPE 算法在 NLP 中的一般步骤
准备阶段给定一个文本语料库首先将文本分割为基本单位例如字符或字节。统计频率统计所有相邻字符对的出现频率。合并最频繁的对选择最频繁的字符对将它们合并为一个新的符号。这个新的符号被添加到词汇表中。重复步骤重复统计频率和合并步骤直到达到预先设定的词汇表大小或者没有更多的合并可以执行。
通过这种方式BPE 能够生成一个固定大小的词汇表其中包含了单个字符、常见的字符序列以及完整的单词。
BERT 与 GPT 的区别简介
BERT 使用的是 Transformer 的编码器Encoder结构。它是设计为深度双向模型通过同时考虑左右两侧的上下文来预训练语言表示。BERT 采用了掩码语言模型MLM和下一句预测NSP两种预训练任务。MLM 随机掩盖输入序列中的单词并预测这些单词而 NSP 预测两个句子是否顺序相邻。GPT 使用的是 Transformer 的解码器Decoder结构并且不使用 encoder-decoder 注意力。GPT 是单向的它预训练一个生成式的语言模型主要考虑左侧之前的上下文。GPT 主要采用传统的语言模型预训练任务 (Next Token PredictionNTP)即根据给定的文本前缀预测下一个单词只利用了左侧的上下文信息。