首页 > 其他分享 >Transformer中的词嵌入Embedding与位置编码Positional Encoding

Transformer中的词嵌入Embedding与位置编码Positional Encoding

时间:2024-10-11 21:32:25浏览次数:1  
标签:编码 Transformer 嵌入 Encoding 位置 设定 Positional 512 句子

参考学习:transformer详细介绍(1)__输入Embedding与位置编码_input embedding-CSDN博客

本文只是为了加强记忆而书写,具体想学习进入链接学习更清晰。

Transformer模型主要是编码器与译码器,下面是模型的框架图:

 编码器部分包含多头注意力机制,层归一化,前馈神经网络还有残差的思想保证其性能不降低;

解码器部分和编码器部分也是差不多,但是在第一个多头注意力机制中增添了掩码处理Masked,好像说是因为避免未来的信息对影响现在的信息所以增添的掩码处理。

这里不对其模型模块做过多笔记,主要是想记录其输入的词嵌入和位置编码的处理。

Transformer模型不像RNN和CNN网络一样对位置分布信息具有处理能力,但是对于文本信息来说就比如翻译而言,位置信息是很重要的,不能光翻译出单个词的意思而忽略了词在句子中的位置,比如说我爱你,和你爱我,换个位置就是不同的意义了,所以其位置信息也很重要。

Embedding:

词嵌入部分,还是依据翻译来讲解,原句:"我爱吃苹果",翻译句:"I love eating apples"。这就是一对样本数据

对原局进行词嵌入,相当于对这个句子编码为一个数字矩阵,这里设定句子中每一个单词对应一个(1,embedding_dimension​ =512)的词向量,那么在原句中"我","爱",“吃”,“苹果”,这四个词通过词嵌入处理这句话就变为(4,512)的矩阵,但是我们不能保证输入的每一句的句子词都是固定的数量,比如上面的例子就是4个词,所以设定一个最大词长度max_seqence_length,如果词长度小于这个标准就padding一下,把剩下的位置全部填充为0,假设最大词长度为20,以上面给出的例子来说,"我爱吃苹果"这句话通过词嵌入会变成一个(20,512)的矩阵,但是训练的时候是按批次提取训练的,一批有batch个句子,所以最后一次训练的词嵌入输入维度为(设定的batch,设定的最大词长度max_seqence_length=20,设定的embedding_dimension​=512)。

 

Positional Encoding:

位置编码部分,上面说的Embedding(词嵌入)这里只是单纯的把句子转换为数字进行编码,但是不存在其位置的关联,我们还要注意位置的信息,对于一个句子来说其位置编码和词嵌入的维度是一模一样的,还是拿上面设定的数据来表示,那么一个句子的位置编码就为(20,512)保持一致,那么最后一个批次的位置编码也是和词嵌入相同为(设定的batch,设定的最大词长度max_seqence_length=20,设定的512)。

那么一个句子到底是怎么位置编码的呢?其公式如下图:

 

 

最终的输入就是想词嵌入和位置编码相加作为输入,这就其矩阵大小需要相同的原因。

标签:编码,Transformer,嵌入,Encoding,位置,设定,Positional,512,句子
From: https://www.cnblogs.com/qianzhu/p/18459408

相关文章

  • 关于Transformer的相关问题
    ......
  • Transformer面试总结(一)
    1、Transformer模型的基本结构是什么?他是如何改变深度学习领域的?它的基本结构包括:自注意力机制(Self-Attention):Transformer模型使用自注意力机制来处理输入序列中的每个元素与其他元素之间的关系。这种机制允许模型同时考虑输入序列中的所有元素,而不是仅仅依赖于位置信息。......
  • 【AI大模型】深入Transformer架构:编码器部分的实现与解析(下)
      目录......
  • transformers和bert实现微博情感分类模型提升
    关于深度实战社区我们是一个深度学习领域的独立工作室。团队成员有:中科大硕士、纽约大学硕士、浙江大学硕士、华东理工博士等,曾在腾讯、百度、德勤等担任算法工程师/产品经理。全网20多万+粉丝,拥有2篇国家级人工智能发明专利。社区特色:深度实战算法创新获取全部完整项目......
  • 如何使用Transformer模型处理金融文本数据?
    《DeepLearningforFinance》这本书主要介绍了如何使用深度学习技术,特别是机器学习和强化学习方法来处理金融数据,但并没有详细讨论Transformer模型在金融文本数据处理中的应用。不过,基于深度学习的一般知识以及Transformer模型的广泛用途,我们可以构建一个关于如何利用Tran......
  • Pytorch-Transformer轴承故障一维信号分类(三)
    往期精彩内容:Python-凯斯西储大学(CWRU)轴承数据解读与分类处理Pytorch-LSTM轴承故障一维信号分类(一)-CSDN博客Pytorch-CNN轴承故障一维信号分类(二)-CSDN博客三十多个开源数据集|故障诊断再也不用担心数据集了!Python轴承故障诊断(一)短时傅里叶变换STFT-CSDN博客Pyth......
  • go标准库encoding/gob使用
    func(c*cache)Save(wio.Writer)(errerror){enc:=gob.NewEncoder(w)deferfunc(){ifx:=recover();x!=nil{err=fmt.Errorf("ErrorregisteringitemtypeswithGoblibrary")}}()c.mu.RLock()defer......
  • Transformer--详解
    Transformer旨在解决自然语言处理任务中的长依赖性问题。与传统的递归神经网络(如LSTM、GRU)不同,Transformer完全摒弃了递归结构,依赖自注意力机制(Self-Attention)来建模输入序列中的所有位置之间的关系。因此,Transformer能够并行处理整个序列,这极大地提高了训练速度和效率。Tran......
  • 【独家首发】鲸鱼算法WOA优化Transformer-LSTM负荷数据回归预测【含Matlab源码 6386期
    ......
  • 深度学习系列之1----直观解释Transformer
    Abstract这个系列主要用来记录我自己这种的AI小白的学习之路,通过将所学所知总结下来,记录下来。之前总喜欢记录在笔记本上,或者ipad上,或者PC端的Typora上,但总是很难回头检索到一些系统的知识,因此我觉得博客是一个不错的选择,因为时不时我就会登录网站翻看过去的痕迹,我觉得这是一种很......