Advertisement

深度学习论文: Q-YOLO: Efficient Inference for Real-time Object Detection及其PyTorch实现

阅读量:

Q-YOLO: High-Speed Object Detection Inference for Real-Time Applications及其PyTorch实现

1 概述

该文提出了一种低比特量化方法命名为Q-YOLO算法用于开发高效的目标检测器。该算法成功解决了传统端到端量化YOLO模型因激活分布失衡而导致性能下降的问题。为提升量化效果该研究发展出了基于直方图分析确定最优截断阈值的单侧直方图(UH)激活量化方案。该方案以最小化均方误差(MSE)为指导准则实现了有效的图像识别效果。通过一系列实验发现该算法在提升目标检测精度的同时显著降低了计算资源消耗相较于现有端到端量化技术表现出更好的性能表现。

在这里插入图片描述

在YOLOv5s网络结构中的model.21.conv层模块中展示了激活值分布情况(采用2048个区间进行分组)。研究发现,在数值范围从0至-0.2785时出现频率明显高于其他区间;而正值区域的数据出现概率显著降低。这一现象表明该模块的激活值呈现明显的不平衡特征。

2 Q-YOLO

Q-YOLO对YOLO模型的关键模块进行了量化处理,并采用...标准的MinMax量化方法对权重进行标准化处理。针对激活分布出现不平衡的现象,在该基础上创新性地引入了一种新的量化策略——基于单侧直方图(UH)的激活量化方法。该方法通过迭代计算直方图来动态确定截断阈值,并以此最小化量化误差所带来的性能损失。这种创新性设计显著降低了校准所需的计算开销,并通过精确控制量化影响实现了有效的均衡优化目标检测性能提升。实验结果表明,在保证检测精度的前提下显著降低了比特率消耗

在这里插入图片描述

构建量化网格时设定上下截断阈值(用u和l表示)的过程即为量化范围设置。这一过程的关键权衡在于两种误差之间的平衡问题:截断误差与舍入误差。其中,在数据被截断以适应预先设定好的网格限制时会产生截断误差。这种操作会导 致信息丢失并降低结果表示精度;而舍入操作则会引入不准确性,并随着时间推移累积影响整体准确性。

对于Minmax方法而言是没有产生截断误差;然而它对异常值非常敏感,在极端异常值的情况下可能导致较大的舍入 误差

针对Mean Squared Error (MSE)而言,则能在一定程度上能够缓解大异常值带来的问题

而单边基于直方图(UH)激活量化的非对称量化方法则是在实验数据的支持下被引入的一种新策略

在单边基于直方图(UH)激活量化方案中将最小截断固定设定了-0.2785;随后通过迭代确定出能够最小化 量化误差点的最大截断点

在这里插入图片描述

Unilateral Histogram-based (UH)如下:

在这里插入图片描述

UH激活量化方法具有两个关键优势。

  • 首先, 该方法明显减少了校正所需的时间.
  • 其次, 在数值区间[−0.2785, 0]之间反复出现的激活值通常基于更大范围的整数值集来进行表示; 这使得量化精度得到了显著提升, 并且保证了激活值的有效量化稳定性.

3 Experiments

在这里插入图片描述

全部评论 (0)

还没有任何评论哟~