首页 > 其他分享 >11月2日总结

11月2日总结

时间:2023-11-05 09:01:55浏览次数:31  
标签:11 总结 编码器 模型 矩阵 向量 原句 png

聊聊Transform模型

从之前的RNN系列到现在的Transformer模型,是一个演进的过程,技术的实现与迭代并不是一蹴而就,而是一个持续演进的历程。如果一开始就从Tranformer的模型机制来学习,知识的不全面以及欠缺就会导致懵逼甚至看不懂又不理解。
RNN系列:
聊聊RNN&LSTM
聊聊RNN与seq2seq
聊聊RNN与Attention

以下内容摘自《BERT基础教程:Transformer大模型实战 》

概述

循环神经网络和长短期记忆网络已经广泛应用于时序任务,比如文本预测、机器翻译、文章生成等。然而,它们面临的一大问题就是如何记录长期依赖。
为了解决这个问题,一个名为Transformer的新架构应运而生。从那以后,Transformer被应用到多个自然语言处理方向,到目前为止还未有新的架构能够将其替代。可以说,它的出现是自然语言处理领域的突破,并为新的革命性架构(BERT、GPT-3、T5等)打下了理论基础。
Transformer由编码器和解码器两部分组成。首先,向编码器输入一句话(原句),让其学习这句话的特征,再将特征作为输入传输给解码器。最后,此特征会通过解码器生成输出句(目标句)。
假设我们需要将一个句子从英文翻译为法文。如图所示,首先,我们需要将这个英文句子(原句)输进编码器。编码器将提取英文句子的特征并提供给解码器。最后,解码器通过特征完成法文句子(目标句)的翻译。
1695177459176.png
具体模型结构如下图。
编码器

Transformer中的编码器不止一个,而是由一组编码器串联而成。一个编码器的输出作为下一个编码器的输入。在图中有个编码器,每一个编码器都从下方接收数据,再输出给上方。以此类推,原句中的特征会由最后一个编码器输出。编码器模块的主要功能就是提取原句中的特征。
1695177580930.png
编码器内部又是由多头注意力层与前馈网络层两部分组成。
多头注意力层
引入自注意力机制

多头注意力层又是依赖于自注意力机制实现。
请看下面的例句:
A dog ate the food because it was hungry(一只狗吃了食物,因为它很饿)
例句中的代词it(它)可以指代dog(狗)或者food(食物)。当读这段文字的时候,我们自然而然地认为it指代的是dog,而不是food。但是当计算机模型在面对这两种选择时该如何决定呢?这时,自注意力机制有助于解决这个问题。
模型首先需要计算出单词A的特征值,其次计算dog的特征值,然后计算ate的特征值,以此类推。当计算每个词的特征值时,模型都需要遍历每个词与句子中其他词的关系。模型可以通过词与词之间的关系来更好地理解当前词的意思。
比如,当计算it的特征值时,模型会将it与句子中的其他词一一关联,以便更好地理解它的意思。
如图所示,it的特征值由它本身与句子中其他词的关系计算所得。通过关系连线,模型可以明确知道原句中it所指代的是dog而不是food,这是因为it与dog的关系更紧密,关系连线相较于其他词也更粗。
1695177861762.png
实现原理

为简单起见,我们假设输入句(原句)为I am good(我很好)。首先,我们将每个词转化为其对应的词嵌入向量。需要注意的是,嵌入只是词的特征向量,这个特征向量也是需要通过训练获得的。单词I的词嵌入向量可以用来表示,相应地,am为,good为,即:
1695177990370.png
通过输入矩阵X,可以看出,矩阵的第一行表示单词I的词嵌入向量。以此类推,第二行对应单词am的词嵌入向量,第三行对应单词good的词嵌入向量。所以矩阵X的维度为[句子的长度×词嵌入向量维度]。原句的长度为3,假设词嵌入向量维度为512,那么输入矩阵的维度就是[3×512];该矩阵对应的张量表示,可以拆分如下:

a = numpy.array([[1.76, 2.22, ..., 6.66],
[7.77, 0.631,..., 5.35],
[11.44, 10.10,..., 3.33]
])

增加额外的三个权重矩阵,分别为1695178408079.png;用输入矩阵X分别乘以1695178408079.png,依次创建出查询矩阵Q、键矩阵K、值矩阵V。
需要注意的是,权重矩阵1695178408079.png的初始值完全是随机的,但最优值则需要通过训练所得。
将输入矩阵[插图]分别乘以1695178408079.png后,我们就可以得出对应的查询矩阵、键矩阵和值矩阵。
1695178542131.png
Q,K,V三个向量矩阵,代表了对输入序列中的每个位置或词的不同信息。

Query向量 (Q): 

标签:11,总结,编码器,模型,矩阵,向量,原句,png
From: https://www.cnblogs.com/lmyy/p/17810210.html

相关文章

  • 11月1日总结
    本文从BERT的基本概念和架构开始,详细讲解了其预训练和微调机制,并通过Python和PyTorch代码示例展示了如何在实际应用中使用这一模型。我们探讨了BERT的核心特点,包括其强大的注意力机制和与其他Transformer架构的差异。关注TechLead,分享AI全维度知识。作者拥有10+年互联网服务架构......
  • 11月3日总结
    你好,我是猫哥。这里每周分享优质的Python、AI及通用技术内容,大部分为英文。标题取自其中一则分享,不代表全部内容都是该主题,特此声明。本周刊由Python猫出品,精心筛选国内外的250+信息源,为你挑选最值得分享的文章、教程、开源项目、软件工具、播客和视频、热门话题等内容。愿......
  • 2023-11-04:用go语言,如果n = 1,打印 1*** 如果n = 2,打印 1*** 3*** 2*** 如果n = 3,打印
    2023-11-04:用go语言,如果n=1,打印1***如果n=2,打印1***3***2***如果n=3,打印1***3***2***4***5***6***如果n=4,打印1***......
  • ABC327 总结
    A傻逼题,降智吃了一发罚时。B依旧是傻逼题,std::pow炸精度又吃了一发罚时。C傻逼题,切了D发现就是个判断二分图,切了。E一眼丁真,感觉最后一个一定是最大的,然后就是求以最大的结尾的LIS。交上去,喜提WA29。转变思路,考虑dp。设\(f_{i,j}\)表示当前选了\(i\)个(从后往......
  • 11.4 显哗
    你在看这篇鲜花的时候,你是安全的吗?早上胃疼请假一上午,成功打断了连续不知道多少天的早八模拟赛。很快我就能享受到单休了下午之前三班的同学以及跟他一起学化竞的双胞胎弟弟和另一个同学来找我,说数学建模竞赛缺一个人。(他俩在役情况未知)“肯定需要一个会编程的,然后你还学地......
  • NOIP 模拟赛 11~11
    模拟11A层联测24100+0+20+10=130ptsrk32T1签到题T2最大值的最小竟然没想到二分,退役吧。。爆搜所有路径不知道哪写挂了赛后被卡成零蛋。。。T3暴力枚举T4二维前缀差分暴力T1花菖蒲首先有解一定满足\(b\lea-2\)。当\(b=0\)时,可以想到构造菊花图。当\(b=a-2\)......
  • 2023.11.4——每日总结
    学习所花时间(包括上课):9h代码量(行):0行博客量(篇):1篇今天,上午学习,下午学习;我了解到的知识点:1.软考知识明日计划:学习......
  • 成功安装数据库总结
    在本次实践中,我们成功地安装了数据库,并对其进行了配置和测试。以下是我们的总结和经验教训:1. 安装过程:   在开始安装数据库之前,我们首先熟悉了数据库的系统要求,并确保我们的服务器满足这些要求。   我们下载了最新版本的数据库软件,并根据官方的安装指南一步步进行了安装过程......
  • 20211128《信息安全系统设计与实现》第五章学习笔记
    一、任务内容自学教材第5章,提交学习笔记(10分)1.知识点归纳以及自己最有收获的内容,选择至少2个知识点利用chatgpt等工具进行苏格拉底挑战,并提交过程截图,提示过程参考下面内容(4分)“我在学***X知识点,请你以苏格拉底的方式对我进行提问,一次一个问题”核心是要求GPT:“请你以苏格拉......
  • 二分查找总结
    不考虑重复元素下循环条件l<=rmid=(left+right)>>1(1)如果a[mid]=targetreturnmid(2)如果a[mid]<target搜索[mid+1,right](3)如果a[mid]>target搜索[left,mid-1]如果循环推出仍然没有找到,就标志着没有该元素。二分查找元素起始位置mid=(left+right)>>1需要找到一个......