Auto Byte

专注未来出行及智能汽车科技

微信扫一扫获取更多资讯

Science AI

关注人工智能与其他前沿技术、基础学科的交叉研究与融合发展

微信扫一扫获取更多资讯

原作者带队,LSTM卷土重来之Vision-LSTM出世

与 DeiT 等使用 ViT 和 Vision-Mamba (Vim) 方法的模型相比,ViL 的性能更胜一筹。

AI 领域的研究者应该还记得,在 Transformer 诞生后的三年,谷歌将这一自然语言处理届的重要研究扩展到了视觉领域,也就是 Vision Transformer。后来,ViT 被广泛用作计算机视觉中的通用骨干。

这种跨界,对于前不久发布的 xLSTM 来说同样可以实现。最近,享誉数十年的 LSTM 被扩展到一个可扩展且性能良好的架构 ——xLSTM,通过指数门控和可并行化的矩阵内存结构克服了长期存在的 LSTM 限制。现在,这一成果已经扩展到视觉领域。

图片

xLSTM和 Vision-LSTM 两项研究均由 LSTM 原作者带队,也就是 LSTM 的提出者和奠基者 Sepp Hochreiter

在最近的这篇论文中,Sepp Hochreiter 等人推出了 Vision-LSTM(ViL)。ViL 包含一堆 xLSTM 块,其中奇数块从上到下、偶数块则从下到上处理补丁 token 序列。

图片

  • 论文题目:Vision-LSTM: xLSTM as Generic Vision Backbone

  • 论文链接:https://arxiv.org/abs/2406.04303

  • 项目链接: https://nx-ai.github.io/vision-lstm/

正如 xLSTM 诞生之时,作者希望新架构能够撼动 Transformer 在语言模型领域的江山。这一次,闯入视觉领域的 Vision-LSTM 也被寄予厚望。

研究者在论文中表示:「我们的新架构优于基于 SSM 的视觉架构,也优于 ImageNet-1K 分类中的优化 ViT 模型。值得注意的是,在公平的比较中,ViL 的表现优于经过多年参数调整和 Transformer 改进的 ViT 训练 pipeline。」

对于需要高分辨率图像以获得最佳性能的任务,如语义分割或医学成像, ViL 极具应用潜力。在这些情况下,Transformer 因自注意力的二次复杂性而导致计算成本较高,而 ViL 的线性复杂性不存在这种问题。研究者还表示,改进预训练方案(如通过自监督学习)、探索更好的参数设置或从 Transformer 中迁移技术(如 LayerScale )都是 ViL 的可探索方向。

ViT 与 ViL

语言建模架构 —— 如 Transformer 或最近的状态空间模型 Mamba,通常被应用到计算机视觉领域,以利用它们强大的建模能力。

然而,在自然语言处理中,通过离散词汇表(Discrete vocabulary),输入的句子通常被编码成代表词或常见子词的 token。

为了将图像编码成一组 token,Vision Transformer(ViT)提出将输入图像分组成非重叠的补丁(例如 16x16 像素),将它们线性投影成所谓的补丁 token 序列,并向这些 token 添加位置信息。

然后,这个序列就可以被语言建模架构处理了。

扩展长短期记忆(xLSTM)最近被引入作为一种新的语言建模架构,可以说是 LSTM 在 LLM 时代的复兴,与 Transformer 和状态空间模型(SSMs)等相媲美。

现有的 Transformer 或状态空间模型的视觉版本,例如 ViT 或 Vision Mamba,已经在各种计算机视觉任务中取得了巨大成果。

使用 xLSTM 作为核心组建的 ViL 使用简单的交替设计,从而可以有效地处理非序列输入(如图像),而无需引入额外的计算。

类似于 SSMs 的视觉适应,ViL 展示了关于序列长度的线性计算和内存复杂度,这使得它在高分辨率图像的任务中展现极佳的作用,如医学成像、分割或物理模拟。

相比之下,ViT 的计算复杂度由于自注意力机制而呈二次方增长,使得它们在应用于高分辨率任务时成本高昂。

交替 mLSTM 块并行

Vision-LSTM(ViL)是一个用于计算机视觉任务的通用骨干,它从 xLSTM 块残差构建,如图 1 所示。

图片

与 ViT 类似,ViL 首先通过共享线性投影将图像分割成非重叠的补丁,然后向每个补丁 token 添加可学习的定位嵌入。ViL 的核心是交替的 mLSTM 块,它们是可完全并行化的,并配备了矩阵内存和协方差更新规则。

奇数 mLSTM 块从左上到右下处理补丁 token,而偶数块则从右下到左上。

ImageNet-1K 实验

研究团队在 ImageNet-1K 上进行了实验:它包含 130 万张训练图像和 5 万张验证图像,每张图像属于 1000 个类别之一。

对比实验集中在使用序列建模骨干的模型上,而该模型在大致相当的参数数量上是可比较的。

他们在 224x224 分辨率上训练 ViL 模型,使用余弦衰减调度,1e-3 的学习率训练了 800 个周期(tiny, tiny+)或 400 个周期(small, small+, base),具体见下方表 5.

图片

为了对 Vision Mamba(Vim)进行公平比较,研究人员向模型内添加了额外的块以匹配 tiny 和小型变体(分别表示为 ViL-T + 和 ViL-S+)的参数数量。

需要注意的是,由于 ViL 以交替的方式遍历序列,而 Vim 则在每个块中遍历序列两次,因此 ViL 所需的计算量远少于 Vim。

尽管 Vim 使用了优化的 CUDA 内核(而 mLSTM 目前还没有这样的内核),但这仍然成立,并且会进一步加速 ViL 的速度。

如表 4 所示的运行时间对比,在其中两项的比较重,ViL 比 Vim 快了 69%。

图片

新秀 ViL 相比于 ViTs 如何?

虽然 ViL 首次出场,但仍是展现了极佳的潜力。

由于 ViTs 在视觉社区中已经得到了广泛的认可,它们在过去几年经历了多次优化周期。

因为这项工作是首次将 xLSTM 应用于计算机视觉,研究人员并不期望在所有情况下都超过 ViTs 多年的参数调整。

即便如此,表 1 中的结果显示,ViL 在小规模上相比于经过大量优化的 ViT 协议(DeiT, DeiT-II, DeiT-III)仍是显示出较良好的结果,其中只有训练时间是 ViL-S 两倍的 DeiT-III-S 表现略好一点。

在「base」规模上,ViL 超越了最初的 ViT 模型,并取得了与 DeiT 相当的结果。

需要注意的是:由于在这个规模上训练模型的成本很高,ViL-B 的参数远非最佳。作为参考,训练 ViL-B 大约需要 600 个 A100 GPU 小时或在 32 个 A100 GPU 上的 19 个小时。

图片

通过在「长序列微调」设置中微调模型,性能可以进一步提高,该设置通过使用连续补丁 token 之间 50% 的重叠,将序列长度增加到 729,对模型进行 30 个周期的微调。

尽管没有利用卷积固有的归纳偏置,ViL 还是展现出了与基于 CNN 的模型(如 ConvNeXt)相当的性能。

块设计

该团队研究了设计 ViL 块的不同方式,如图 2 所示。

  •  普通且单向的 xLSTM 块未能达到期待的性能,因为 xLSTM 的自回归性质并不适合图像分类

  •  以双向方式遍历块 —— 即在每个块中引入第二个 mLSTM 层,该层向后遍历序列(类似于 Vim),提高了性能,但也需要更多的参数和 FLOPS。

  •  共享前向和后向 mLSTM 的参数使模型在参数上更高效,但仍然需要更多的计算并超载这些参数,而这最终也会导致性能下降。

  •  使用交替块在保持计算和参数效率的同时提高了性能。

该团队还探索了四向设计,这指的是按行(两个方向)和按列(两个方向)遍历序列。双向仅按行遍历序列(两个方向)。

图 2 可视化了不同的遍历路径。

图片

由于双向和四向块的成本增加,这项研究是在设置大幅减少的条件中进行的。

研究人员在 128x128 分辨率下,对包含仅来自 100 个类别的样本的 ImageNet-1K 的一个子集进行 400 个周期的训练。这是特别必要的,因为四向实现方法与 torch.compile(来自 PyTorch 的一个通用速度优化方法)不兼容,这会导致更长的运行时间,如表 2 最后一列所示。

由于此技术限制,该团队最终了选择交替双向块作为核心设计。

图片

分类设计

为了使用 ViT 进行分类,需要将 token 序列汇集成一个 token,然后将其作为分类头的输入。

最常见的汇集方法是:(i) 在序列的开头添加一个可学习的 [CLS] token,或 (ii) 平均所有补丁 token,生成一个 [AVG] token。使用 [CLS] 还是 [AVG] token 通常是一个参数,两种变体的性能相当。相反,自回归模型通常需要专门的分类设计。例如,Vim 要求 [CLS] token 位于序列的中间,如果采用其他分类设计,如 [AVG] token 或在序列的开始和结束处使用两个 [CLS] token,则会造成严重的性能损失。

基于 ViL 的自回归特性,研究者在表 3 中探讨了不同的分类设计。

图片

[AVG] 是所有补丁 token 的平均值,「Middle Patch 」使用中间的补丁 token,「Middle [CLS]」使用序列中间的一个 [CLS] token,「Bilateral [AVG]」使用第一个和最后一个补丁 token 的平均值。

可以发现的是, ViL 分类设计相对稳健,所有性能都在 0.6% 以内。之所以选择 「Bilateral [AVG]」而不是 「Middle [CLS]」,因为 ImageNet-1K 有中心偏差,即物体通常位于图片的中间。通过使用 「Bilateral [AVG]」,研究者尽量避免了利用这种偏差,从而使模型更具通用性。

为了与之前使用单个 token 作为分类头输入的架构保持可比性,研究者对第一个和最后一个 token 进行了平均处理。为了达到最佳性能,建议将两个标记合并(「Bilateral Concat」),而不是取平均值。

这类似于 DINOv2 等自监督 ViT 的常见做法,这些是通过分别附加在 [CLS] 和 [AVG] token 的两个目标来进行训练的,因此可以从连接 [CLS] 和 [AVG] token 的表征中获益。视觉 SSM 模型也探索了这一方向,即在序列中分散多个 [CLS] token,然后将其作为分类器的输入。此外,类似的方向也可以提高 ViL 的性能。

更多研究细节,请参考原论文。

产业Sepp HochreiterVision-LSTM
相关数据
Sepp Hochreiter人物

Sepp Hochreiter 是一名德国计算机科学家。 1991 年,Sepp Hochreiter 发表了德语论文,探讨了循环神经网络的梯度随着序列长度增加倾向于消失或爆炸。与 Yoshua Bengio 的相关工作几乎同时,并且开发了 LSTM 的雏形。

相关技术
图像分割技术

图像分割就是把图像分成若干个特定的、具有独特性质的区域并提出感兴趣目标的技术和过程。它是由图像处理到图像分析的关键步骤。现有的图像分割方法主要分以下几类:基于阈值的分割方法、基于区域的分割方法、基于边缘的分割方法以及基于特定理论的分割方法等。从数学角度来看,图像分割是将数字图像划分成互不相交的区域的过程。图像分割的过程也是一个标记过程,即把属于同一区域的像索赋予相同的编号。

调度技术

调度在计算机中是分配工作所需资源的方法。资源可以指虚拟的计算资源,如线程、进程或数据流;也可以指硬件资源,如处理器、网络连接或扩展卡。 进行调度工作的程序叫做调度器。调度器通常的实现使得所有计算资源都处于忙碌状态,允许多位用户有效地同时共享系统资源,或达到指定的服务质量。 see planning for more details

自注意力技术

自注意力(Self-attention),有时也称为内部注意力,它是一种涉及单序列不同位置的注意力机制,并能计算序列的表征。自注意力在多种任务中都有非常成功的应用,例如阅读理解、摘要概括、文字蕴含和语句表征等。自注意力这种在序列内部执行 Attention 的方法可以视为搜索序列内部的隐藏关系,这种内部关系对于翻译以及序列任务的性能非常重要。

参数技术

在数学和统计学裡,参数(英语:parameter)是使用通用变量来建立函数和变量之间关系(当这种关系很难用方程来阐述时)的一个数量。

学习率技术

在使用不同优化器(例如随机梯度下降,Adam)神经网络相关训练中,学习速率作为一个超参数控制了权重更新的幅度,以及训练的速度和精度。学习速率太大容易导致目标(代价)函数波动较大从而难以找到最优,而弱学习速率设置太小,则会导致收敛过慢耗时太长

超参数技术

在机器学习中,超参数是在学习过程开始之前设置其值的参数。 相反,其他参数的值是通过训练得出的。 不同的模型训练算法需要不同的超参数,一些简单的算法(如普通最小二乘回归)不需要。 给定这些超参数,训练算法从数据中学习参数。相同种类的机器学习模型可能需要不同的超参数来适应不同的数据模式,并且必须对其进行调整以便模型能够最优地解决机器学习问题。 在实际应用中一般需要对超参数进行优化,以找到一个超参数元组(tuple),由这些超参数元组形成一个最优化模型,该模型可以将在给定的独立数据上预定义的损失函数最小化。

注意力机制技术

我们可以粗略地把神经注意机制类比成一个可以专注于输入内容的某一子集(或特征)的神经网络. 注意力机制最早是由 DeepMind 为图像分类提出的,这让「神经网络在执行预测任务时可以更多关注输入中的相关部分,更少关注不相关的部分」。当解码器生成一个用于构成目标句子的词时,源句子中仅有少部分是相关的;因此,可以应用一个基于内容的注意力机制来根据源句子动态地生成一个(加权的)语境向量(context vector), 然后网络会根据这个语境向量而不是某个固定长度的向量来预测词。

计算机视觉技术

计算机视觉(CV)是指机器感知环境的能力。这一技术类别中的经典任务有图像形成、图像处理、图像提取和图像的三维推理。目标识别和面部识别也是很重要的研究领域。

自然语言处理技术

自然语言处理(英语:natural language processing,缩写作 NLP)是人工智能和语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。

语义分割技术

语义分割,简单来说就是给定一张图片,对图片中的每一个像素点进行分类。图像语义分割是AI领域中一个重要的分支,是机器视觉技术中关于图像理解的重要一环。

自回归模型技术

自回归模型,是统计上一种处理时间序列的方法,自回归模型被广泛运用在经济学、资讯学、自然现象的预测上。

图像分类技术

图像分类,根据各自在图像信息中所反映的不同特征,把不同类别的目标区分开来的图像处理方法。它利用计算机对图像进行定量分析,把图像或图像中的每个像元或区域划归为若干个类别中的某一种,以代替人的视觉判读。

语言模型技术

语言模型经常使用在许多自然语言处理方面的应用,如语音识别,机器翻译,词性标注,句法分析和资讯检索。由于字词与句子都是任意组合的长度,因此在训练过的语言模型中会出现未曾出现的字串(资料稀疏的问题),也使得在语料库中估算字串的机率变得很困难,这也是要使用近似的平滑n元语法(N-gram)模型之原因。

自监督学习技术

一个例子中的内容特别多,而用一个例子做一个任务,就等于把其他的内容浪费了,因此我们需要从一个样本中找出多个任务。比如说遮挡图片的一个特定部分,用没遮挡部分来猜遮挡的部分是一个任务。那么通过遮挡不同的部分,就可以用一个样本完成不同任务。Yann Lecun描述的这个方法被业界称作「自监督学习」

推荐文章
暂无评论
暂无评论~