论文地址
-------------------------------------以下文章参考自----------------------------------
1、CMT: Convolutional Neural Networks Meet Vision Transformers(CVPR 2022,CMT)华为诺亚方舟实验室
提出一种新型视觉网络架构CMT,通过简单的结合传统卷积和Transformer,获得的网络性能优于谷歌提出的EfficientNet,ViT和MSRA的Swin Transformer。论文以多层次的Transformer为基础,在网络的层与层之间插入传统卷积,旨在通过卷积+全局注意力的方式层次化提取图像局部和全局特征。简单有效的结合证明在目前的视觉领域,使用传统卷积是提升模型性能的最快方法。
2、Conformer: Convolution-augmented Transformer for Speech Recognition(2020,Conformer)
基于transformer和卷积神经网络cnn的模型在ASR上已经达到了较好的效果,都要优于RNN的效果。Transformer能够捕获长序列的依赖和基于内容的全局交互信息,CNN则能够有效利用局部特征。因此Conformer: Convolution-augmented Transformer for Speech Recognition(2020,Conformer)将transformer和cnn结合起来,对音频序列进行局部和全局依赖都进行建模,针对语音识别问题提出了卷积增强的transformer模型,称为conformer,模型性能比transformer和cnn都要好,成为了新的sota(当年)。
本文提出了一种新的self-attention和cnn结合起来的方式,在两方面都实现了最佳的效果:self-attention学习全局交互,cnn学习基于相对位置偏移的局部相关性,并将二者以sandwiched的方式结合起来,夹到一对前馈神经网络模块之间,模型结构如下图所示。提出的模型称为conformer,由两个macaron style(即feed-forward在两端,中间是multi-head self attention和convolution)的feed-forward的残差结构和multi-head self attention、convolution连接组成,后面跟着layernorm层进行归一化。
3、End-to-End Object Detection with Transformers(ECCV 2020,DERT)
End-to-End Object Detection with Transformers(ECCV 2020,DERT)提出DERT模型,引入Transformer做目标检测任务。本文提出set prediction的方法解决目标检测任务,通过让模型预测N个元素(每个元素表示是否有目标,有目标的话预测目标的类别和位置),其中N大于图像中真正包含的目标,让这预测出来的N个结果和ground truth做一个匹配计算loss。这部分的细节感兴趣的同学可以阅读原文,我们下面主要介绍DERT的模型结构。DERT的目标是输入N个预测结果来和ground truth做匹配,采用了CNN+Transformer Encoder+Transformer Decoder的模型架构。输入图像维度为[3, W, H],首先利用CNN提取feature map,得到[C, W’, H’]的高阶表示。然后利用1*1的卷积将第一维进行压缩后,组成可以输入到Transformer模型中的2维序列数据,同时引入每个区块的position embedding和feature map对应进行拼接后输入到Encoder中,输入到Transformer Encoder中的维度为[d, W’*H’]。Transformer Encoder的输出会进入到Decoder中,Decoder的输入也为可训练的N个position embedding,对应预测N个目标检测结果。最终N的输出分别进行FFN进行最终结果预测。
4、Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions(ICCV 2021,PVT)
Pyramid Vision Transformer: A Versatile Backbone for Dense Prediction without Convolutions(ICCV 2021,PVT)提出了适用于像素级图像任务的Transformer模型(需要对每个像素点预测一个label)。之前的VIT将图像分成了patch,导致输出的结果分辨率较低,并且Transformer模型的计算开销随着序列长度增长而变大,直接应用像素级别的预测任务会导致计算和内存消耗暴涨。因此VIT还只适用于图像分类任务。为了解决上述问题,本文提出了将Pyramid CNN的思路引入Transformer,通过将初始分辨率调高,并逐层降低分辨率的方式,捕捉更细粒度信息,同时降低运行开销。PVT将模型分成4个阶段,每个阶段模型都会由patch embedding+Transformer组成,区别在于每层输出的分辨率是逐层降低的,从44的高分辨率逐渐变成3232的低分辨率,适用于各种任务。
5、比较特殊的一篇文章:基于MLP的TiDE模型,未使用注意力机制、CNN和RNN
继之前针对Transformer在时间序列预测中真的有效吗、使用MLP打败复杂模型等研究后,谷歌在最佳发表了一篇最新的时间序列预测工作,Long-term Forecasting with TiDE: Time-series Dense Encoder(2023)提出了TiDE模型,整个模型没有任何注意力机制、RNN或CNN,完全由全连接组成。
模型整体可以分为Feature Projection、Dense Encoder、Dense Decoder、Temporal Decoder四个部分。
Feature Projection将外部变量映射到一个低维向量,使用Residual Block实现,主要目的是对外部变量进行降维。
Dense Encoder部分将历史序列、属性信息、外部变量映射的低维向量拼接到一起,使用多层Residual Block对其进行映射,最终得到一个编码结果e。
Dense Decoder部分将e使用同样的多层Residual Block映射成g,并将g进行reshape成一个[p, H]的矩阵。其中H对应的是预测窗口的长度,p是Decoder输出维度,相当于预测窗口每个时刻都得到一个向量。
Temporal Decoder将上一步的g和外部变量x按照时间维度拼接到一起,使用一个Residual Block进行每个时刻的输出结果映射,后续会加入历史序列的直接映射结果做一个残差连接,得到最终的预测结果。
Swin Transformer
视频讲解:Swin Transformer论文精讲及其PyTorch逐行复现_哔哩哔哩_bilibili
笔记推荐:https://blog.csdn.net/qq_45122568/article/details/124659955
----------------------------------以上文章参考自-------------------------------------