【Cross-attention in DETR】
Cross-attention Module理解
浅理解一下
通过读DETR & Conditional DETR中引发对cross-attention的理解。
目标端(decoder)中的query(object query)是需要被表达的,而encoder输出的key和value是用于表达的。
key和query content部分(content embedding)的好坏极大影响最终的预测。DETR的实验(从第二个decoder层开始将key和object query的positional embedding移除)发现AP只轻微下降,这证明了模型的表现对key、query的content embedding的依赖性很高,对spatial embedding(positional embedding)的依赖较少。换句话说,content embedding太忙了,不仅要负责外观(识别),还要定位物体的 extremity 区域。
Cross-attention中spatial attention map
我们可以看到,每个 head 的 spatial attention map 都在尝试找物体的一个 extremity 区域,例如: 围绕物体的 bounding box 的某条边。训练了 500 epoch 的 DETR 基本能够找准 extremity 区域的大概位置,然而只训练了 50 epoch 的 DETR 却找不准。这是因为:
1.spatial embedding query没发挥定位作用,可以说没什么事要做;
2.query上的content query得需要更多轮训练才能更好匹配spatial keys。我们认为,DETR 在计算 cross-attention 时,query 中的 content embedding 要同时和 key 中的 content embedding 以及 key 中的 spatial embedding 做匹配,这就对 content embedding query的质量要求非常高。而训练了 50 epoch 的DETR,因为 content embedding 质量不高,无法准确地缩小搜寻物体的范围,导致收敛缓慢。那得让spatial embedding query干活呀,不能啥活(识别、定位)都给content embedding query干呀。
所以,Conditional DETR提出了一种新型query,同时将cross-attention解耦,spatial query只关注spatial key,content query只关注content key。让他们自己做自己该做的事–各司其职让他们都有事做,这样就减少了content embedding query的依赖。
引发思考:能不能改变positional embedding key来让他表达更好,更容易被positional embedding query Match到呢?
更新No.1
Anchor DETR有异曲同工之妙,通过重新设计object query来让其关注特定的位置,也能加快收敛,这也意味着影响DETR收敛慢的最大原因是 匹配定位 ,也就是找目标。
【Cross-attention in DETR】相关推荐
- 【篮球】【横移,握鸡蛋的手指感觉运球】【手指掌根手腕运球】【声东击西】【口诀屈膝贴地】【弯腰手臂降低护球手】【胯下护球脚】【后撤拉扯】
口诀:先看脚步攻击后摇,重心降低刚柔并济. 转身赶紧护球手攻击后摇,普通运球护球手攻击后 攻击后摇,护球手跟随突破球的手同步运动,打开掏球手. 转身赶紧护球手攻击后摇,普通运球护球手攻击后摇. 利用打 ...
- 【超参数寻优】交叉验证(Cross Validation)超参数寻优的python实现:多参数寻优
[超参数寻优]交叉验证(Cross Validation)超参数寻优的python实现:多参数寻优 一.网格搜索原理 二.网格搜索+交叉验证用于多参数寻优的python实现 1.训练模型及待寻优参数 ...
- 【超参数寻优】交叉验证(Cross Validation)超参数寻优的python实现:单一参数寻优
[超参数寻优]交叉验证(Cross Validation)超参数寻优的python实现:单一参数寻优 一.交叉验证的意义 二.常用的交叉验证方法 1.Hold one method 2.K-flod ...
- 【区块链之技术进阶】Attention please!区块链技术的风险!
不知不觉咱们在[区块链之技术进阶]部分已经分享了七篇文章了,通过之前的七篇文章大家对于区块链技术的理解是不是上升了一个高度呢?这七篇文章,告诉我们区块链是互联网时代的通往第二纪元--信任纪元的革命,这 ...
- 【菜鸡读论文】AU-assisted Graph Attention Convolutional Network for Micro-Expression Recognition
[菜鸡读论文]AU-assisted Graph Attention Convolutional Network for Micro-Expression Recognition 芜湖!又到了每周分享 ...
- 【动手深度学习-笔记】注意力机制(四)自注意力、交叉注意力和位置编码
文章目录 自注意力(Self-Attention) 例子 Self-Attention vs Convolution Self-Attention vs RNN 交叉注意力(Cross Attenti ...
- 【每周NLP论文推荐】 介绍语义匹配中的经典文章
欢迎来到<每周NLP论文推荐>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 语义匹配也是NLP中比较基础的任务,它的主 ...
- 【国际大厂招人啦】PayPal专场招聘直播,立即占位!
当当当当!万众期待的!福布斯全球企业榜上有名的!PayPal直播招聘!终于登场啦! 进大厂算什么梦想,走向国际才是王道.外资公司的好(壕),只有去了才知道! 各种职位供你选择,北京上海均有机会! 戳这 ...
- 【20210109期 AI周报】该重视 Vision Transformer 了
当你还在研究目标检测中one2one的时候,当你还在死磕模型lantency的时候,当你还在折腾模型NPU部署的时候,当...,我不得不提一下:该重视Vision Transformer了.自2020 ...
- 【AI绘图学习笔记】transformer
台大李宏毅21年机器学习课程 self-attention和transformer 文章目录 Seq2seq 实现原理 Encoder Decoder Autoregressive自回归解码器 Non ...
最新文章
- SAP MM 不常用事务代码之MBSL - Copy Material Document
- 如何在圆柱表面滚花纹_更多地了解圆柱形铣刀
- jpeg6 安装问题!
- C++中关于类中常数静态成员初始化的问题
- DI / CDI –基础
- Tcl8.6原生支持oop了
- python元组排序_python元组怎么排序
- python程序由三种基本结构组成_python入门基础教程04 Python程序基本组成
- 计算机自带的命令提示符,Windows 10上有十种打开命令提示符的方法,你知道多少...
- 最新仿山楂岛留言源码+公众号吸粉/短视频引流神器
- 健美运动员赛前脱水断碳_健美运动员在备赛期状态真的很差吗?
- 可买房摇号,北京市工作居住证全面解读
- 解决String cannot be cast to java.util.List报错
- 2016,初入江湖,尚未见刀光剑影
- 《Ensemble Learning Methods for Deep Learning Neural Networks》笔记
- 安卓IMS 原理解析(二、IMS之InputReader事件获取)
- 开尔文夹接线图解_什么是开尔文四线检测|Kelvin Four-terminal sensing|开尔文|Kelvin 4|开尔文四线电阻检测-产品知识-资讯-深圳华壬电子...
- 解决Navicat:Access violation at address xxxxxxxxx in module ‘navicat.exe‘.Read of address xxxxxx
- 计算机不能启动 无法验证数字签名,Win10提示错误0xc0000428无法验证此文件的数字签名怎么办?...
- PHP、Windows、Linux生成大文件