免费的作文网站,wordpress页头铺不满,我想做一个网站怎么做的,为什么大公司不用c 做网站Anchor DETR(AAAI 2022)
改进#xff1a;
提出了基于anchor的对象查询提出Attention变体-RCDA
在以前DETR中#xff0c;目标的查询是一组可学习的embedding。然而#xff0c;每个可学习的embedding都没有明确的意义 #xff08;因为是随机初始化的#xff09;#xff…Anchor DETR(AAAI 2022)
改进
提出了基于anchor的对象查询提出Attention变体-RCDA
在以前DETR中目标的查询是一组可学习的embedding。然而每个可学习的embedding都没有明确的意义 因为是随机初始化的所以也不能解释它最终将集中在哪里。此外由于每个对象查询将不会关注特定的区域所以训练时优化也是比较困难的 DETR中对可视化的注释 slots就是100个查询中的一个 这里三种预测pattern可能相同也可能不同
简单的模型
与DETR没有特别大的变化
6encoder6decoder右下角是Anchor Points
position embedding会加入到decoder的q和k中
object query:[100,256]增加了anchor point编码成positon embedding替换原来的oq 生成anchor point有两种方式 aanchor固定宽高均匀分布的网格均匀采样
b先将一个tensor以0-1均匀分布随机初始化点位并作为学习参数embedding实验效果好 anchor point转化为 object query 首先获得learned的[100NA2]的anchor points
然后通过sin/cos转换成[100256]高频位置编码代码里函数为pos2posemb2d
过两层MLP学习代码里为adapt_pos2d转换为Q_P:[Nppattern256]。 代码和文章有些地方不太一致具体如下 Multiple Predictions for Each Anchor Points
假设参考点100个每个点预测一个目标真实的图像在同一个点附近可能会有多个目标
anchor detr设计了一个点预测多个模式3种每个点设置Np个模式Np3
原始detrobject query是[100,256]每个是[1,256]
anchor detr增加了一个pattern embedding如下; Q f i Embedding ( N p , C ) Q_{f}^{i}\operatorname{Embedding}\left(N_{p}, C\right) QfiEmbedding(Np,C) 也就是每个点Np(3)个pattern[3256]论文里Np300pattern3也就是900个点
最终只需要将pattern embedding和anchor point的Q_p相加就得到最终的object query Pattern Position query可以表示为 实际上代码里没用到这个上述式子 上个代码图中的代码里reference point是直接从300repeat到900的 如果我理解有误请提醒我 代码种pattern是第一个decoder的输入原始detr的tgt全是0 Row-Column Decoupled Attention
减少的是内存开销
行列分解attention机制加速收敛q长度为900减少内存减少内存开销。 原始的transformer输入tokenH*W会被拉平成一维的传入
AxW先在行维度进行计算
AyH在进行Ay操作
Ay和Z在高度维度进行加权求和 QK都进行行列分解V不分解[Nq,H*W] 原始attentionNq * H * W * Mhead
RCDA
Ax:Nq * W * M
Ay:Nq * H * M
就只需要比较两个矩阵大小即刻图的右侧是比例公式两个维度比较约掉后剩下W * M/CW假设是32DC5M8C256那是一样的看C和W * M DC5表示在主干网络(默认resnet50)的最后一个stage加了个空洞卷积并减少了个pooling层实现分辨率增大一倍 实验
1.比对了不同线性attention的memory和ap 2.模式a通常是大物体模式b是小物体模式c比较均衡 参考
https://www.bilibili.com/video/BV148411M7ev/?spm_id_from333.788vd_source4e2df178682eb78a7ad1cc398e6e154d