在阅读论文的时候应该会看到两个操作,一个是耦合,一个是解耦,经常搭配着出现的就是两个词语,耦合头(Coupled head)以及Decoupled head(解耦合头),那为什么要耦合,又为什么要解耦。
耦的概念
以下是来自耦的词语百科
耦耕(两人并力一起耕种。为古代犁田的一种方式);耦犁(一种耕作法)。引申为二人一组。
可见,耦的基础含义是共同为某一目标同时作用,再看Coupled和Decoupled这俩单词,是不是觉得耦合和解耦这俩翻译很精妙呢。
同时在知乎某文章中,也很通俗易懂的阐述了耦合与解耦的区别:通俗地理解耦合、解耦这两个概念 - 知乎
深度学习中耦合与解耦的作用
在论文《An Integrated Model for On-Site Teaching Quality Evaluation Based on Deep Learning》中有一张简洁明了的图表面了深度学习中耦合和解耦的区别;
**在目标检测中,分类任务和回归任务之间的冲突是不可避免的。因此,用于分类和定位的解耦合头被广泛用于大多数单阶段检测器。**YOLO系列的骨干网络和特征金字塔网络在不断发展,但检测头仍然是耦合的。对于每一级FPN特征,首先通过1×1卷积归一化激活函数进行特征积分,以将特征通道的数量减少到256个。然后分别为分类和回归任务添加两个并行分支(如图2所示)。每个分支有两个3×3卷积归一化激活函数用于特征提取。Cls分支通过1×1卷积来确定输入特征点的类型。另一个分支也分为两个平行的分支。其中,Reg分支通过1×1卷积获得特征点的回归系数,以调整预测帧;并且Obj分支通过1×1卷积来确定特征点是否具有对应的对象。实验表明,将耦合头替换为解耦头大大提高了收敛速度,而解耦合头对于端到端版本的YOLO至关重要。