【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

相关推荐
kooboo china.12 分钟前
Tailwind CSS 实战:基于 Kooboo 构建 AI 对话框页面(八):异步处理逻辑详解
前端·css·人工智能·编辑器·html·交互
newxtc25 分钟前
【JJ斗地主-注册安全分析报告】
开发语言·javascript·人工智能·安全
黑码哥31 分钟前
Copilot for Xcode (iOS的 AI辅助编程)
人工智能·copilot·ai编程·xcode·ai辅助编程
深科文库32 分钟前
构建 MCP 服务器:第 2 部分 — 使用资源模板扩展资源
人工智能·chatgpt·llama
程序猿小D34 分钟前
第22节 Node.js JXcore 打包
开发语言·人工智能·vscode·node.js·c#
ykjhr_3d1 小时前
AI 导游:开启智能旅游新时代
人工智能·旅游
jndingxin1 小时前
OpenCV CUDA模块光流计算-----实现Farneback光流算法的类cv::cuda::FarnebackOpticalFlow
人工智能·opencv·算法
marteker1 小时前
HubSpot推出与ChatGPT的深度集成引发兴奋与担忧
人工智能
码上地球2 小时前
卷积神经网络设计指南:从理论到实践的经验总结
人工智能·深度学习·cnn
余+185381628002 小时前
短视频矩阵系统文案创作功能开发实践,定制化开发
大数据·人工智能