17篇注意力机制PyTorch实现,包含MLP、Re-Parameter系列热门论文
公众号关注 “ML_NLP”
设为 “星标”,重磅干货,第一时间送达!
注意力(Attention)机制最早在计算机视觉中应用,后来又在 NLP 领域发扬光大,该机制将有限的注意力集中在重点信息上,从而节省资源,快速获得最有效的信息。
2014 年,Google DeepMind 发表《Recurrent Models of Visual Attention》,使注意力机制流行起来;2015 年,Bahdanau 等人在论文《Neural Machine Translation by Jointly Learning to Align and Translate》中,将注意力机制首次应用在 NLP 领域;2017 年,Google 机器翻译团队发表的《Attention is All You Need》中,完全抛弃了 RNN 和 CNN 等网络结构,而仅仅采用注意力机制来进行机器翻译任务,并且取得了很好的效果,注意力机制也因此成了研究热点。
Pytorch 实现论文「Beyond Self-attention: External Attention using Two Linear Layers for Visual Tasks---arXiv 2020.05.05」
Pytorch 实现论文「Attention Is All You Need---NIPS2017」
Pytorch 实现论文「Simplified Self Attention Usage」
Pytorch 实现论文 「Squeeze-and-Excitation Networks---CVPR2018」
Pytorch 实现论文「Selective Kernel Networks---CVPR2019」
Pytorch 实现论文「CBAM: Convolutional Block Attention Module---ECCV2018」
Pytorch 实现论文「BAM: Bottleneck Attention Module---BMCV2018」
Pytorch 实现论文「ECA-Net: Efficient Channel Attention for Deep Convolutional Neural Networks---CVPR2020」
Pytorch 实现论文「Dual Attention Network for Scene Segmentation---CVPR2019」
Pytorch 实现论文「EPSANet: An Efficient Pyramid Split Attention Block on Convolutional Neural Network---arXiv 2020.05.30」
Pytorch 实现论文 「ResT: An Efficient Transformer for Visual Recognition---arXiv 2020.05.28」
Pytorch 实现论文「RepMLP: Re-parameterizing Convolutions into Fully-connected Layers for Image Recognition---arXiv 2020.05.05」
Pytorch 实现论文「MLP-Mixer: An all-MLP Architecture for Vision---arXiv 2020.05.17」
Pytorch 实现论文「ResMLP: Feedforward networks for image classification with data-efficient training---arXiv 2020.05.07」
Pytorch 实现论文「Pay Attention to MLPs---arXiv 2020.05.17」
Pytorch 实现论文「RepVGG: Making VGG-style ConvNets Great Again---CVPR2021」
Pytorch 实现论文「ACNet: Strengthening the Kernel Skeletons for Powerful CNN via Asymmetric Convolution Blocks---ICCV2019」
from attention.ExternalAttention *import* ExternalAttention
import torch
input=torch.randn(50,49,512)
ea = ExternalAttention(d_model=512,S=8)
output=ea(input)
print(output.shape)