DETR论文,基于transformer的目标检测网络 DETR:End-to-End Object Detection with Transformers

transformer的基本结构:

  • encoder-decoder的基本流程为:

1)对于输入,首先进行embedding操作,即将输入映射为向量的形式,包含两部分操作,第一部分是input embedding:例如,在NLP领域,称为token embedding,即将输入序列中的token(如单词或字符)映射为连续的向量表示;在CV领域,可以是将每个像素或者每个patch块映射为向量形式,例如,patch embedding层

2)另一个embedding操作为positional encoding:即位置编码,即一组与输入经过embedding操作后的向量相同维度的向量(例如都为[N, HW, C]),用于提供位置信息。位置编码与input embedding相加得到transformer 编码器的输入。

3)transformer encoder:是由多个编码模块组成的编码器层,每个编码模块由多头自注意力机制+残差add+层归一化LayerNorm+前馈网络FFN+残差add+层归一化LayerNorm组成

多头自注意力机制:核心部分,例如,在CV领域,经过embedding层后的输入为[N, HW, C],N为Batch num,HW为像素个数,每个像素映射为一个维度为C的向量;然后通过QKV的自注意力机制和划分为多头的方式,得到输出为[N, HW, C]:

要除以​的原因:查询(Query)与键(Key)之间的点积,然后将这个点积除以一个缩放因子,最后应用softmax函数来获得注意力权重。如果不进行缩放,当键的维度dk很大时,点积的结果可能会非常大,这会导致softmax函数的梯度非常小,从而引起梯度消失问题。通过除以根号dk,提高训练的稳定性。

add+LayerNorm:经过多头自注意力机制后再与输入相加,并经过层归一化LayerNorm,即在最后一个维度C上做归一化,详见https://blog.csdn.net/m0_48086806/article/details/132153059

前馈网络FFN:是由两个全连接层+ReLu激活函数组成

4)transformer decoder:是由多个解码模块组成的解码器层,每个解码模块由Masked多头自注意力机制+残差add&层归一化LayerNorm+多头cross attention机制+add&LayerNorm+前馈网络FFN+add&LayerNorm。

5)此外需要注意的是,第一个解码模块的输入为output(可以初始化为0或者随机初始化)经过embedding操作后的结果,之后各个解码模块的输入就变为前一个解码模块的输出了;第二个cross attention机制的QKV输入分别为:KV键值对都是等于编码器最终的输出;Query为Masked多头自注意力的输出

Masked多头自注意力机制:一个通俗解释为:一个词序列中,每个词只能被它前面的词所影响,所以这个词后面的所有位置都需要被忽略,所以在计算Attention的时候,该词向量和它后面的词向量的相关性为0。因此为Mask

6)最后通过Linear层+Softmax得到最终的输出

相关推荐
sp_fyf_202410 分钟前
计算机前沿技术-人工智能算法-大语言模型-最新研究进展-2024-11-01
人工智能·深度学习·神经网络·算法·机器学习·语言模型·数据挖掘
红客59711 分钟前
Transformer和BERT的区别
深度学习·bert·transformer
多吃轻食14 分钟前
大模型微调技术 --> 脉络
人工智能·深度学习·神经网络·自然语言处理·embedding
charles_vaez38 分钟前
开源模型应用落地-glm模型小试-glm-4-9b-chat-快速体验(一)
深度学习·语言模型·自然语言处理
YRr YRr1 小时前
深度学习:Transformer Decoder详解
人工智能·深度学习·transformer
Shy9604181 小时前
Bert完形填空
python·深度学习·bert
老艾的AI世界1 小时前
新一代AI换脸更自然,DeepLiveCam下载介绍(可直播)
图像处理·人工智能·深度学习·神经网络·目标检测·机器学习·ai换脸·视频换脸·直播换脸·图片换脸
浊酒南街2 小时前
吴恩达深度学习笔记:卷积神经网络(Foundations of Convolutional Neural Networks)4.9-4.10
人工智能·深度学习·神经网络·cnn
懒惰才能让科技进步2 小时前
从零学习大模型(十二)-----基于梯度的重要性剪枝(Gradient-based Pruning)
人工智能·深度学习·学习·算法·chatgpt·transformer·剪枝
没有不重的名么3 小时前
门控循环单元GRU
人工智能·深度学习·gru