PyTorch-MLP
文章平均质量分 83
HHzdh
我爱读书
展开
-
(ConvMixer)Patches Are All You Need?
摘要尽管多年来卷积网络一直是视觉任务的主要架构,但最近的实验表明,基于Transformer的模型,尤其是vision Transformer (ViT),在某些设置下可能会超过它们的性能。然而,由于Transformer 中自注意层的二次方运行时间(因为加入以单像素作为一个token,如果在每像素级别上应用 Transformer 中的自注意力层,它的计算成本将与每张图像的像素数成二次方扩展),ViT需要使用patch嵌入,将图像中的小区域组合成单个输入特征,以便应用于更大的图像尺寸。...原创 2021-11-11 20:11:56 · 3018 阅读 · 0 评论 -
ASMLP: An Axial Shifted MLP Architecture for Vision
本文也是通过偏移操作来提高局部信息提取能力,具体将偏移通过每个feature map沿H和W方向分别偏实现。此外,结构上引入了深细结构,分析上类比卷积感受野做分析(图3)。Abstract本文提出了一种轴向移位MLP结构(AS-MLP)。与MLP-Mixer中通过矩阵转置和一个token-mixing MLP对信息流进行全局空间特征编码不同,我们更关注局部特征通信。通过对特征图的通道进行轴向移动,AS-MLP能够获得来自不同轴向的信息流,从而捕获局部依赖关系。这样的操...原创 2021-11-08 14:40:57 · 1813 阅读 · 0 评论 -
(CCS-MLP)Rethinking Token-Mixing MLP for MLP-based Vision Backbone
本文改进MLP-Mixer的TM,提出一种循环特定通道模块,其分为循环和通道特定两部分。循环指的是将权重矩阵用向量+循环平移的方法实现,好处是提升模型的空间平移性能;通道特定指的是分组做CM,原来的CM是权值共享的,具有通道不变性,改成分组后就引入了些通道特殊性。Abstract在过去的十年里,我们见证了机器视觉框架的快速发展。卷积神经网络(CNN)通过引入图像处理中的归纳偏差,在众多的计算机视觉任务中取得了优异的性能,并已成为主流框架。近年来,受Transforme...原创 2021-10-22 23:44:46 · 810 阅读 · 0 评论 -
S2-MLP v2: Improved Spatial-Shift MLP Architecture for Vision
引入多分支处理的思想,并应用 Split-Attention 来融合不同分支。 受现有工作的启发,使用更小的 patch 和分层金字塔结构。 扩增偏移的种类Abstract最近,基于MLP的视觉框架出现了。基于MLP的视觉网络结构在图像识别方面具有较低的inductive bias,与CNN和vision Transformers相比具有较强的性能。其中空间移位MLP (S2-MLP)采用直截了当的空间移位操作,其性能优于MLP-Mixer和ResMLP等开创性结构。最近,通过使...原创 2021-10-21 17:03:55 · 2478 阅读 · 0 评论 -
S2-MLP: Spatial-Shift MLP Architecture for Vision
Abstract最近,Visual Transformer (ViT)及其后续作品放弃了卷积,采用了自注意运算,达到了与CNN相当甚至更高的精度。最近,MLP-Mixer放弃了卷积和自注意操作,提出了一个只包含MLP层的架构。为了实现跨patch communication,在channel-mixing MLP的基础上,设计了一个额外的token-mixing MLP。当在极其大规模的数据集上进行训练时,它获得了很好的结果。但在ImageNet1K和ImageNet21K等中等规模...原创 2021-10-21 15:38:39 · 1760 阅读 · 2 评论 -
RaftMLP: Do MLP-based Models Dream of Winning Over Computer Vision?
Abstract在过去的十年里,CNN一直是计算机视觉领域的霸主,但最近,Transformer正在崛起。然而,自注意的二次计算代价已成为实践中的一个严重问题。在这种背景下,已经有很多关于没有CNN和自我注意的架构的研究。特别是,MLP-Mixer是使用MLP设计的一个简单的想法,却达到了可与Vision Transformer相媲美的精度。然而,该体系结构中唯一的归纳偏差是token的嵌入。因此,仍然有可能在架构本身中构建一个非卷积的归纳偏差,我们使用两个简单的想法来构建归纳偏差。一种...原创 2021-10-19 17:57:31 · 285 阅读 · 0 评论 -
Feed-Forward Layers
论文解读:Do You Even Need Attention? 开源代码:Do You Even Need Attention? 由于我还没接触transformer框架(占个坑,后面补充),故仅对文中提到的Feed-Forward层进行分析,后续再对该开源代码的整体进行分析。 文中提到了应用在patch维度上的前馈层取代了 vision transformer 中的注意层,由此产生的架构只是一系列以交替方式应用于patch和特征维度的前馈层。在图中可以看到...原创 2021-10-19 10:37:25 · 1375 阅读 · 0 评论 -
resMLP的PyTorch代码和分析
1、导入相关功能包import torchfrom torch import nnfrom torchsummary import summaryfrom tensorboardX import SummaryWriter2、定义Affine模块初始化α=1, β=0。class Affine(nn.Module): def __init__(self, channel): super().__init__() s...原创 2021-10-18 23:52:10 · 1727 阅读 · 1 评论 -
(ResMLP)ResMLP: Feedforward networks for imageclassification with data-efficient training
摘要我们提出了基于多层感知器的图像分类体系结构ResMLP。它是一种简单的残差网络,它可以(i)替代一个线性层,其中图像patch在各个通道之间独立而相同地相互作用,以及(ii)替代一个两层前馈网络,其中每个通道在每个patch之间独立地相互作用。当使用大量数据增强和选择性蒸馏的现代训练策略进行训练时,它在ImageNet上获得了惊人的准确性/复杂性。我们将基于Timm库和预先训练过的模型共享我们的代码。1 Introduction最近,transformer架构...原创 2021-10-18 22:14:28 · 1231 阅读 · 0 评论 -
gMLP的PyTorch实现与分析
1、导入相关库函数import torchfrom torch import nnfrom torch.nn import functional as Ffrom torchsummary import summaryfrom tensorboardX import SummaryWriter2、Spatial Gating Unit模块设计根据上图的Pseudo-code中的spatial_gating_uint(x)函数,以及文献中的公式(6),大致思路是:...原创 2021-10-17 12:38:53 · 1781 阅读 · 0 评论 -
(gMLP)Pay Attention to MLPs
摘要Transformers已经成为深度学习领域最重要的架构创新之一,并在过去几年实现了许多突破。在这里,我们提出了一个简单的无注意(attention-free)的网络架构,gMLP,仅基于mlp与门控,并表明它可以在关键语言和视觉应用领域和Transformers一样好。我们的比较表明,自我关注对vision transformers来说并不重要,因为gMLP可以达到同样的精度。在gMLP表现较差的微调任务中,让gMLP模型大幅变大可以缩小与transformer之间的差距。总的来说...原创 2021-10-17 10:03:11 · 2014 阅读 · 0 评论 -
Do You Even Need Attention? A Stack of Feed-Forward Layers Does Surprisingly Well on ImageNet
摘要Transformers在图像分类和其他视觉任务上的强大性能往往归功于multi-head attention layers层的设计。然而,这种强劲表现在多大程度上是由注意力引起的,目前还不清楚。在这篇简短的报告中,我们要问:注意力层有必要吗?具体来说,我们用patch dimension的前馈层替换Transformers中的注意力层。最终的体系结构只是一系列以交替方式应用于patch和feature维度的前馈层。在ImageNet上的实验中,该体系结构表现惊人地好:ViT/Dei...原创 2021-10-16 20:56:15 · 926 阅读 · 0 评论 -
MLP-Mixer的Pytorch实现和分析(二)
model = MLPMixer(in_channels=3, dim=512, num_classes=1000, patch_size=16, image_size=224, depth=1, token_dim=256, channel_dim=2048).to(device) summary(model,(3,224,224))首先参数意义如下(输入图片为3*224*224):in_channels:输入图片的通道数,3。 dim:卷积操.原创 2021-10-16 20:09:47 · 962 阅读 · 0 评论 -
MLP-Mixer的Pytorch实现和分析(一)
MLP-Mixer网络结构分析:MLP-Mixer: An all-MLP Architecture for Vision_HHzdh的博客-CSDN博客 Mixer的Pytorch代码实现的难点在于矩阵旋转,我们使用einops中的Rearrange实现矩阵旋转,同时使用torchsummary和tensorboardX来查看网络结构。1、导入相关库import torchimport torch.nn as nnfrom torchsumma...原创 2021-10-16 18:37:50 · 2662 阅读 · 0 评论 -
MLP-Mixer: An all-MLP Architecture for Vision
摘要卷积神经网络(cnn)是计算机视觉的首选模型。最近,以注意力为基础的网络,如Vision Transformer也开始流行起来。在本文中,我们证明卷积和注意力对于良好的性能都是足够的,但它们都不是必要的。我们提出了MLP-Mixer,一个专门基于多层感知器(MLPs)的架构。MLP-Mixer包含两种类型的层:一种是独立应用于图像斑块的MLPs(即“混合”每个位置的特征),另一种是跨斑块应用的mlp(即“混合”空间信息)。在大数据集上或使用现代正则化方案进行训练时,MLP-Mixer...原创 2021-10-16 12:53:11 · 3161 阅读 · 2 评论