【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

相关推荐
正义的彬彬侠25 分钟前
sklearn.datasets中make_classification函数
人工智能·python·机器学习·分类·sklearn
ctrey_26 分钟前
2024-11-13 学习人工智能的Day26 sklearn(2)
人工智能·学习·sklearn
安静的_显眼包O_o28 分钟前
from sklearn.preprocessing import Imputer.处理缺失数据的工具
人工智能·python·sklearn
安静的_显眼包O_o32 分钟前
from sklearn.feature_selection import VarianceThreshold.移除低方差的特征来减少数据集中的特征数量
人工智能·python·sklearn
AI服务老曹42 分钟前
不仅能够实现前后场的简单互动,而且能够实现人机结合,最终实现整个巡检流程的标准化的智慧园区开源了
大数据·人工智能·深度学习·物联网·开源
金蝶软件小李44 分钟前
深度学习和图像处理
图像处理·深度学习·计算机视觉
云空1 小时前
《InsCode AI IDE:编程新时代的引领者》
java·javascript·c++·ide·人工智能·python·php
正义的彬彬侠1 小时前
CatBoost 中对分类特征进行目标变量统计编码 公式解析
人工智能·机器学习·集成学习·boosting·catboost
字节跳动数据平台1 小时前
火山引擎 VeDI 平台以 AIGC 技术,助力企业提效营销、快速增长
人工智能
Chef_Chen2 小时前
从0开始学习机器学习--Day22--优化总结以及误差作业(上)
人工智能·学习·机器学习