【Transformer】深入理解Transformer模型2——深入认识理解(上)

前言

Transformer模型出自论文:《Attention is All You Need**》 2017年**

近年来,在自然语言处理领域和图像处理领域,Transformer模型都受到了极为广泛的关注,很多模型中都用到了Transformer或者是Transformer模型的变体,而且对于很多任务,使用加了Transformer的模型可以获得更好的效果,这也证明了Transformer模型的有效性。

由于Transformer模型内容较多,想要深入理解该模型并不容易,所以我分了大概3~4篇博客来介绍Transformer模型,第一篇(也就是本篇博客)主要介绍Transformer模型的整体架构,对模型有一个初步的认识和了解;第二篇是看了b站李宏毅老师的Transformer模型讲解之后,做的知识总结(内容比较多,可能会分成两篇博客);第三篇从代码的角度来理解Transformer模型。

目前我只完成了前两篇论文,地址如下,之后完成第三篇会进行更新。

第一篇:【Transformer】深入理解Transformer模型1------初步认识了解-CSDN博客

第二篇:【Transformer】深入理解Transformer模型2------深入认识理解(上)-CSDN博客

第三篇:【Transformer】深入理解Transformer模型2------深入认识理解(下)-CSDN博客

第四篇:


深入认识理解(上)

自注意力机制(self-attention):可以用于transformer、BERT等

对于输入的向量集合,其输出考虑了一整个sequence的信息,输出的label个数等于输入的向量个数。

self-attention可以和fully connected交替使用,即:self-attention可以处理整个sequence的资讯,fully connected专注于处理某一个位置的资讯。

由a产生b1的过程:

(1)****根据a1,找到序列a中与a1相关的向量。****要做self-attention的目的就是要考虑整个sequence,但我们又不希望把整个sequence所有的资讯包含在一个windows里面。所以我们有一个很重要的机制:找出很长的sequence里面到底哪些部分是重要的,哪些部分与判断a1是哪个label是有关系的。两个向量之间的关联度用ɑ来表示。

(2)根据注意力得分 ɑ' 抽取出sequence里面重要的子句。

self-attention的整体操作如下图所示:

多头自注意力机制(Multi-head self-attention):翻译任务、语音识别任务等使用较多的head会取得较好的效果。

理解:不同的q代表不同种类的相关性,所以需要使用多个q来表示多个不同种类的相关性。

!!!注意:self-attention中是没有位置信息的,所以如果对所要完成的任务而言,位置信息很重要,那就要把位置信息塞进去,通过positional encoding的方法。

位置编码(positional encoding):

原理:为每一个位置设置一个位置向量(positional vector)ei,其中i表示位置,然后把ei加到ai上即可,这样就结束了。这样就可以把位置信息告知self-attention。

self-attention VS CNN 论文On the Relationship between Self-Attention and Concolutional Layers(https://arxiv.org/abs/1911.03584)中有严格的数学推到证明。

CNN是self-attention的特例,只要设定合适的参数,self-attention可以做到和CNN一样的效果。

CNN只考虑receptive field中的资讯,而self-attention考虑整张图片的资讯。self-attention中的receptive field就好像是机器自己学出来的,而CNN中的receptive field是人为设定的。

self-attention VS RNN


以上就是本篇博客的内容了,李宏毅老师视频的干货不少,分两篇博客写吧还是~

另外提一下我最近发现的一个wps word的优点:在视频截图右边的空白部分,画一个文本框,在里面写对应图片的笔记标注,还挺好用的,清晰,而且方便对应图看笔记,不用再上下翻了~hh

相关推荐
码界奇点1 小时前
Python Flask文件处理与异常处理实战指南
开发语言·python·自然语言处理·flask·python3.11
浠寒AI1 小时前
智能体模式篇(上)- 深入 ReAct:LangGraph构建能自主思考与行动的 AI
人工智能·python
weixin_505154461 小时前
数字孪生在建设智慧城市中可以起到哪些作用或帮助?
大数据·人工智能·智慧城市·数字孪生·数据可视化
Best_Me071 小时前
深度学习模块缝合
人工智能·深度学习
YuTaoShao2 小时前
【论文阅读】YOLOv8在单目下视多车目标检测中的应用
人工智能·yolo·目标检测
算家计算2 小时前
字节开源代码模型——Seed-Coder 本地部署教程,模型自驱动数据筛选,让每行代码都精准落位!
人工智能·开源
伪_装2 小时前
大语言模型(LLM)面试问题集
人工智能·语言模型·自然语言处理
gs801402 小时前
Tavily 技术详解:为大模型提供实时搜索增强的利器
人工智能·rag
music&movie3 小时前
算法工程师认知水平要求总结
人工智能·算法
狂小虎3 小时前
亲测解决self.transform is not exist
python·深度学习