一 故事的开始
考研复试前,通过B站唐宇迪的课程初步学习了Transformer相关知识,使我对人工智能产生了极大兴趣,了解了一些论文基于Transformer基本工作流程创新,这太神奇了!!!
二 短期突击Transformer的一些拙见(记录短期成果)
1.概述
Transformer是一种基于自注意力机制的神经网络模型,用于处理序列数据,运用于NLP,CV等各个领域。它在处理长序列数据时表现出色,并且相比于传统的卷积神经网络(CNN)模型(堆叠多层,效率低),自注意力机制偏好全局信息,能够并行计算,从而提高了训练和推理的效率。
我总结的关键词:基于自注意力机制 可并行 效率高
附两张流程展示比较清楚的图:
2.主要原理
Transformer主要包括Encoder和Decoder两个模块,首先输入数据,经过Input Embedding后转换为数值向量,再通过Positional Encoding向数值向量中添加位置信息,通过相关论文了解到常用三角函数(隐含奇化和差公式)获得和其他位置相对位置信息和顺序的关系,接着进入由N个层组成的Encoder部分,然后通过多头注意力层(Multi-Head Attention),计算自注意力,接下来到Add&Norm层残差连接和归一化处理,然后送入前馈神经网络(Feed Forward)层中。
Decoder部分和Encoder部分子层结构基本一致,但有两处不同,一是多头注意力层增加了Mask(矩阵运算时乘一个上三角掩码矩阵),因为NLP中预测时只知道一句话中的部分字词,从而预测句子后续内容,Mask用于将不应该知道的部分句子屏蔽掉。另一处是,Decoder中先经过一个多头自注意力层和残差、归一化层后,增加了一个交叉注意力层,该层的q来自Decoder的Masker Multi-Head Attention,k和v来自Encoder的输出。
在经过Encoder和Decoder后,经过线性层进行映射,最后softmax输出预测结果。
3.关键名词理解
自注意力机制(Self-Attention):
自注意力机制是Transformer的核心组成部分。它允许模型在处理序列中的每个元素时,能够对序列中的其他元素进行加权关注。在自注意力机制中,输入序列被分别映射为查询(Query)、键(Key)和值(Value)向量。 Q查K以提供给V中每个值和其他值之间加权求和的权重。(通过计算查询与键的相似度,得到每个查询与其他元素的注意力权重。最后,将注意力权重与对应的值向量相乘,并加权求和得到最终的输出。)
多头注意力机制(Multi-Head Attention):
为了增强模型的表示能力,Transformer引入了多头注意力机制。多头注意力机制通过在不同的线性变换上并行地执行多个自注意力机制,从而获得多个不同的注意力表示。每个注意力头都具有不同的权重矩阵,通过学习可以捕捉不同的语义信息。
4.对一些论文的理解
通过对几篇典型论文的讲解,我提炼了一些要素——
大部分transformer论文都会提出的两点:
1.Attention的设计
2.Attention中如何融入位置信息
创新点: 基于Transformer基本工作流程创新,发掘更优秀的自注意力机制
下面为我较深度了解的几篇文章
论文1:
轴Attention
相比于其他卷积池化+transformer(ViT先对图像卷积,使特征图变小,降低计算量),提出了transformer可独立使用。
关键点一是利用Axial-Attention,全图特征参数提取优化为只对行列提取,把2DAttention 转化为两个1D,降低计算量。
关键点二是transformer对词顺序不敏感,因此又引入了位置感知 ,对QKV增加权重(rq,rk,rv),额外考虑位置信息对结果的影响,且可学习。
论文2:
Medical Transformer
提出门控机制
关键点一:基于rq,rk,rv思想又引入门控单元Gq,GkGv权重项,同样可学习,使一些位置信息弱化
关键点二:提出了一种局部-全局(LOGO)训练策略,对输入图片信息全局做transformer,将图片分割,细粒度做transformer,最后将局部和全局输出的特征图特征融合后输出。
关键点三:全局设计结果比较简单,只连接了两个Encoder Decoder,细粒度的则由于特征较小,做了多次Encoder Decoder。
论文3:
GBT:改进时序预测Transformer模型
关键点一:传统Transformer模型Decoder Inputs方法存在非平稳性问题,因此提出了两个阶段的框架,将Encoder的预测结果直接用于Decoder的输入,并验证了传统Decoder交叉注意力机制是冗余的,证明的两个阶段框架的优势。
关键点二:增加误差评分修改模块,增强第二阶段的预测能力
以上为对短期学习的一些总结,如有问题,恳请指正!
三 确定学习路径
自此起开始系统学习机器学习-深度学习。
学习路径:传统机器学习算法 -> 深度学习 -> LLM(语言大模型) -> VLM(视觉和语言多模态)
学习原则:循序渐进、系统掌握、有所专长