超越卷积、自注意力机制:强大的神经网络新算子involution
这篇工作主要是由我和SENet的作者胡杰一起完成的,也非常感谢HKUST的两位导师 陈启峰和张潼老师的讨论和建议。
概要
我们的贡献点简单来讲:
(1)提出了一种新的神经网络算子(operator或op)称为involution,它比convolution更轻量更高效,形式上比self-attention更加简洁,可以用在各种视觉任务的模型上取得精度和效率的双重提升。
(2)通过involution的结构设计,我们能够以统一的视角来理解经典的卷积操作和近来流行的自注意力操作。
论文链接:https://arxiv.org/abs/2103.06255
代码和模型链接:https://github.com/d-li14/involution
这部分内容主要来自原文Section 2,Section 3
convolution
空间不变性
通道特异性
involution
在通道上共享kernel(仅有G个kernel)允许我们去使用大的空间span(增加K),从而通过spatial维度的设计提升性能的同时保证了通过channel维度的设计维持效率(见ablation in Tab. 6a,6b),即使在不同空间位置不共享权重也不会引起参数量和计算量的显著增长。
虽然我们没有在空间上的每个pixel直接共享kernel参数,但我们在更高的层面上共享了元参数(meta-weight,即指kernel生成函数的参数),所以仍然能够在不同的空间位置上进行knowledge的共享和迁移。作为对比,即使抛开参数量大涨的问题,如果将convolution在空间上共享kernel的限制完全放开,让每个pixel自由地学习对应的kernel参数,则无法达到这样的效果。
[Discussion] 与self-attention的相关性
这部分内容主要来自原文Section 4.2
self-attention
self-attention中不同的head对应到involution中不同的group(在channel维度split) self-attention中每个pixel的attention map 对应到involution中每个pixel的kernel
Vision Transformer
实验结果
ImageNet图像分类
COCO目标检测和实例分割
Cityscapes语义分割
关于广义的involution中kernel生成函数空间进一步的探索; 类似于deformable convolution加入offest生成函数,使得这个op空间建模能力的灵活性进一步提升; 结合NAS的技术搜索convolution-involution混合结构(原文Section 4.3); 我们在上文论述了self-attention只是一种表达形式,但希望(self-)attention机制能够启发我们设计更好的视觉模型,类似地detection领域最近不少好的工作,也从DETR的架构中获益匪浅。
© THE END
评论