戳蓝字“架构师带你玩转AI” 关注我哦!****
本系列文章的初衷是带领大家深入剖析Transformer,逐步揭示其内在机制和工作原理。 本系列第三篇: 文本向量化 ,它是理解Transformer 工作原理的基础。
在Transformer模型中,输入嵌入是通过查找嵌入矩阵(Embedding Matrix)来实现。当输入序列中的每个词元通过嵌入层时,它会在嵌入矩阵中查找其对应的向量表示。位置编码主要目标是在序列数据的嵌入向量中引入位置信息,以捕捉语言中单词或字符的顺序信息。
目录
1. 文本向量化
1.1 词向量化
**************1.2 句子向量化**************
**************1.3 文档向量化**************
2. 位置编码
3. 总结
01
文本向量化
文本向量化是将文本转换为数值形式,使计算机 和机器学习模型能够理解和处理文本数据。 在深度学习和自然语言处理中,这一步骤尤为重要。
词向量化
词向量化 通常 使用高维实数向量来表示 每个词 ,这样可以捕捉词的语义信息。
常用方式主要包括以下几种:
1. 独热编码(One-hot Encoding):
这是一种将每个词表示为唯一的向量的方法。向量的维度等于文本中不同词的数量,对于给定的词,它在向量中的值为1,其余位置均为0。这种表示方法简单直观,但无法表示词与词之间的语义关系。
2. 词袋模型(Bag-of-Words Model): 该模型将文本中的每个词表示为一个固定长度的向量,向量的每个维度表示一个词的出现频率或者TF-IDF权重。词袋模型忽略了词语的顺序和上下文信息,只考虑词出现的频率。
3. 词频-逆文档频率(TF-IDF): 这是一种常用的统计技术,用于评估一个词在一个文件集或一个语料库中的一个文件中的重要程度。一个词的重要性随着它在文件中出现的次数成正比增加,但同时会随着它在语料库中出现的频率成反比下降。
4. 词嵌入模型(Word Embedding): 如Word2Vec和GloVe等,它们利用深度学习方法,通过训练大规模语料库学习词的向量表示。这些模型能够捕捉词的语义和语法信息,使得语义上相似的词在向量空间中的位置相近。
这些词向量化的方式各有特点,适用于不同的场景和需求。在实际应用中,可以根据具体任务和数据集的特点选择适合的方法。
句子向量化
句子向量化是将整个句子转换为一个数值向量的过程,以便计算机和机器学习模型能够理解和处理句子级别的文本信息。
常用方式主要包括以下几种:
1. 简 单平均/加权平均:
对句子中的词向量进行平均或根据词频进行加权平均。
2. 递归神经网络(RNN):
通过递归地处理句子中的每个词来生成句子表示。
3. 卷积神经网络(CNN):
使用卷积层来捕捉句子中的局部特征,然后生成句子表示。
4. 自注意力机制:
如Transformer模型,通过对句子中的每个词进行自注意力计算来生成句 子表示。
文档向量化
文档向量化将整个文档转换为一个数值向量。这个数值向量能够捕捉文档的整体语义和内容信息,使得计算机和机器学习模型能够理解和处理文档级别的文本数据。
常用方式主要包括以下几种:
1. 简单平均/加权平均: 对文档中的句子向量进行平均或加权平均。
2. 文档主题模型(如LDA): 通过捕捉文档中的主题分布来生成文档表示。 3. 层次化模型: 如Doc2Vec,它扩展了Word2Vec,可以生成整个文档的向量表示。
02
位置编码
由于Transformer模型不包含循环和卷积,为了让模型利用序列的顺序信息,我们必须在序列中的标记上注入一些关于相对或绝对位置的信息。为此,我们在编码器和解码器堆栈的底部向输入嵌入添加“位置编码”。
关于位置编码,有多种选择,包括学习得到的和固定的。
在这项工作中,最终使用不同频率的正弦和余弦函数来生成位置编码:
Transformer也尝试使用学习得到的位置嵌入,发现这两种版本产生了几乎相同的结果。Transformer选择正弦波版本是因为它可能允许模型外推到比训练时遇到的更长的序列长度。
03
总结
本文全面概述了Transformer的文本向量化,
通过自注意力机制实现对输入序列的并行处理,为了弥补自注意力机制无法考虑输入顺序的缺陷,引入了位置嵌入(Position Embedding)来编码词在序列中的位置信息。
下 一篇: 前馈神经网络 , 将深入探讨
非线性映射和特征提取
。
全文完,如果觉得写得不错,那就点个赞或者“在看”吧,感谢阅读。
如果转载本文, 文末 务必注明:“ 转自微信公众号:架构师带你玩转AI ”。
推荐阅读
- 深入剖析Transformer - 总体架构
- 深入剖析Transformer - 注意力机制
- 大模型开发 - 一文搞懂Transformer工作原理
- 神经网络算法 - 一文搞懂Transformer
- 神经网络算法 - 一文搞懂GPT(Generative Pre-trained Transformer)
- 神经网络算法 - 一文搞懂BERT(基于Transformer的双向编码器)
- 秒懂AI-深度学习五大模型:RNN、CNN、Transformer、BERT、GPT简介
全文完,如果觉写错,那就点个赞或者“在看”吧,多谢阅读。
如果转载本文,文末务必注明:“转自微信公众号:九边”。