【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 小时前
PyTorch——安装(有无 NVIDIA 显卡的完整配置方案)
人工智能·pytorch·python
jr-create(•̀⌄•́)2 小时前
LeakyRelu链式法则
开发语言·python·深度学习
大龄程序员狗哥8 小时前
第25篇:Q-Learning算法解析——强化学习中的经典“价值”学习(原理解析)
人工智能·学习·算法
陶陶然Yay8 小时前
神经网络常见层Numpy封装参考(5):其他层
人工智能·神经网络·numpy
极客老王说Agent8 小时前
2026实战指南:如何用智能体实现药品不良反应报告的自动录入?
人工智能·ai·chatgpt
imbackneverdie8 小时前
本科毕业论文怎么写?需要用到什么工具?
人工智能·考研·aigc·ai写作·学术·毕业论文·ai工具
lulu12165440788 小时前
Claude Code项目大了响应慢怎么办?Subagents、Agent Teams、Git Worktree、工作流编排四种方案深度解析
java·人工智能·python·ai编程
大橙子打游戏8 小时前
talkcozy像聊微信一样多项目同时开发
人工智能·vibecoding
deephub8 小时前
LangChain 还是 LangGraph?一个是编排一个是工具包
人工智能·langchain·大语言模型·langgraph
OidEncoder9 小时前
编码器分辨率与机械精度的关系
人工智能·算法·机器人·自动化