130、共享卷积 Head:分类和回归分支共享前三层卷积的参数共享策略与效果
130、共享卷积 Head:分类和回归分支共享前三层卷积的参数共享策略与效果从一次诡异的mAP震荡说起去年年底调一个YOLOv8的工业检测项目,分类和回归分支各自独立,训练到第120个epoch时mAP突然从0.87掉到0.82,然后又在10个epoch内弹回0.88。我盯着WandB的曲线看了半小时,发现分类分支的loss在震荡,回归分支却稳如老狗。直觉告诉我——两个分支的卷积层在互相“打架”,尤其是浅层特征提取部分,它们学到的模式高度重叠,但参数却各自独立更新,导致梯度方向不一致。这个现象在YOLOv5时代就有人提过,但当时大家更关注Neck结构。直到YOLOv8把Head改成解耦结构(Decoupled Head),分类和回归分支各自拥有独立的3x3卷积层,问题才被放大。我当时的解决方案很简单:让两个分支共享前三层卷积的参数,只在最后一层分开。效果立竿见影,mAP稳定了,参数量还降了15%。共享卷积Head的设计思路YOLOv11的Head结构延续了YOLOv8的解耦设计,但多了一个细节:每个分支内部有3个连续的3x3卷积层(带BN和SiLU),然后接各自的输出层。分类分支输出形状为[B, num_classes, H, W],回归分支输出[B, 4*reg_max, H, W](这里reg_max是DFL的bin数,YOLOv11默认16)。共享策略的核心是:分类和回归分支的前k层(这里k=3)共用同一组
