即插即用 | 通过自适应聚类Transformer来提升DERT目标检测器的速度(文末附论文下载)(一)

简介: 即插即用 | 通过自适应聚类Transformer来提升DERT目标检测器的速度(文末附论文下载)(一)

1、简介


DERT中使用Transformer进行端到端目标检测,并实现与Faster-RCNN等两阶段目标检测可比的性能。但是,由于高分辨率的图像输入,DETR需要大量的计算资源来进行训练和推理。为了降低高分辨率输入的计算成本,本文提出了一种新型的变体,称为自适应聚类Transformer(ACT)。

ACT使用局部敏感哈希(LSH)自适应地对查询特征进行聚类,并使用原型键交互在查询键交互附近进行聚类。ACT可以将自注意力的二次O(N2)复杂度降低到O(NK),其中K是每层原型的数量。ACT可以是嵌入式模块,无需任何训练即可代替原始的自注意力模块。


2、设计动机


2.1、编码器注意力冗余

DETR中,每个位置的特征将使用注意力机制自适应地从其他空间位置收集特征信息。而语义上相似和空间上相近的特征会产生相似的注意力图,反之亦然。如下图Figure 1:

P0和P1的注意力图相似且包含冗余,而距离较远的P0和P3的注意图则完全不同。自注意力的冗余促使行为选择具有代表性的原型,并将原型特征更新传播给最邻近的位置。

2.2、编码器特征多样性

随着编码器的深入,各个特性将会相似,因为每个特性会互相收集信息。为了验证这个假设,文中计算了训练集中前100张照片中每一层特征到中心的平均距离。

如Figure 2所示,随着Layer的深入,特征距离会降低。这种观察得出特征会在每一层之间的分布自适应地确定原型的数量,而不是静态的聚类中心的数量。


3、论文方法


作者为了将类相似的查询特征组合在一起进而解决编码器注意力冗余问题,最开始想法是使用K-means对所有图像使用预定义的中心数量来聚类查询特性。实验发现K-means聚类会显著降低预先训练好的DETR的性能。同时编码特征多样性促使设计一种自适应聚类算法,可以根据每幅图像和每一层的特征分布对特征进行聚类。然后作者选择了一种Multi-round Exact Euclidean Locality Sensitivity Hashing (E2LSH)算法,该算法能够实现查询特征感知分布的聚类。

3.1、DETR主要框架

下图显示DETR的3个阶段:

3.1.1 编码阶段

在编码器中,使用imagenet预训练的ResNet模型从输入图像中提取二维特征。位置编码模块使用不同频率的正弦和余弦函数对空间信息进行编码。DETR将2D特性扁平化,并用位置编码补充它们,并将它们传递给6层transformer编码器。编码器的每一层结构相同,包括8头自注意模块和FFN模块。

3.1.2 解码阶段

解码器将一小部分固定数量并且已学习好的位置嵌入(称为对象查询)作为输入,并另外处理编码器的输出。该解码器也有6层,每层具有相同的配置:包括8-head自注意力模块、8-head co-attention模块和1个FFN模块。

3.1.3 预测阶段

DETR将解码器的每个输出传递给共享前馈网络,该网络预测检测(类和边界框)或无对象类。

3.2、Adaptive Clustering Transformer

3.2.1 确定哈希原型

因为LSH是一个解决最近邻搜索问题的不错的解决方案,所以使用Locality Sensitivity hash(LSH)自适应地聚合那些欧氏距离较小的查询。通过控制哈希函数参数让所有的向量距离小于的以一个大于p的概率落入相同的hash bucket。

image.png

文章选择精确欧几里得局部性敏感哈希(E2LSH)作为哈希函数:

image.png

其中是哈希函数,是超参数,是随机变量,且满足服从分布,服从分布;本文则应用L轮LSH来增加结果的可信度:

image.png

下图Figure 4显示了哈希函数的原理。每个哈希函数可以看作是一组具有随机法向量和偏移量的并行超平面。超参数r控制超平面的间距。r越大,间隔越大。此外,L哈希函数将空间划分为多个单元格,落入同一个单元格的向量将获得相同的哈希值。显然,欧氏距离越近,两个向量落在同一个单元格中的概率就越大。

image.png

为了获得原型,首先计算每个查询的哈希值。然后,将具有相同哈希值的查询分组到一个集群中,该集群的原型是这些查询的中心。具体将定义为查询,定义为原型,其中是集群的数量。设表示所属的聚类指标。第个聚类的原型:

image.png

3.2.2 估计注意力输出

在原型确定后,每一组查询都由一个原型表示。因此,只需要计算原型和键之间的注意力映射。然后获得每个原型的目标向量,并将其广播到每个原始查询。于是便得到了对注意力输出的估计。与精确的注意量计算相比,减少了计算的复杂性到,其中C为原型数,其大于N,将自适应确定。

具体定义K为键,V为值。通过下面的方程得到了注意力输出的估计数:

image.png

其中,softmax函数逐行应用,表示所属的聚类指数。

3.2.3 误差控制

对于和两个向量,令。假设和落在同一个哈希桶中的概率是那么就可以证明:

image.png

其中,是均值为0,方差为1的正态分布的概率密度函数。

ACT独立应用L轮哈希,和 的碰撞概率为。显然,与c呈单调递减,因此,当两个查询的距离小于。对于给定的置信度可以通过调整超参数L和r来控制查询与其原型在同一簇内的距离,估计误差会随着L的增加和r的减少而减小。

3.2.4 多任务知识蒸馏

虽然ACT可以在不经过再训练的情况下降低DETR的计算复杂度,但多任务知识蒸馏(MTKD)可以通过更少的微调时间进一步提高ACT,并在性能和计算之间取得更好的平衡。

image.png

如下图所示图像特征将首先通过预训练好的CNN主干进行提取。提取的特征将通过ACT与Tranformer并联。为了在ACT和原始的transformer之间实现无缝切换,MTKD将用于约束训练。训练损失表示为:

image.png

式中,其中为Ground Truth, 为ACT预测的Bounding Box,, Y2为DETR预测的Bounding Box和完整预测。是Ground Truth与DETR预测之间的原始loss。是知识蒸馏的损失,它使ACT和DETR预测的Bounding Box之间的L2距离最小化。

训练损失的目的是结合完全预测和近似预测之间的知识转移对原始Transformer进行训练,实现ACT和transformer之间的无缝切换。知识转换器包括区域分类和回归蒸馏。回归分支比分类分支对由ACT引入的近似误差更敏感。因此,只转移Bounding Box回归分支的知识。实验观察到通过只Bounding Box回归分支的训练收敛速度要快得多。

相关文章
|
机器学习/深度学习 算法 PyTorch
论文阅读笔记 | 目标检测算法——DETR
论文阅读笔记 | 目标检测算法——DETR
2592 0
论文阅读笔记 | 目标检测算法——DETR
|
人工智能 监控 测试技术
利用AI辅助工具提升软件测试效率
【2月更文挑战第17天】 随着科技的不断发展,人工智能(AI)在各个领域的应用越来越广泛。在软件测试领域,AI技术也发挥着重要作用。本文将探讨如何利用AI辅助工具提升软件测试效率,包括自动化测试、智能缺陷识别和预测等方面。通过引入AI技术,软件测试过程将变得更加高效、准确和可靠。
1226 1
|
机器学习/深度学习 算法
【基础回顾】在回归任务中常见的损失函数比较(mse、mae、huber)
【基础回顾】在回归任务中常见的损失函数比较(mse、mae、huber)
2522 0
【基础回顾】在回归任务中常见的损失函数比较(mse、mae、huber)
|
关系型数据库 MySQL Java
|
存储 数据采集
时序逻辑电路的应用及其作用
一、什么时序逻辑电路 时序逻辑电路是一种电子电路,用于处理和存储时序信息。它通过使用时钟信号来控制电路的行为,以实现特定的功能。 时序逻辑电路通常由触发器和组合逻辑电路组成。触发器是一种存储器件,可以存储和传递电信号。组合逻辑电路则根据输入信号的组合产生输出信号。 时序逻辑电路的行为是根据时钟信号的变化来确定的。时钟信号是一个周期性的信号,用于同步电路的操作。在每个时钟周期中,电路根据输入信号和当前状态来计算输出信号,并在时钟信号的上升沿或下降沿时更新状态。 时序逻辑电路可以用于实现各种功能,如计数器、状态机、时序控制器等。它在数字系统中起着重要的作用,用于处理时序信息和控制电路的行为。 二、
1624 0
|
网络协议 Java 容器
Java实现聊天室
Java实现聊天室
547 0
|
8月前
|
人工智能 自然语言处理 Shell
别再卡壳了!OpenClaw 配置阿里云百炼 API,这招 5 分钟搞定
OpenClaw(原Moltbot/Clawdbot)是开源AI个人助手,支持本地部署及多平台,可接入阿里云百炼API。5分钟快速配置Qwen3-Max-Thinking等大模型,新客首月仅0.3元/天,即刻启用智能自动化服务!
1578 1
|
机器学习/深度学习 缓存 自然语言处理
深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
Tiktokenizer 是一款现代分词工具,旨在高效、智能地将文本转换为机器可处理的离散单元(token)。它不仅超越了传统的空格分割和正则表达式匹配方法,还结合了上下文感知能力,适应复杂语言结构。Tiktokenizer 的核心特性包括自适应 token 分割、高效编码能力和出色的可扩展性,使其适用于从聊天机器人到大规模文本分析等多种应用场景。通过模块化设计,Tiktokenizer 确保了代码的可重用性和维护性,并在分词精度、处理效率和灵活性方面表现出色。此外,它支持多语言处理、表情符号识别和领域特定文本处理,能够应对各种复杂的文本输入需求。
1793 6
深入解析Tiktokenizer:大语言模型中核心分词技术的原理与架构
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【RT-DETR和Mamba】| 替换骨干 Mamba-RT-DETR-L !!! 最新的发文热点
RT-DETR改进策略【RT-DETR和Mamba】| 替换骨干 Mamba-RT-DETR-L !!! 最新的发文热点
476 3
RT-DETR改进策略【RT-DETR和Mamba】| 替换骨干 Mamba-RT-DETR-L !!! 最新的发文热点
|
机器学习/深度学习 数据可视化 算法
图特征工程实践指南:从节点中心性到全局拓扑的多尺度特征提取
本文详细介绍了如何利用NetworkX库从图结构中提取重要特征。首先,通过定义辅助函数设置了图的可视化选项,并以Zachary网络数据集为例进行了可视化展示。接着,文章深入探讨了三类图特征:基于节点的特征(如节点度、中心性等)、基于边的特征(如最短路径、邻域重叠等)以及基于图的特征(如Graphlets、Weisfeiler-Leman特征等)。通过这些特征的提取与分析,可以全面理解网络结构,识别关键节点,分析信息流动模式,并发现潜在的隐藏模式。本文不仅展示了如何应用这些特征来揭示社交网络中的角色和联系,还强调了其在交通网络分析和生物系统研究等领域的广泛应用潜力。
1209 12
图特征工程实践指南:从节点中心性到全局拓扑的多尺度特征提取

热门文章

最新文章