QuartDepth: Post-Training Quantization for Real-Time Depth Estimation on the Edge阅读笔记

motivation

针对Monocular Depth Estimation(MDE)模型进行的量化,这个任务的主要目标是用单张图片判定深度信息。发现MDE模型中卷积和矩阵乘法在推理过程的时间消耗中占大头,发现在depth decoder中通道间与通道内激活分布差异都很大,因此采用逐通道量化方法并将非线性操作(LayerNorm、Softmax等)仍使用浮点数激活。

创新点1:LogNP激活平滑方法

在量化前对激活施加平滑操作,其中是通道个数,是逐通道平滑系数

屏幕截图2025-04-04152436.png

个通道的平滑系数取第个通道的激活分位数

屏幕截图2025-04-04152645.png

量化后再还原:

屏幕截图2025-04-04152800.png

创新点2:权重更新补偿激活量化

逐层寻找权重更新后使得激活量化损失最小的权重更新量,思路为对量化损失的二阶范数求导,求解导数为0时候的条件:

屏幕截图2025-04-04153247.png

权重更新量为,如果不满秩则采用dampening方法:

屏幕截图2025-04-04153347.png

创新点3:应用AdaRound时候的Hessian估计

使用负对数似然损失和基于softmax的概率模型 的情况下,Hessian矩阵和Fisher信息矩阵是相同的,其中是样本数:

屏幕截图2025-04-04154821.png

然而这需要对所有类型算期望,计算量大,因此使用Empirical Fisher Matrix,用真实的标签来代替相应的期望值。

为了进一步减小计算量,假定经验Fisher矩阵层间独立,最终的模型Fisher矩阵则为一个块对角矩阵,逐层经验Fisher矩阵可表示为,其中是层数:

屏幕截图2025-04-04155212.png

进一步使用Kronecker积近似简化计算:

屏幕截图2025-04-04155502.png

原理:

屏幕截图2025-04-04160155.png