社区计算机视觉课程文档

土狼

Hugging Face's logo
加入 Hugging Face 社区

并获取增强型文档体验

开始使用

土狼

概述

什么是土狼

虽然 Transformer 是一种成熟且功能强大的架构,但二次计算成本代价高昂,尤其是在推理时。

土狼是一种新型运算符,用作注意力机制的替代品。它由 Hazy Research 开发,具有二次计算效率,通过交织隐式参数化长卷积和数据控制门控来构建。

长卷积类似于标准卷积,只是内核的大小与输入的大小相同。它等效于拥有全局感受野而不是局部感受野。隐式参数化卷积意味着卷积滤波器的值不是直接学习的,而是学习可以恢复这些值的函数。

门控机制控制信息在网络中流动的路径。它们有助于定义应记住信息的时间长短。通常它们包含逐元素乘法。有关门控的有趣博客文章可以找到 这里

transformer2hyena.png 土狼运算符通过一次递归地计算卷积和逐元素乘法门控运算,直到所有投影都耗尽,从而构建起来。这种方法建立在由同一位研究人员开发的 饥饿的河马 (H3) 机制之上。H3 机制以其数据控制的参数分解为特征,充当替代注意力机制。

理解土狼的另一种方式是将其视为 H3 层的泛化,适用于任意数量的投影,其中土狼层递归地扩展 H3,并为长卷积选择了不同的参数化方式。 hyena_recurence.png

从注意力到土狼运算符

注意力机制以两个基本特性为特征

  1. 它拥有全局上下文感知能力,使它能够评估序列中视觉标记对之间的交互。
  2. 它是数据相关的,这意味着注意力方程的运算会根据输入数据本身(特别是输入投影)而变化qq,kk,vv.

Alt text

注意力机制由三个投影定义:查询qq,键kk,值vv,它们是通过将输入视觉标记乘以三个矩阵生成的WqW_q,WkW_kWvW_v在训练期间学习。

对于给定的视觉标记,我们可以使用这些投影计算注意力分数。注意力分数决定了对输入图像其他部分的关注程度。
有关注意力的详细说明,可以参考此 插图博客文章

为了复制这些特性,土狼运算符包含两个关键元素

  1. 它使用长卷积来提供全局上下文的感知,类似于注意力机制的第一个属性。
  2. 对于数据依赖性,土狼使用逐元素门控。这本质上是输入投影的逐元素乘法,反映了传统注意力的数据依赖性本质。

在计算效率方面,土狼运算符的评估时间复杂度为O(L×log2LO(L \times \log_2 L),表明处理速度有了显着提升。

Hyena 算子

让我们深入探讨 Hyena 算子的二阶递归,为了说明目的,它简化了表示。hyena_mechanism.png

在这个顺序中,我们计算 3 个类似于qq,kkvv来自注意力机制的注意力向量。

但是,与通常使用单个密集层将输入序列投影到表示中的注意力机制不同,Hyena 结合了密集层和标准卷积,这些卷积在每个通道上执行(称为TqT_q,TkT_kTvT_v在模式图中,但实际上是显式卷积)。softmax 函数也被丢弃。

核心思想是反复对一个输入序列应用线性算子,这些算子计算速度快uRLu \in \mathbb{R}^{L}其中LL是序列的长度。由于全局卷积具有大量的参数,因此训练起来成本很高。一个值得注意的设计选择是使用 隐式卷积。与标准卷积层不同,卷积滤波器hh是通过一个小的神经网络隐式学习的γθ\gamma_{\theta}(也称为 Hyena 滤波器)。该网络以位置索引和可能的 位置编码作为输入。从γθ\gamma_{\theta}可以构造一个托普利兹矩阵ThT_h.

这意味着,我们不是直接学习卷积滤波器的值,而是学习从时间位置编码到值的映射,这在计算上更高效,特别是对于长序列。

需要注意的是,映射函数可以在各种抽象模型中概念化,例如神经场或状态空间模型 (S4),如 H3 论文 中所述。

隐式卷积

线性卷积可以被表述为矩阵乘法,其中一个输入被重塑为 托普利兹矩阵

这种转换带来了更高的参数效率。不是直接学习固定内核权重值,而是使用了一个参数化函数。该函数在网络的正向传播过程中智能地推断内核权重及其维度的值,优化资源使用。

关于隐式参数化的一种直观理解方式是考虑仿射函数y=f(x)=a×x+by=f(x)= a \times x + b我们想要学习。与其学习每个点的具体位置,不如学习 a 和 b,并在需要时计算这些点。

在实践中,卷积通过库利-图基快速傅里叶变换 (FFT) 算法加速到亚二次时间复杂度。一些工作已经进行,以加速这种计算,例如基于君主分解的 FastFFTConv。

总结一切

nd_hyena.png 从本质上讲,Hyena 可以分为两个步骤

  1. 计算一组 N+1 个线性投影,类似于注意力(可以超过 3 个投影)
  2. 混合投影:矩阵H(u)H(u)由矩阵乘法的组合定义

为什么Hyena很重要

H3 机制提案在困惑度方面接近多头注意力机制,但困惑度方面仍存在差距,需要弥合。

在过去的几年里,人们提出了各种注意力替代方案,在探索阶段评估新架构的质量仍然具有挑战性。创建能够有效处理深度神经网络中 N 维数据的通用层,同时保持良好的表达能力,是一个重要的持续研究领域。

从经验上看,Hyena 算子能够显著缩小与注意力的质量差距,在较小的计算预算下,无需混合注意力,就能实现类似的困惑度和下游性能。它已经在DNA 序列建模方面取得了最先进的地位,并在 Stripped-Hyena-7B 的大型语言模型领域展现出巨大潜力。

与注意力类似,Hyena 可用于计算机视觉任务。在图像分类中,Hyena 能够在从头开始在 ImageNet-1k 上训练时与注意力匹配精度。

hyena_vision_benchmarks.png Hyena 已经应用于具有 Hyena N-D 层的 N 维数据,并且可以用作 ViT、Swin、DeiT 主干网络中的直接替换。

vit_vs_hyenavit.png 随着图像块数量的增加,GPU 内存效率明显提高。

Hyena 层次结构促进了针对长序列构建更大、更高效的卷积模型。Hyena 类模型在计算机视觉领域的潜力在于更有效的 GPU 内存消耗,可以允许

  • 处理更大、更高分辨率的图像
  • 使用更小的块,允许细粒度特征表示

这些特性在医疗影像和遥感等领域尤为有利。

迈向Transformer 的替代方案

从简单的设计原则构建新的层是一个新兴的研究领域,发展非常迅速。

H3 机制是许多基于状态空间模型 (SSM) 架构的基础,通常具有交替出现线性注意力启发块和多层感知器 (MLP) 块的结构。Hyena 作为这种方法的增强,为更有效的架构铺平了道路,例如 Mamba 及其衍生物(Vision Mamba、VMamba 等)。

进一步阅读

< > 更新 在 GitHub 上