【RT-DETR涨点改进】17 注意力头剪枝:用“稀疏门控”砍掉50%冗余头,mAP反涨0.6%
17 注意力头剪枝:用“稀疏门控”砍掉50%冗余头,mAP反涨0.6%上周客户老李发来一张推理耗时对比图:他的RT-DETR-L在边缘设备上跑了230ms,其中注意力计算占了140ms。他试了所有常规优化——量化、TensorRT、半精度——但注意力头就是砍不掉。“我试过直接删掉一半头,mAP直接掉3个点。”他叹了口气。我看了眼他的代码,发现问题不在剪枝本身,而在剪枝方式。他用的“硬剪枝”——训练完直接砍头——就像把一台发动机的四个气缸随机堵死两个,不熄火才怪。今天我要分享的稀疏门控注意力剪枝,能在训练中自动学会哪些头是“冗余的”,然后优雅地关掉它们,甚至让mAP反涨。痛点拆解:为什么你剪枝掉头,精度就崩?常见错误实现:均匀剪枝+硬阈值大多数人的第一版代码长这样:defprune_attention_heads(model,keep_ratio=