2021年6月6日提交到arxiv上的文章。ICCV2021的Eformer就是Uformer基础上改进而来,看来还是值得一读,简单记录下。
架构如图:
比起普通的UNet,不同之处在于采用了LeWin Transformer,这种Transformer也是本工作的创新点。
所谓LeWin Transformer,就是local-enhanced window Transformer,其中包含W-MSA和LeFF:
W-MSA:non-overlapping window-based self-attention,作用是减小计算开销(传统transformer是在全局计算self-attention,而它不是);
LeFF:传统transformer中采用前馈神经网络,不能很好利用local context,LeFF的采用可以capture local information。
⚠️两个创新点:
提出LeWin Transformer,引入UNet
三种跳跃连接
W-MSA
(本以为这是Uformer发明的,经提醒,swin Transformer里就有)
首先将将C×H×W的X分为N个C×M×M个patch,每个patch视为有M×M个C维vector(N = H × W / M²),这C个vector就输入W-MSA中。根据上述公式,简单理解就是将X分为不重叠的N片,然后对每一片进行self-attention的计算即可。
作者表示,虽说是在一片上进行self-attention的计算,但是在UNet的encode阶段,由于下采样的存在,所以在这一片上计算自注意力,对应在下采样前更大感受野上计算自注意力。
采用了relative position encoding,所以计算公式可以表示为:
这种位置编码的引用[48,41]分别是:
[48] Peter Shaw, Jakob Uszkoreit, and Ashish Vaswani. Self-attention with relative position representations. arXiv preprint arXiv:1803.02155, 2018.
[41] Ze Liu, Yutong Lin, Yue Cao, Han Hu, Yixuan Wei, Zheng Zhang, Stephen Lin, and Baining Guo. Swin transformer: Hierarchical vision transformer using shifted windows. arXiv preprint arXiv:2103.14030, 2021.
LeFF
LeFF是Incorporating Convolution Designs into Visual Transformers发明的,其中的Convolution-enhanced image Transformer (CeiT)包含了这个设计。
精髓在于对self-attention计算模块输出的N个token(vector),重新排列为
的“image”,然后进行depth-wise的卷积操作。看完CeiT作者给出的图解,再看Uformer作者给出的图解,就不难理解含义了:
每个线性层/卷积层之后,用的都是GELU激活函数。(depth-wise的卷积网上一搜就有,作用是减少参数,提升计算速度)
三种跳跃连接
UNet架构是有跳跃连接的,在本工作中就是将encoder部分的Transformer的输出传递到decoder部分,但是利用这些跳跃连接传递的信息的方式有很多种,作者探索了三种:
- 第一种是直接concat过来;
- 第二种是:每一个decode stage有一个上采样和两个Transformer block,意思是第一个用self-attention,第二个用cross attention;
- 第三种是concat的信息作为key和value的cross attention。
作者认为三种差不多,但第一种好一点点,所以采用第一种作为Uformer的默认设置。
Uformer的主要创新点就这些,其他内容不细看了。
既然LeWin Transformer中的W-MSA主打减小计算开销,那么自然要看下算法复杂度:
给定feature map X,维度为C×H×W,如果是传统的self-attention,那么复杂度为
,分割为M×M的patch再做self-attention,则是
,复杂度有所减少。
作者做了去噪、去雨、去模糊的实验。
作者:umbrellalalalala
|关于深延科技|
深延科技成立于2018年,是深兰科技(DeepBlue)旗下的子公司,以“人工智能赋能企业与行业”为使命,助力合作伙伴降低成本、提升效率并挖掘更多商业机会,进一步开拓市场,服务民生。公司推出四款平台产品——深延智能数据标注平台、深延AI开发平台、深延自动化机器学习平台、深延AI开放平台,涵盖从数据标注及处理,到模型构建,再到行业应用和解决方案的全流程服务,一站式助力企业“AI”化。