码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Conditional DETR(ICCV 21)


    Conditional DETR(ICCV 21)

    Conditional DETR for Fast Training Convergence

    加速detr收敛(50 epoch收敛)

    DETR收敛慢的原因

    DETR训练收敛速度慢,需要500 epochs
    DETR的Cross Attention高度依赖content embedding(decoder的输出,可以是self attention的输出)进行定位和预测增加了对高质量的content embeddings的需求,需要很多轮才能学号content embedding,因此增大了训练的难度

    Conditional DETR修改点

    主要修改了decoder部分,其他部分和原始DETR保持一致

    在这里插入图片描述

    结构(只画了decoder)

    img

    1. cross attention两个换成了concat,原始的是相加
    2. 模块:生成新的参考点

    Decoder Cross Attention

    Decoder有三种输入: query key value
    value是encoder的输出,称其为content embedding
    key由encoder的输出t=content embedding +spatial key(空间位置编码,三角函数位置编码或可学习)构成
    query由decoder的前一层(self attention)的输出=content query和spatial query(空间位置编码,也就是object query)

    conditional:条件空间查询

    图右侧加的额外的附加条件是2d坐标embedding
    object query-> s(2d coordinates)

    原始的DETR,self-attention的输出作为q,这个q需要同时在和k匹配过程中,查询出k表示的物体和识别出bbox的边界,训练时间按长。

    qk计算分两个部分:一个是content计算,一个是position计算
    (3d tensor相乘的计算是2dtensor对应相乘后concat)
    c q ⊤ c k + p q ⊤ p k . {\mathbf{c}_q^\top\mathbf{c}_k+\mathbf{p}_q^\top\mathbf{p}_k}. cq⊤​ck​+pq⊤​pk​.
    补充的条件空间查询(上面的pq,pk):有意把一份空间信息concat到self attention输出上

    (s(补充的网络部分),f(self输出))->pq
    p s = sinusoidal(sigmoid( s ) ) \mathbf{p}_s=\text{sinusoidal(sigmoid(}\mathbf{s})) ps​=sinusoidal(sigmoid(s))
    sigmoid之后空间位置编码(三角函数)

    算完ps之后和T做运算,算q:
    p q = T p s = λ q ⊙ p s \mathbf{p}_q=\mathbf{T}\mathbf{p}_s=\lambda_q\odot\mathbf{p}_s pq​=Tps​=λq​⊙ps​
    T的FFN的输入是上一层decoder的输出,λq的值是经过FFN得到的

    ablations-projections T:

    在这里插入图片描述

    full就是标准矩阵的意思,最后是只训练对角的参数值
    输出和deformable detr相同,都是相对于参考点的修正

    参考:

    https://www.bilibili.com/video/BV1sj411K7Mj/?spm_id_from=333.788&vd_source=4e2df178682eb78a7ad1cc398e6e154d

  • 相关阅读:
    Rocky Linux 工作流编排和混合云解决方案一站式资源
    【ROS进阶篇】第十一讲 基于Gazebo和Rviz的机器人联合仿真(运动控制与传感器)
    矩阵按键简单使用
    JKPacket权威指南——联系我们
    营收连续上涨,一脉阳光能否打造“医学影像独角兽”?
    粮食淘洗机结构设计(说明书+任务书+开题+文献综述+翻译及原文+cad图纸)
    实用网站合集
    R语言|plot和par函数绘图详解,绘图区域设置 颜色设置 绘图后修改及图像输出
    Golang | Leetcode Golang题解之第326题3的幂
    华为低代码TinyEngine ——flow 图元编排设计器
  • 原文地址:https://blog.csdn.net/qq_52038588/article/details/133150893
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号