#UV-Mamba

参数量减少40倍,推理速度提高6倍!结合变形卷积的网络如何克服SSM的内存问题?

这篇文章介绍了一种名为UV-Mamba的新型神经网络模型,该模型结合了变形卷积和状态空间模型,用于高分辨率遥感图像中精确检测城市村庄边界。

由于多样的地理环境、复杂的景观和高密度的居民区,利用遥感图像自动识别城中村边界是一个极其具有挑战性的任务。在本论文中,作者提出了一种新的、高效的神经网络模型UV-Mamba,用于在高分辨率遥感图像中准确检测边界。

UV-Mamba通过结合变形卷积(DCN)来抑制状态空间模型(SSM)中图像大小增加而带来的内存损失问题。其结构采用了一个编码器-解码器框架,包括一个拥有四个可变形状态空间扩展(DSSA)块的编码器用于高效的 multi-level语义提取,以及一个解码器用于集成提取的语义信息。

作者在北京和西安数据集上进行了实验,结果显示UV-Mamba达到了最先进的表现。具体而言,作者的模型在北京和西安数据集上的 IoU 分别达到了73.3%和78.1%,分别比现有最佳模型提高了1.2%和3.4%的 IoU,同时在推理速度上快6倍,参数数量上小40倍。源代码和预训练模型可在补充材料中找到。


I Introduction

城市村庄,作为城市化过程中的历史遗留物,由于其低层建筑和密集的建筑物,不理想的环保条件,以及过时的市政基础设施,在城市建设与经营管理中带来了较大的挑战。城市村庄的问题不仅关系到城市的形象美感和清洁,而且直接影响着居民的生活方式,公共安全和社会稳定 。传统收集城市村庄信息的方法主要依赖于人工实地调查,这既耗时又费力 [8]。

为了实现城市村庄边界的自动识别,利用卫星影像进行图像分割技术的探索已引起了广泛关注。一些研究利用先进的语义分割模型,包括全卷积网络(FCN)和U-Net,来映射城市村庄区域 [13, 14, 15] 利用对抗学习来调整语义分割网络,以适应输入图像在不同领域的一致输出。UisNet [16] 通过空间-通道特征融合模块,结合遥感影像和建筑轮廓,增强分割准确度。UV-SAM [17] 利用普通模型和专用模型的优势,将SAM [18]的零样本学习能力应用于城市村庄边界识别任务。

然而,现有研究中准确界定城市村庄边界具有挑战性,主要原因有两点:

一是城市村庄的独特建筑特征,如高密度、狭窄的街道和多样化的建筑形式,使其具有固有的困难;

二是卷积神经网络(CNN)在捕捉全局信息方面存在局限性,以及 Transformer 的计算复杂性,如图1所示,进一步复杂化了这项任务。此外,当超高分辨率(UHR)遥感图像被划分为较小的小块时,空间特征和依赖关系可能会丢失。

51c视觉~合集28_视觉

为了解决上述问题,作者提出了UV-Mamba模型,该模型利用SSM的全局建模能力和线性复杂度的变形卷积的 spatial几何变形能力。作者的模型通过使用DCN来为感兴趣的区域分配更大的权重,从而改善SSM在长时间序列建模中的内存损失问题,从而提高SSM在不同序列上保留信息的能力。作者的架构的主要贡献如下:

作者引入了UV-Mamba,这是一种基于SSM的新颖而高效的建筑,它既保留了线性计算复杂性,又具有加强的全局建模能力。

作者设计了一种DSSA模块,它通过使用变形卷积为感兴趣的区域分配更大的权重,以减轻SSM在长距离建模过程中的记忆损失,从而提高SSM在扩大序列后保留信息的能力。

作者在中国两个城市北京和西安进行了广泛的实验,结果表明作者的方法取得了优越的性能,超过了基于CNN的现有方法和基于Transformer的方法。

在城市化过程中,城市村庄是一个不可忽视的现象。然而,准确地定义城市村庄的边界是一个具有挑战性的任务。城市村庄具有独特的建筑特征,如高密度、狭窄的街道和多样化的建筑形式,这使得界定其边界具有固有困难。此外,卷积神经网络(CNN)在捕捉全局信息方面的局限性,以及 Transformer 的计算复杂性,如图1所示,进一步复杂化了定义城市村庄边界的过程。因此,开发一种能够高效准确界定城市村庄边界的技术,对于城市规划和管理工作具有重要意义。针对这个挑战,作者提出了UV-Mamba模型,它利用SSM的全局建模能力和线性复杂度的变形卷积的 spatial几何变形能力。作者的模型通过使用DCN为感兴趣的区域分配更大的权重,以改善SSM在长时间序列建模中的内存损失问题,从而提高SSM在不同序列上保留信息的能力。

作者的架构的主要贡献如下:作者引入了UV-Mamba,这是一种基于SSM的新颖而高效的建筑,它既保留了线性计算复杂性,又具有加强的全局建模能力。

作者设计了一种DSSA模块,它通过使用变形卷积为感兴趣的区域分配更大的权重,以减轻

II Methodology

在本节,作者将阐述一种基于深度学习的图像分类方法。首先,作者将介绍数据集的预处理方法,然后将描述模型架构的选择和训练过程,最后给出模型在实际应用中的评估结果。

Preliminaries: State Space Model

状态空间模型是现代控制论中线性时不变系统的概念衍生出的一个概念。状态空间模型将一个维度的输入信号  映射到一个  维的潜在状态 , 然后将其投影到一个一维的输出信号  。这个过程可以通过以下的线性一阶微分方程(ODE)来描述:

其中  是状态转移矩阵,  和  分别是投影矩阵。

为了更好地适应深度学习中如文本序列的离散输入,  和  使用零阶 hold ( ZOH 技术进行离散化, 引入可学习的时尺度参数 , 将连续状态空间模型转化为离散状态空间模型。离散化过程如下:

离散化后,第1式可表示为:

其中  和  分别表示  和  矩阵的离散版本。 表示前一个状态信息,  表示当前状态信息。

模型概述

如图2 (a) 所示, 所提出的 UV-Mamba 模型由三个主要组成部分组成:一个具有可变卷积核大小的茎模块、一个层次化的多路径扫描编码器和一个轻量级的解码器。茎模块执行初始特征提取并下采样输入图像 by a factor of 2 , 由四个卷积层组成, 卷积核大小分别为  和 ,填充分别为 3 和 1 , 步长分别为 2 和 1 。多路径扫描编码器由四个可变形状态空间扩展(DSSA)块组成, 每个阶段都可以将特征图大小减半, 从而相对于模型输入产生各种尺度的特征图:  。解码器包含四个上采样模块, 每个模块通过转置卷积将特征图从编码器中上采样两倍, 随后由两个  卷积进行特征融合。最后, 双线性插值用于将图像恢复到输入大小。

Deformable State Space Augmentation Block

对于UHR远程 sensing密集城市环境,两个主要挑战是:提高像素 Level 的表示和确保SSM的鲁棒全局建模以进行准确的边界提取。为了解决这些挑战,作者设计了一个DSSA块,如图2(b)所示,它包括以下部分:分块嵌入(patch embeddings)、空间适应可变形增强器(SADE)、多路径扫描SSM模块(MSSM)和分块合并。特别的是,作者的SADE和MSSM模块作为中间模块堆叠了两次。通过SADE对感兴趣区域赋予更重的权重,可以缓解全局建模过程中由于SSM导致的内存损失。这种方法在获得线性复杂度的同时,增强了SSM模型的全局建模能力,使其可以更有效地对建筑物进行区分,如图3所示。

51c视觉~合集28_视觉_02

多路径扫描SSM模块(MSSM)。 一系列研究【21, 22, 23, 24】已经表明,在基于SSM的模型中,增加扫描方向的数量对于实现全面的全球建模能力至关重要。为了更好地划分城乡界限,作者聚合了来自八个方向的扫描结果(水平、垂直、对角和反对角,前后都可以),以捕捉周围结构的复杂空间关系,并对上下文环境有全面的了解。为了更好地适应不同的输入大小,作者引入了Mix-FFN,它比传统的位置编码(positional encoding)更有效【25】来提供位置信息,通过在Feed-Forward网络中应用3x3卷积。

空间适应可变形增强器(SADE)。 如图2(c)所示,SADE的设计采用了类似于 Transformer 的结构。【29】。通过利用可变形卷积的空间几何变形学习能力,它可以更好地适应城市村庄的多样化空间分布特征。具体来说,作者使用DCNv4操作符对空间特征进行增强,因为其速度快、计算效率高。这个过程如下:

其中  表示聚合组的总数。对于第  组,  表示与位置无关的投影权重,  是第  个采样点的调制 scalar,  表示分块输入特征图,  是网格采样位置的偏移  的。然后, 作者使用 Mix-FFN对提取的特征进行聚合, 这可以减少计算复杂度, 同时保持模型的表示能力。

III ExperimentsExperimental Settings

数据集:作者使用来自北京和西安的两个具有独特建筑风格的中国城市[17]的数据集,这两个城市由于其显著的地理位置差异而具有不同的建筑方式。这两个城市都有传统和现代建筑的混搭,形成了复杂的都市结构,这对作者的模型在提取都市村庄边界方面提出了挑战。北京数据集包含531张图像,西安数据集包括205张图像。作者将这些数据集划分为训练、验证和测试集,比例为6:2:2。每张图像的分辨率均为1024X1024,以确保包含主要的城市信息。

实现细节:作者的实验在单张Tesla V100 GPU上进行,训练100个周期。为了防止过拟合并提高泛化能力,作者在所有实验中应用了统一的数据增强策略,其中包括随机旋转、水平翻转和垂直翻转。模型在城市景观数据集[31]上预训练,然后在对都市村庄数据集进行微调。在预训练过程中,作者使用Adam[32]优化器,初始学习率为0.001。学习率在第一十个周期内 Warm up ,然后逐渐减小到1e-6。跨熵损失[33]在预训练阶段用于优化模型的性能。

预训练权重随后在对都市村庄数据集上进行微调。对于北京和西安数据集上的微调,作者继续使用Adam优化器。学习率在第一个三十个周期内 Warm up ,然后逐渐减小到1e-6。具体来说,对于北京数据集,作者将学习率设置为0.0004,并使用Dice损失函数[34]。对于西安数据集,学习率设置为0.0002,并采用交叉熵损失函数。模型的准确性采用交点与一致性(IoU)、准确率(ACC)和总体准确性(OA)进行评估。效率通过对参数(Params, M)和浮点运算次数(Flops, G)进行评估,分别以#P和#F表示,以便于阅读表格。

Ablation Studies

图像大小: 为了评估上下文信息和空间特征对城市村庄边界检测的影响,作者使用不同大小的输入图像来评估模型性能,结果如表1所示。实验结果显示,随着图像大小的增加,城市村庄检测的准确性持续提高,这可能是由于这些区域的空间持续分布。这一发现强调了使用UHR遥感图像进行精确边界检测的重要性。

DSSA模块: 为了评估UV-Mamba中DSSA模块的有效性,作者在表2中展示了不同模型变体在北京和西安数据集上的分割性能。结果表明,在去掉SADE模块后,模型的性能降低了2.4%和5.5%;同样,去掉MSSM模块后,性能降低了2.8%和6.7%。这些结果强调了准确城市村庄分割对强大的全局建模能力的重要性。此外,作者在DSSA模块内尝试了SADE和MSSM模块的各种位置组合。结果表明,当将SADE和MSSM模块并排时,性能次优,分别达到了72.7%和74.9%的IoU。相反,将SADE模块放在MSSM模块后面会导致整体模型性能最差,这表明SSM的长序列建模限制导致特征图信息丢失,从而误导模型。总之,这些结果表明SADE可以部分补充SSM的全局建模能力,帮助在SSM模型中处理高分辨率遥感图像时减轻内存损失问题。

51c视觉~合集28_视觉_03

Comparison to the State-of-the-Arts

如图III所示,UV-Mamba优于先进的市区村庄识别模型 [38, 35, 36, 37, 38],在两个数据集上都达到了最新的性能。可视化的分割结果见图4。关于分割精度,与先前最佳的城市村边界识别模型UV-SAM相比,作者的模型在两个数据集上的IoU提高了1%-3%,而参数大小只有UV-SAM的1/40。此外,在ACC和OA的准确性指标中也观察到了类似的性能提升。

51c视觉~合集28_视觉_04

IV 结论

在本文中,作者提出了UV-Mamba模型,该模型通过减小长序列SSM建模中的内存损失,在稠密环境中保持全局建模能力,且线性复杂度的高精度分割和定位城市村建筑。

作者预计,这项研究将为城市村现代化提供重要的技术支持,推动城市发展朝着更高的宜居性、和谐性和可持续性方向迈进。




#GOT-OCR-2.0

OCR研究不曾结束,它才刚刚开始

本文提出通用或者广义OCR(也就是OCR-2.0)的概念,并设计开源了第一个起步OCR-2.0模型GOT。 

General OCR Theory: Towards OCR-2.0 via a Unified End-to-end Model

51c视觉~合集28_视觉_05

图1. 通用OCR模型须“通用”

论文地址:https://arxiv.org/abs/2409.01704

项目地址:https://github.com/Ucas-HaoranWei/GOT-OCR2.0

OCR一直是离落地最近的研究方向之一,是AI-1.0时代的技术结晶。到了以LLM(LVLM)为核心的AI-2.0时代,OCR成了多模大模型的一项基本能力,各家模型甚至有梭哈之势。多模态大模型作为通用模型,总有种降维打击OCR模型的感觉。那么纯OCR的研究真的到头了吗?我们想说:当然没有!没准才刚刚开始。首先盘一下AI-1.0 OCR系统和LVLM OCR的缺点:

首先是AI-1.0流水线式的OCR系统,缺点不用多说,各个模块比较独立,局部最优,维护成本也大。最重要的是不通用,不同OCR任务需路由不同模型,不太方便。那么多模态大模型在pure OCR任务上有什么缺陷呢?我们认为有以下两点:

为Reasoning让路必然导致image token数量过多,进而导致在纯OCR任务上存在bottle-neck。Reasoning(VQA-like)能力来自LLM(decoder),要想获得更好的VQA能力(至少在刷点上),就要充分利用起LLM来,那么image token就得越像text token(至少高维上,这样就会让LLM更舒服)。试想一下,100个text token在LLM词表上能编码多少文字?那么一页PDF的文字,又需要多少token呢?不难发现,保VQA就会导致在做OCR任务上,尤其是dense OCR任务上,模型搞得比较丑陋。例如,一页PDF图片只有A4纸大小,很多LVLM要都需要切图做OCR,切出几千个image token。单张都要切图,拿出多页PDF拼接图,阁下又当如何应对?我们认为对于OCR模型这么多token大可不必。

非常直观的一点就是模型太大,迭代困难。要想引入新OCR feature如支持一项新语言,不是SFT一下就能训进模型的,得打开vision encoder做pre-training或者post-training,这都是相当耗资源的。对于OCR需求来说太浪费了。有人会说,小模型能同时做好这么多OCR任务吗?我们的答案是肯定的,而且甚至还能更好。

51c视觉~合集28_视觉_06

图2. GOT结构与训练流程图

GOT: Towards OCR-2.0

通用OCR模型须要够通用,体现在输入输出都要通用上。我们可以笼统地将人造的所有信号都叫字符,基于此,我们提出通用或者广义OCR(也就是OCR-2.0)的概念,并设计开源了第一个起步OCR-2.0模型GOT,该模型名字就是由General OCR Theory的首字母组成。

在输入方面,模型支持图1中全部的OCR任务;输出方面,模型同时支持plain texts输出以及可读性强、可编辑的formatted文本输出,如markdown等。

模型的结构和训练方法如图2所示,采用vision encoder+input embedding layer+decoder的pipeline。Encoder主体采用带local attention的VITDet架构,这不至于CLIP方案的全程global attention在高分辨率下激活太大,炸显存。Encoder后两层采用Vary的双卷积设计方案。整个Encoder将1024×1024×3的图像压缩为256×1024的image tokens,这足以做好A4纸级别的dense OCR。

整个训练过程分为3个步骤,没有一个阶段锁LLM,也就是不会存在图像到文本的对齐阶段,进而导致损害image token的文字压缩率。3个训练阶段分别为:

  1. 高效预训练encoder,GOT在整个训练过程中,没有A100级别的卡,为了节省资源,该阶段使用小型OPT-125M作为decoder为encoder提供优化方向,快速灌入大量数据。
  2. 联合训练encoder-decoder,该阶段GOT的基本结构搭建完成,为上一阶段预训练好的encoder,以及Qwen团队预训练好的Qwen0.5B。我们稍稍加大了decoder的大小,因为该阶段需要喂入大量OCR-2.0的知识,而不少数据(如化学式的OCR)其实也是带点reasoning的,更小的decoder未敢尝试。
  3. 锁住encoder,加强decoder以适配更多的OCR应用场景,如支持坐标或者颜色引导的细粒度OCR(点读笔可能会用到),支持动态分辨率OCR技术(超大分辨率图可能会用到),多页OCR技术(该feature主要是为了后续follower能更好地训练Arxiv这种数据,我们的设想是多页PDF直接训练,无须再对.tex断页而苦恼!)

51c视觉~合集28_视觉_07

图3. GOT使用到的数据渲染工具

当然,整个GOT模型设计最困难的还是数据工程。为了构造各种各样的数据,我们学习了众多数据渲染工具,如图3所示,包括Latex,Mathpix-markdown-it,Matplotlib,Tikz,Verovio, Pyecharts等等。

结果可视化:

多说无用,效果才是一切,GOT的输出可视化效果如下:

51c视觉~合集28_视觉_08

例1:最常用的PDF image转markdown能力

51c视觉~合集28_视觉_09

例2:双栏文本感知能力

51c视觉~合集28_视觉_10

例3:自然场景以及细粒度OCR能力

51c视觉~合集28_视觉_11

例4:动态分辨率OCR能力

51c视觉~合集28_视觉_12

例4:多页OCR能力

51c视觉~合集28_视觉_13

例5:更多符号的OCR能力

总结:

尽管GOT模型表现不错,但也存在一些局限,如更多的语言支持,更复杂的几何图,chart上的OCR性能。OCR-2.0的研究还远的很,GOT也还有不小提升空间(该项目在数据和算力资源上都是非常受限的),正是因为深知GOT以及OCR-2.0的潜力,我们希望通过开源GOT吸引更多的人,放弃VQA,再次投向强感知。都说纯OCR容易背锅,但也正好说明做的不够work,不是吗?



#速览多模态模型 Transfusion 和 Show-o

用 Transformer + 扩散模型同时处理文本和图像

本文介绍了Transfusion和Show-o两个多模态模型,它们结合了Transformer和扩散模型来处理文本和图像,Transfusion在图像生成上表现更佳,Show-o则在资源需求上更为高效。 

近期,有两个大型多模态模型于同期公布:一个是来自 Meta 的 Transfusion,另一个是来自 Show Lab 和字节跳动的 Show-o 。好巧不巧,二者都宣称自己的模型是几乎最早将多模态任务用一个 Transformer 完成的,不需要借助额外的文本编码器实现图像生成,同时结合了自回归生成和扩散模型。我很好奇这两篇工作究竟有多少创新,于是快速扫完了这两篇论文,并简单给大家分享一下它们的核心内容。在这篇文章中,我会快速介绍两篇工作的核心模型架构与部分实验结果。由于我仅对视觉任务比较熟悉,对语言和多模态没有那么了解,我的分析将主要围绕视觉任务。

论文 Arxiv 链接:

Transfusion: https://arxiv.org/pdf/2408.11039

Show-o: https://arxiv.org/pdf/2408.12528

读前准备

在阅读这两篇新工作时,建议大家先熟悉以 Transformer 为代表的自回归生成、以 DDPM、LDM、DiT 为代表的扩散模型、以 MaskGIT (Masked Generative Image Transformer), MAR (Masked autoregressive models, 于 Autoregressive Image Generation without Vector Quantization 论文中提出) 为代表的掩码自回归图像生成这三类生成模型,并简单了解此前较为先进的 Chameleon (Chameleon: Mixed-Modal Early-Fusion Foundation Models) 多模态模型。本文不会对这些知识做深入回顾,如果读者遇到了不懂的旧概念,请先回顾有关论文后再来看这两篇新文章。

自回归模型

自回归模型用于生成形如  这样的有序序列。自回归算法会逐个生成序列中的元素。假设正在生成第  个元素, 则算法  会参考之前所有的信息 , 得到  。比如:

自回归任务最常见的应用场景是文本生成。给定第一个词,生成第二个词;给定前两个词,生成第三个词……。

为了训练实现这一算法的模型,一般我们需要假设每个元素的取值是有限的。比如我们要建模一个生成单词的模型,每个元素是小写字母,那么元素的取值只有 a, b, c, ..., z。满足这个假设后,我们就可以像分类任务一样,用神经网络模型预测的类别分布建模已知之前所有元素时,下一个元素的分布,并用交叉熵损失函数去优化模型。这种训练任务被称为下一个词元预测 (next token prediction, NTP)。

用自回归生成建模某类数据时,最重要的是定义好每个元素的先后顺序。对于文本数据,我们只需要把每个词元 (token) 按它们在句子里的先后顺序编号即可。而对于图像中的像素,则有多种编号方式了。最简单的一种方式是按从左到右、从上到下的顺序给像素编号。

掩码自回归模型

由于图像的像素数很多,用自回归模型一个一个去生成像素是很慢的;另外,按从左到右、从上到下的顺序给像素编号显然不会是最合理的。为了提升自回归模型的速度和表现,研究者提出了掩码自回归模型。它做了两个改进:

1) 相比按序号一个一个生成元素的经典自回归模型,这种模型在每轮生成时可以生成多个像素(下图中的橙色像素)。

2) 相比从左到右、从上到下的固定顺序,像素的先后顺序完全随机(下图中的 (b) 和 (c) )。

由于这种方式下必须一次给模型输入所有像素,并用掩码剔除未使用的像素,所以这种自回归被叫做掩码自回归。

51c视觉~合集28_视觉_14

扩散模型

扩散模型将图像生成表示成一个噪声图像  从时刻  开始随时间变化 , 最后得到目标图像  的过程。和输入输出为部分像素的自回归模型不同, 扩散模型的输入输出自始至终都是完整图像。

为了减少扩散模型的计算量,参考 Latent Diffusion Model (LDM) 的做法,我们一般会先用一个自编码器压缩图像,再用扩散模型生成压缩过的小图像。正如 NLP 中将文本拆成单词、标点的「词元化」(tokenize) 操作一样,这一步操作可以被称为「图块化」(patchify)。当然,有些时候大家也会把图块叫做词元,把图块化叫做图像词元化。

严格来说,本文讲到的「像素」其实是代表一个图块的图像词元。用「像素」是为了强调图像元素的二维空间信息,用「图像词元」是强调图像元素在自回归模型中是以一维序列的形式处理的。

有人认为,掩码自回归模型是一种逐渐把纯掩码图像变成有意义图像的模型,它和逐渐把纯噪声图像变成有意义图像的扩散模型原理类似。因此,他们把掩码自回归模型称为离散扩散模型。还有人认为扩散模型也算一种更合理的自回归,每轮输入一个高噪声图像,输出一个噪声更少的图像。但这些观点仅仅是从称呼上统一两种模型,两种模型在实现上还是有不少差别的。

Chameleon

Chameleon 似乎是此前最为先进的多模态模型,它是这两篇新工作的主要比较对象。在语言模型的基础上,Chameleon 并没有对图像的处理多加设计,只是以离散自编码器(如 VQGAN)的编码器为图像词元化工具,以其解码器为图像词元化还原工具,让被词元化后的图像词元以同样的方式与文本词元混在一起处理。

51c视觉~合集28_视觉_15

功能与效果

看方法前,我们先明确一下两个多模态模型能做的任务,及各任务的输入输出。

Transfusion 是一个标准多模态模型,也就是一个输入输出可以有图像词元的语言模型。它输入已知文本和图像,输出后续文本和图像。

51c视觉~合集28_视觉_16

基于这个多模态模型,可以做文生图任务。

51c视觉~合集28_视觉_17

这个模型似乎没有为特定任务设置特殊词元,所有图像功能完全靠文本指定。因此,要做图像编辑任务的话,需要在带文本标注的图像编辑数据集上微调。文章指出,只需要在一个仅有 8000 项数据的数据集上微调就能让模型具有一定的编辑能力。

51c视觉~合集28_视觉_18

相比之下,Show-o 可以在序列前多输入一个区分任务的特殊词元。因此,Show-o 可以完成多模态理解(输入多模态,输出文本描述)、图像生成(根据文字生成图像或填补图像)、多模态生成(输入输出都包含图片、文本)等丰富的任务。似乎特殊词元仅有多模态理解 (MMU, Multi-modal Understanding MMU)、文生图 (T2I, Text to Image) 这两种。

51c视觉~合集28_视觉_19

Transfusion 的基础模型在微调后才能做根据文本提示来编辑图像的任务,而 Show-o 的基础模型默认是在此类带有文本提示的图像编辑数据集上微调的。

方法

对于熟悉此前图像生成模型、语言模型的研究者来说,这两篇工作都仅用了现有技术,核心方法非常易懂。这两篇工作并不是试图开发一种新的图像生成技术,而是在考虑如何更好地将现有图像模型融入多模态模型。

在读新技术之前,我们先以 Chameleon 为例,看一下之前的多模态模型是怎么做生成的。在我看来,之前的多模态模型不应该叫「多模态模型」,而应该叫「强行把图像当成词元的语言模型」。语言模型在处理文本时,文本中的词语、标点会根据规则被拆成「词元」,成为模型的最小处理单位。然而,要用同样的方式处理图像,就要定义什么是「图像词元」。受到之前图像离散压缩模型(以 VQGAN 为代表)的启发,大家用一个编码器把图像切成图块,每个图块可以用一个 1, 2, 3 这样的整数序号表示,再用一个解码器把用序号表示的图块翻译回真实图像。这里的带序号图块就和文本里的单词一样,可以用「词元」来表示。文本、图像都被统一成词元后,就能用标准 Transformer 的下一个词元预测任务来训练多模态模型。

如下图所示,训练时,文本基于程序规则变成词元,而图像经过一个编码器模型变成词元。两类词元被当成一类数据,以同样的方式按下一个词元预测任务训练。生成时,多模态模型自回归地生成所有词元,随后文本词元基于程序规则恢复成文本,而图像词元通过解码器模型恢复成图像。

51c视觉~合集28_视觉_20

这种多模态模型最大的问题是没有充分设计图像词元生成,还是暴力地用 Transformer 自回归那一套。虽然有些模型会多加入一些图像生成上的设计,比如 LaVIT (Unified Language-Vision Pretraining in LLM with Dynamic Discrete Visual Tokenization) 用扩散模型来做图像词元的解码,但核心的图像词元生成还是离不开标准自回归。

Transfusion 和 Show-o 的设计初衷都是引入更先进的图像生成技术来改进图像词元生成。先看 Show-o。要改进标准的一个一个按顺序生成图像词元的图像自回归模型,最容易想到的做法就是按照 MaskGIT, MAR 那一套,将标准自回归换成掩码自回归。在做掩码自回归时,像素的先后顺序完全随机,且一次可以生成多个像素。另外,图像词元之间可以两两互相做交叉注意力,而不用像文本词元一样只能后面的对前面的做交叉注意力。

51c视觉~合集28_视觉_21

Show-o 莫名其妙地把自己的图像生成模型称为离散扩散模型。如前文所述,叫离散扩散模型还是掩码自回归,只是一个称呼上的问题。由于问题建模上的重大差异,大家一般还是会把扩散模型和掩码自回归看成两类模型。

而 Transfusion 更加激进地在革新了多模态模型中的图像生成方式。现在最好的图像生成技术不是扩散模型吗?我们干脆直接把整个扩散模型搬过来。于是,在 Transfusion 生成多模态内容时,程序会交替执行两种模式:在语言模型模式下,程序按标准自回归逐个生成文本词元。一旦生成了特殊词元 BOI (begin of image),就切换到扩散模式。在扩散模式下,程序按 DiT, SD 3 (Stable Diffusion 3) 那种标准扩散模型的方式,一次性生成所有图像词元。结束此模式后,程序往词元序列里填一个 EOI (end of image),重返语言模型模式。

51c视觉~合集28_视觉_22

同理,在训练时,两种模态也用不同的任务来训练。语言模型老老实实地按下一个词元预测训练,而扩散模型那部分就按照训练扩散模型的标准方式,先给所有图像词元加噪,再预测噪声。因此,只看图像生成任务的话,Transfusion 更像 SD 3 这种文生图模型,而不像此前的基于语言模型的多模态模型。

Transfusion 和 SD 3 之间的最大区别在于,文本词元还是按照语言模型那一套,只能在交叉注意力看到之前的文本词元。而图像词元之间两两都能看到。这种交叉注意力的设计和 Show-o 是一模一样的。当然,由于现在文本也会在同一个 Transformer 里处理,所以 Transfusion 自己就扮演了解读文本的工作,而不像 SD 3 那样还需要单独的文本编码器。

51c视觉~合集28_视觉_23

定量评测结果

我们最后来看一下两篇文章展示的定量评测结果。

Transfusion 用了许多篇幅来展示它与 Chameleon 之间的对比。从数值指标上看,Transfusion 全面领先 Chameleon。明明没有对文本任务做特别的优化,Transfusion 却在文本任务超越了 Chameleon,这挺令人惊讶的。为了探究这一现象的原因,作者从同一个预训练语言模型开始,以同样的配置训练了 Transfusion, Chameleon。结果显示,相比加入图像扩散模型,加入 Chameleon 那种离散图像词元对文本指标的损害更大。作者猜测,这是因为扩散模型更加高效,模型能够把更多精力放在文本任务上。

而从图像生成模型的对比上看,Transfusion 比之前多数文生图模型都要好,只是比顶尖文生图模型 SD 3 要差一点。

51c视觉~合集28_视觉_24

再来看 Show-o 的评测结果。Show-o 在部分文本指标上超过了之前的语言模型。作者也坦言,这些指标仅表明 Show-o 有潜力在文本任务上做到顶尖。

51c视觉~合集28_视觉_25

Show-o 也展示了图像任务的指标。和 Transfusion 一样,Show-o 展示了表示图像质量的 COCO FID 指标以及评价文本图像匹配度的 GenEval 指标。Show-o 在图像指标上超越了此前多数多模态模型,且超越了 Stable Diffusion 2.1 等图像生成模型。但是其图像指标比 Transfusion 还是差了不少。Show-o 的最大优点是需要的图像训练数据远远少于其他模型。

51c视觉~合集28_视觉_26

总结与讨论

此前多模态模型都只是强行把图像变成离散图像词元,再用标准自回归来生成图像词元。为了改进这些多模态模型,无独有偶,Transfusion 和 Show-o 都用到了更先进的图像生成技术。Show-o 将标准自回归改成了更强大的掩码自回归,而 Transfusion 激进地引入了完整的图像扩散模型,并把文本生成和图像生成当成两个相对独立的任务。二者的相同之处如下:

两个多模态模型都用同一个 Transformer 来处理文本和图像。

两个模型的 Transformer 都使用了同样的交叉注意力机制。文本词元只能看到此前的图像、文本词元,而图像词元可以看到此前的文本词元和当前所有图像词元。

二者的不同之处在于:

  • Transfusion 使用标准扩散模型实现图像生成,而 Show-o 使用掩码自回归实现图像生成。Show-o 强行将自己的图像生成模型称为「离散扩散模型」,有借扩散模型的名头宣传之嫌。
  • Transfusion 没有用特殊词元来区分不同任务。要用 Transfusion 编辑图像,需要在基础模型上用图像编辑数据集微调。Show-o 用特殊词元来区分不同任务,默认支持文本理解、图像生成、图像编辑、多模态生成等多种任务。
  • 二者在文本、图像指标上都超越了之前的多模态模型。但二者相互对比之下,Transfusion 的表现更好,而 Show-o 需要的训练资源少得多。

我再来谈一下我看完这两篇文章后的一些感想。此前我对多模态模型很不感兴趣,觉得它们就是在语言模型的基础上,强行加入图像信息,然后加数据、加显卡,大火乱炖,没有太大的创新。而 Transfusion 和 Show-o 的设计令我眼前一亮。我觉得这两篇文章的结果再次表明,图像和文本的处理方法不应该是一致的,不能强行把文本自回归那套方法直接搬到图像任务上。不管是换成 MaskGIT 掩码自回归那一套,还是完全用扩散模型,都比之前的方法要好。

而究竟是掩码自回归好还是扩散模型更好呢?在我看来,扩散模型是更好的。文本是离散的,而图像是连续的。这种连续性不仅体现在图像的颜色值上,还体现在图像像素间的位置关系上。强行用 Transformer 自回归生成图像,一下子把这两种连续信息都破坏了。而何恺明团队近期的 MAR 工作则试图找回图像在颜色值上的连续性,但依然无法充分利用空间上的连续性。相比之下,扩散模型每步迭代都是对整幅图像做操作,不会破坏图像的连续性。这两个多模态工作也反映了这一点,Transfusion 的表现要比 Show-o 好很多。

在生成图像时,Transfusion 的行为几乎和 SD 3, FLUX.1 这些文生图模型一样了。两类模型的区别在于,SD 3 它们得用一个预训练的语言处理模型。而 Transfusion 用同一个 Transformer 来处理文本、图像信息。尽管现在 Transfusion 还没有超过 SD 3,但我认为文生图任务本质上是一个多模态任务,这两类模型的后续发展路线很可能会交汇到一起。文生图也应该从多模态中汲取经验。比如我们在 SD 3 的基础上,加入一些语言任务上的学习,说不定能进一步提升文生图时的图文匹配度。

当然,仅根据我读完这两篇文章后有限的认知,我认为多模态并不是一个值得广大科研人员投入的研究方向,而只适合有足够资源的大公司来做。其根本原因是验证多模态设计的代价太大了。在图像生成领域,要验证一个生成模型好不好,我们拿 ImageNet,甚至拿只有几万张图像的人类数据集训练及评测,都很有说服力。而多模态任务必须在大量文本、图像数据集上训练,评测文本、图像上的多种指标,小一点的团队根本做不来。这样,各种小创新都难以验证。而没有各种各样的小创新,领域也就很难快速发展。所以多模态只能不断从纯语言生成、纯图像生成方向找灵感,很难有仅属于多模态任务的创新。

#PointRWKV

3D点云学习新架构!刷新点云表征学习性能及FLOPs!

本文提出了一种基于RWKV的算法,该算法可以在极小的线性复杂度和参数量上达到较高的效率,并且能够处理多尺度的点云输入。

Transformer彻底改变了点云学习任务,但其二次复杂度阻碍了其向长序列的扩展,这给有限的计算资源带来了负担。最近出现的 RWKV 是一种新型的深度序列模型,在 NLP 任务中显示出序列建模的巨大潜力。在这项工作中提出了PointRWKV,这是一种线性复杂度的新模型,具有 3D 点云学习任务所需的适应性。通过对不同点云学习任务的大量实验表明,所提出的 PointRWKV 优于基于 transformer 和 mamba 的同类网络,同时显著节省了约 42% 的 FLOPs,展示了构建基础3D点云表征学习模型的优越性。

论文:https://arxiv.org/abs/2405.15214

主页:hithqd.github.io/projects/PointRWKV/

代码:https://github.com/hithqd/PointRWKV

背景

3D 点云分析是众多现实应用的基础,包括自动驾驶、虚拟现实和机器人技术等。与 2D 图像不同,点云的内在不规则性和稀疏性使得进行准确的点云特征学习成为一项具有挑战性的任务。并且同时平衡准确性和复杂性仍然是一个持久的问题。现有的点云特征学习方法主要是基于自注意力结构(Transformer)或者是线性时间序列结构(Mamba)的,如下图所示。然而,基于自注意力结构的算法对扩展点标记进行全面注意力机制的部署会显著增加对计算资源的需求,这种效应直接归因于注意力计算中固有的二次复杂性,影响了计算和内存。而基于线性时间序列结构的算法尽管有效,但原始的单向建模的固有属性阻碍了它们达到卓越的性能。本文提出了一种基于RWKV的算法,该算法可以在极小的线性复杂度和参数量上达到较高的效率,并且能够处理多尺度的点云输入。

51c视觉~合集28_视觉_27

方法

51c视觉~合集28_视觉_28

PointRWKV 的整体流程如上图所示,其中通过分层网络架构对点云进行编码。给定一个输入点云,首先采用多尺度掩蔽策略在不同尺度上对不同点数进行采样。然后应用轻量级 PointNet来嵌入点并生成embedding嵌入。这些点标记由块堆叠编码器(即 PRWKV 块)使用,其中每个块由两个并行分支组成,用于分层局部和全局特征聚合。每个PRWKV块,采用两个并行分支的处理策略来聚合局部和全局特征。上面的是综合特征调制流程,具有空间混合和通道混合,下面的是基于局部图的合并。最后,两个分支的连接用作每个块的输出。

Integrative Feature Modulation (IFM)

综合特征调制分支由空间混合模块和通道混合模块组成。空间混合模块作为一种注意力机制,执行线性复杂度的全局注意力计算,而通道混合模块则作为前馈网络(FFN)运行,促进沿通道维度的特征融合。

空间混合模块:经过一个前置的LayerNorm 之后,输入特征的token 首先通过双向二次展开 (BQE) 函数进行移位,然后输入到四个并行的线性层中,以获得多头向量:

51c视觉~合集28_视觉_29

其中,BQE的计算为:

51c视觉~合集28_视觉_30

BQE函数使注意力机制能够在不同通道上自然地关注相邻的token,而无需显著增加FLOPs。这一过程还扩展了每个token的感受野,从而显著提升了标记在后续层中的覆盖范围。此外,通过以下公式计算出一个新的时变衰减w:

51c视觉~合集28_视觉_31

然后,将K_S和V_S传递以使用新的衰减参数w计算全局注意力结果wkv。在这里,我们引入了具有线性复杂度的双向注意力机制,并进行了两项修改:(1)衰减参数独立变化,以动态方式依赖于数据,(2)在求和公式中,将原始RWKV注意力的上限从当前标记t扩展到最后一个标记T-1,以确保在每个结果的计算中所有标记都是相互可见的。对于第t个标记,注意力结果通过以下公式计算:

51c视觉~合集28_视觉_32

最终的概率输出为:

51c视觉~合集28_视觉_33

通道混合模块:来自空间混合模块的token进一步传递到通道混合模块。同样地,使用前置的LayerNorm,并在BQE操作后获得R_C和K_C:

51c视觉~合集28_视觉_34

之后,分别执行线性投影和门机制。最终输出的公式如下:

51c视觉~合集28_视觉_35

Local Graph-based Merging (LGM)

局部几何特征已被证明对点云特征学习至关重要,但RWKV结构的全局感受野无法全面捕捉局部点几何,限制了其学习细粒度特征的能力。因此我们将点云直接编码为图,使用点作为图的顶点。图的边连接在设定半径内的相邻点,允许这些点之间传递特征信息。这种图表示可以适应点云的结构,而无需对其进行规则化。此外,为了最小化局部图中的平移方差,引入了图稳定器机制。该机制允许点根据其独特特征对齐其坐标,从而提高网络的整体有效性。

通常,我们可以通过在图神经网络中沿着边聚合特征来优化顶点特征。在点云的场景中,我们旨在包含顶点所属对象的局部信息。因此,在第 (t + 1) 次迭代中,我们使用邻居的相对坐标进行边特征提取,这可以表示为:

51c视觉~合集28_视觉_36

为了减少这种平移方差,本文进一步提出基于结构特征对邻近坐标进行对齐,而不是依赖中心顶点的坐标。由于中心顶点已经包含了上一迭代中的一些结构特征,它可以用来估计对齐偏移,这促使本文设计了一个图稳定器机制。上述公式可以重写为:

51c视觉~合集28_视觉_37

实验结果

51c视觉~合集28_视觉_38

如上图所示,在 ShapeNet上进行自监督预训练后,PointRWKV 在 ScanObjectNN上实现了 93.63% (+4.66%) 的整体准确率,在 ModelNet40上实现了 96.89% (+1.79%) 的分类准确率,在 ShapeNetPart上实现了 90.26% (+3.16%) 的实例 mIoU,在预训练模型中创下了新的最先进 (SoTA)。同时,与基于 transformer 和 mamba 的同类工作相比,PointRWKV 的参数减少了 13%,FLOP 减少了 42%,展示了 RWKV 在 3D 视觉任务中的潜力。

3D点云分类

51c视觉~合集28_视觉_39

Few-shot分类

51c视觉~合集28_视觉_40

Part Segmentation

51c视觉~合集28_视觉_41

总结

在本文中,我们介绍了一种基于 RWKV 的新型点云学习架构 PointRWKV。PointRWKV 采用分层架构,通过对多尺度点云进行编码来学习生成强大的 3D 表示。为了促进局部和全局特征聚合,我们设计了并行特征合并策略。实验结果表明,PointRWKV 在不同的点云学习数据集上表现出优于基于 transformer 和 mamba 的同类工作的性能,同时显著减少了参数和 FLOP。凭借其线性复杂性能力,我们希望 PointRWKV 将成为更多 3D 任务的高效且经济高效的基准。




#RMoK

KAN专家混合模型在高性能时间序列预测中的应用:RMoK模型架构探析与Python代码实验

这篇文章探讨了可逆KAN混合模型(RMoK)在时间序列预测中的应用,RMoK结合了不同类型的KAN专家层来捕捉时间序列数据的多种特征。通过在电力变压器数据集上的实验,RMoK模型显示出在长期预测任务中与其他先进模型相比具有竞争力的性能。

Kolmogorov-Arnold网络(KAN)的提出为深度学习领域带来了重要突破,它作为多层感知器(MLP)的一种替代方案,展现了新的可能性。MLP作为众多深度学习模型的基础构件,包括目前最先进的预测方法如N-BEATS、NHiTS和TSMixer,已经在各个领域得到广泛应用。

但是我们在使用KAN、MLP、NHiTS和NBEATS进行的预测基准测试中发现,KAN在各种预测任务中表现出较低的效率和准确性。这项基准测试使用了M3和M4数据集,涵盖了超过99,000个独特的时间序列,频率范围从每小时到每年不等。这些结果表明,KAN在时间序列预测领域的应用前景并不乐观。

近期,随着论文《KAN4TSF: KAN和基于KAN的模型对时间序列预测有效吗?》中引入的可逆KAN混合模型(Reversible Mixture of KAN, RMoK)号称能够提高KAN的性能。本文将深入探讨RMoK模型的架构和内部机制,并通过Python实现一个小型实验来验证其性能。

为了全面理解本研究,建议读者参考原始论文以获取更详细的信息(本文最后的参考附带所有内容链接)。

KAN模型回顾

在深入RMoK架构之前,我们首先回顾KAN的基本原理和工作机制。

图1MLP与KAN的比较:MLP在连接上具有可学习的权重,节点上有固定的激活函数。KAN在连接上使用可学习的激活函数,节点执行求和操作。

上图展示了MLP和KAN的核心差异。在MLP中连接代表可学习的权重,节点是固定的激活函数(如ReLU、tanh等)。而KAN采用了不同的方法,在连接上使用可学习的激活函数,节点则执行这些函数的求和操作。

这种设计体现了Kolmogorov-Arnold表示定理,该定理指出多元函数可以通过单变量函数的组合来表示。具体而言,KAN使用B样条作为可学习函数来模拟非线性数据,如图2所示。这种方法为模型提供了极大的灵活性,使其能够学习复杂的非线性关系。

图2:三次样条拟合非线性数据示例。

尽管样条函数具有很强的灵活性,研究人员仍然提出了多种KAN变体,以进一步扩展其应用范围和提高性能。其中,Wav-KAN、JacobiKAN和TaylorKAN是RMoK模型中采用的三种重要变体。

Wav-KAN

Wav-KAN使用小波函数代替样条函数。小波函数在处理信号(如时间序列)时特别有效,因为它们能同时提取频率和位置信息。

图3:使用Ricker小波(又称墨西哥帽小波)对信号进行变换的示例。

图3展示了Ricker小波如何将输入信号转换。下图中的振荡变化反映了原始信号的特征,而在-2.5和2.5标记附近的深色区域则表示原始信号的突变。这种特性使Wav-KAN特别适合处理时间序列数据,能够有效捕捉位置和频率的变化。

JacobiKAN和TaylorKAN

除了样条函数,雅可比多项式和泰勒多项式也是常用的函数近似方法,分别导致了JacobiKAN和TaylorKAN的开发。

TaylorKAN

泰勒多项式是函数在展开点处导数的无限和的近似。展开点是函数和其近似的导数相等的位置。

图4:使用泰勒多项式近似sin(x)函数。随着多项式阶数增加,近似效果逐渐改善。

图4展示了使用不同阶数的泰勒多项式对sin(x)函数的近似,其中π/2是展开点。可以观察到,随着阶数增加,近似效果显著提升。然而,值得注意的是,当远离展开点时,近似效果会迅速下降。

JacobiKAN

雅可比多项式形成一个函数基,可以组合使用来近似更复杂的函数,类似于B样条的作用。

图5:使用雅可比多项式近似sin(x)函数。同样,随着多项式阶数增加,近似效果不断改善。

图5再次展示了对sin(x)函数的近似,这次使用雅可比多项式。与泰勒多项式相比,雅可比多项式在整个函数域内提供了更均衡的近似效果。

雅可比多项式更适合全局近似,其误差通常均匀分布。相比之下,泰勒多项式更适合局部近似。

综上所述,我们可以看到,将Wav-KAN用于信号处理,JacobiKAN用于准确的全局近似,以及TaylorKAN用于局部近似相结合,有可能在学习时间序列数据的复杂关系方面取得显著成效。这正是RMoK模型的核心思想。

RMoK模型架构解析

可逆KAN混合模型(Reversible Mixture of KAN, RMoK)是一种结构简洁而高效的模型,它巧妙地将门控网络与由不同专家KAN层组成的单一"KAN混合"层相结合。图6详细展示了RMoK的完整架构。

图6:RMoK模型架构示意图。

从图6中我们可以看到,RMoK模型采用了RevIN(Reversible Instance Normalization,可逆实例归一化)技术。RevIN是一种先进的预处理方法,专门用于处理非平稳时间序列数据,它显著提高了预测模型的性能。

数据流和处理流程

RMoK模型中的数据处理流程如下:

数据输入:时间序列数据从模型顶部输入。

RevIN处理:数据首先通过RevIN进行归一化处理。

KAN混合层:归一化后的数据进入KAN混合(MoK)层。

预测生成:MoK层输出经过反归一化处理,得到最终预测结果。

KAN混合(MoK)层

MoK层是RMoK模型的核心组件,它由以下部分组成:

  1. 门控网络:负责为数据的不同部分激活适当的专家层。
  2. 专家KAN层:包括Wav-KAN、JacobiKAN和TaylorKAN,每种专家层专注于捕捉时间序列数据的特定特征:
  • Wav-KAN:专门学习频率和位置特征
  • JacobiKAN:擅长捕捉长期变化
  • TaylorKAN:专注于局部短期变化的学习

门控网络的作用是动态地决定在处理数据的不同部分时应该激活哪些专家层。这种机制使得模型能够灵活地应对时间序列中的各种模式和变化。

预测生成过程

在MoK层中,每个专家层独立生成预测,然后这些预测被组合起来形成一个综合预测。这个过程发生在归一化的数据空间中。综合预测通过反归一化处理,得到最终的时间序列预测结果。

RMoK的优势

RMoK模型的设计理念虽然简洁,但其效果却非常显著。它的主要优势在于:

  1. 灵活性:通过组合不同的KAN专家层,模型能够适应各种复杂的时间序列模式。
  2. 精确性:每个专家层都专注于特定类型的特征,使得模型能够全面且精确地捕捉时间序列的各个方面。
  3. 可解释性:模型的分层结构和专家机制提高了预测结果的可解释性。

RMoK模型的核心创新在于为时间序列预测任务选择了合适的"专家"组合。Wav-KAN处理信号特征,JacobiKAN负责全局趋势,而TaylorKAN则关注局部变化,这种组合使得模型能够全面地分析和预测复杂的时间序列数据。

通过深入理解RMoK模型的架构和工作原理,我们可以更好地认识其在时间序列预测任务中的潜力。接下来将通过一个Python实验来实际验证RMoK模型的性能。

实验设计与实施

为了验证RMoK模型的有效性,我们设计了一个对比实验,将RMoK模型与其他先进的时间序列预测模型(如PatchTST、iTransformer和TSMixer)进行性能比较。本实验聚焦于长期预测任务,使用了电力变压器数据集(ETT)作为基准。

数据集介绍

本实验采用的ETT数据集是记录了中国某省两个地区的电力变压器油温数据。数据集包含四个子集,分别以每小时和每15分钟的频率采样。我们的实验专注于使用两个15分钟采样频率的数据集(ETTm1和ETTm2)。

实验环境配置

为了简化实验流程并确保结果的可复现性,我们基于官方仓库的RMoK模型实现,扩展了neuralforecast库。这使我们能够以统一的方式使用和测试不同的预测模型。需要注意的是,在本文撰写时RMoK模型尚未被纳入neuralforecast的稳定版本。因此要复现实验结果,需要克隆特定的代码仓库分支。如果该分支已合并到主分支,可以通过以下命令安装:

pip install git+https://github.com/Nixtla/neuralforecast.git

代码实现1、环境准备

首先导入必要的库和模块:

import pandas as pd    
 import numpy as np    
 import matplotlib.pyplot as plt    
    
 from datasetsforecast.long\_horizon import LongHorizon    
    
 from neuralforecast.core import NeuralForecast    
 from neuralforecast.losses.pytorch import MAE, MSE    
 from neuralforecast.models import TSMixer, PatchTST, iTransformer, RMoK    
    
 from utilsforecast.losses import mae, mse    
 from utilsforecast.evaluation import evaluate

2、数据加载函数

定义了一个辅助函数来加载数据集,并设置相应的实验参数:

def load\_data\(name\):    
  if name \== 'Ettm1':  
  Y\_df, \*\_ \= LongHorizon.load\(directory\='./', group\='ETTm1'\)  
  Y\_df\['ds'\] \= pd.to\_datetime\(Y\_df\['ds'\]\)  
  freq \= '15T'  
  h \= 96  
  val\_size \= 11520  
  test\_size \= 11520  
  elif name \== 'Ettm2':  
  Y\_df, \*\_ \= LongHorizon.load\(directory\='./', group\='ETTm2'\)  
  Y\_df\['ds'\] \= pd.to\_datetime\(Y\_df\['ds'\]\)  
  freq \= '15T'  
  h \= 96  
  val\_size \= 11520  
  test\_size \= 11520  
    
  return Y\_df, h, val\_size, test\_size, freq

设置预测horizon为96个时间步,这相当于预测未来24小时的数据。

3、模型初始化和训练

为每个数据集初始化并训练模型:

DATASETS \= \['Ettm1', 'Ettm2'\]    
    
 for dataset in DATASETS:    
  Y\_df, horizon, val\_size, test\_size, freq \= load\_data\(dataset\)  
    
  rmok\_model \= RMoK\(input\_size\=horizon,  
  h\=horizon,   
  n\_series\=7,  
  num\_experts\=4,  
  dropout\=0.1,  
  revine\_affine\=True,  
  learning\_rate\=0.001,  
  scaler\_type\='identity',  
  max\_steps\=1000,  
  early\_stop\_patience\_steps\=5\)  
    
  \# 初始化其他模型...  
    
  models \= \[rmok\_model, patchtst\_model, iTransformer\_model, tsmixer\_model\]  
    
  nf \= NeuralForecast\(models\=models, freq\=freq\)  
    
  \# 使用交叉验证进行训练和预测  
  nf\_preds \= nf.cross\_validation\(df\=Y\_df, val\_size\=val\_size, test\_size\=test\_size, n\_windows\=None\)  
  nf\_preds \= nf\_preds.reset\_index\(\)  
    
  \# 保存预测结果  
  evaluation \= evaluate\(df\=nf\_preds, metrics\=\[mae, mse\], models\=\['RMoK', 'PatchTST', 'iTransformer', 'TSMixer'\]\)  
  evaluation.to\_csv\(f'\{dataset\}\_results.csv', index\=False, header\=True\)

在RMoK模型中,使用了4个专家(Wav-KAN、JacobiKAN、TaylorKAN和一个简单的MLP)。学习率设置为0.001,最大训练步数为1000,早停值为5。

4、结果评估

使用平均绝对误差(MAE)和均方误差(MSE)来评估模型性能:

ettm1\_eval \= pd.read\_csv\('Ettm1\_results.csv'\)    
 ettm1\_eval \= ettm1\_eval.drop\(\['unique\_id'\], axis\=1\).groupby\('metric'\).mean\(\).reset\_index\(\)    
    
 ettm2\_eval \= pd.read\_csv\('Ettm2\_results.csv'\)    
 ettm2\_eval \= ettm2\_eval.drop\(\['unique\_id'\], axis\=1\).groupby\('metric'\).mean\(\).reset\_index\(\)

实验结果与分析

表1总结了各模型在ETTm1和ETTm2数据集上的性能:

表1:不同模型在96时间步预测horizon上的性能指标。最佳结果以粗体显示。

可以观察到:

  1. 对于ETTm1数据集,RMoK模型在MSE指标上取得了最佳成绩。
  2. 在ETTm2数据集上,RMoK模型在MAE和MSE两个指标上都优于其他模型。

这些结果表明,RMoK模型在长期时间序列预测任务中展现出了强大的性能,能够与当前最先进的预测方法(如TSMixer和PatchTST)相媲美,甚至在某些情况下表现更优。

总结

本研究深入探讨了可逆KAN混合(RMoK)模型,这是一种将不同KAN专家层巧妙结合的创新模型,专门用于时间序列预测任务。RMoK模型的核心优势在于:

  1. 利用Wav-KAN提取频率和位置信息
  2. 通过JacobiKAN捕捉长期变化趋势
  3. 使用TaylorKAN精确建模局部短期变化

实验结果证实,将这些专家层作为混合专家系统组合使用,能够显著提升模型在预测任务中的表现。需要强调的是,本实验旨在展示如何在Python环境中实现和应用RMoK模型,而非提供一个全面的基准测试。尽管如此,实验结果仍然令人鼓舞,表明RMoK模型在实际应用中具有巨大潜力。

未来研究方向

  1. 在更多样化的数据集上进行全面的基准测试,以进一步验证RMoK模型的泛化能力。
  2. 探索RMoK模型在不同领域(如金融、气象学、生物信息学等)中的应用潜力。
  3. 研究如何进一步优化RMoK模型的架构,以提高其计算效率和预测准确度。
  4. 调研RMoK模型与其他先进技术(如注意力机制、图神经网络等)的结合可能性。

通过持续的研究和改进,相信RMoK模型将在时间序列预测领域发挥越来越重要的作用,为解决复杂的预测问题提供有力支持。

参考资料:

KAN4TSF: Are KAN and KAN-based models Effective for Time Series Forecasting

https://arxiv.org/pdf/2408.11306

KAN: Kolmogorov-Arnold Networks

https://arxiv.org/pdf/2404.19756

RMoK

https://github.com/2448845600/KAN4TSF




#SDM

第三代神经网络和扩散模型强强联合!FID最多超基线12倍,能耗省60%,实力SOTA!

本文介绍了一种新型的脉冲扩散模型(SDM),它结合了第三代神经网络和扩散模型的优势,在图像生成领域实现了显著的性能提升。SDM通过引入时间脉冲机制(TSM)和阈值引导策略,提高了去噪图像的质量,并在CIFAR-10数据集上的FID分数上超越了SNN基线模型多达12倍,同时节省了约60%的能耗。

论文链接:https://arxiv.org/pdf/2408.16467

代码链接:https://github.com/AndyCao1125/SDM

亮点直击

  • 本文提出了脉冲扩散模型(Spiking Diffusion Model, SDM),一种高质量的图像生成器,在基于SNN的生成模型中实现了SOTA性能。
  • 从生物学的角度出发,本文提出了一种时间脉冲机制(Temporal-wise Spiking Mechanism, TSM),使脉冲神经元能够捕捉更多的动态信息,从而提高去噪图像的质量。
  • 大量结果显示,SDM在CIFAR-10数据集上的FID分数上超越了SNN基线模型多达12倍,同时节省了约60%的能耗。此外,本文提出了一种阈值引导策略,以进一步提高生成性能。

近年来,脉冲神经网络(Spiking Neural Networks, SNNs)因其超低能耗和高生物可塑性相比传统人工神经网络(Artificial Neural Networks, ANNs)而受到关注。尽管SNNs具有独特的优势,但其在计算密集型的图像生成领域的应用仍在探索之中。本文提出了脉冲扩散模型(Spiking Diffusion Models, SDMs),一种创新的基于SNN的生成模型家族,能够以显著降低的能耗生成高质量样本。特别地,本文提出了一种时间脉冲机制(Temporal-wise Spiking Mechanism, TSM),使SNNs能够从生物可塑性角度捕捉更多的时间特征。此外,本文提出了一种阈值引导策略,可以在不进行额外训练的情况下将性能提高多达16.7%。本文还首次尝试使用ANN-SNN方法进行基于SNN的生成任务。大量实验结果表明,本文的方法不仅在少量脉冲时间步中表现出与其ANN对应模型相当的性能,而且在很大程度上优于之前基于SNN的生成模型。此外,本文还展示了SDM在大规模数据集(例如LSUN卧室)上的高质量生成能力。这一发展标志着SNN基生成能力的一个重要进步,为未来实现低能耗和低延迟的生成应用开辟了新的研究途径。

方法A. 峰值前残差学习

本文首先分析了先前脉冲神经网络(SNNs)中的残差学习方法存在的局限性和概念不一致性,特别是SEW ResNet,其公式可以表示为:

其中,  表示在第  层经过批归一化(BN)和卷积操作后的输出,  表示在公式 (2) 中的脉冲神经元激活函数。这种残差结构直接继承自传统的人工神经网络(ANN)ResNet 架构。然而, 这种方法存在一个根本性的问题, 即残差块的输出范围问题。问题的核心在于脉冲神经元的输出  和  是二进制脉冲序列, 取值在集合  中。因此, 当这些序列在残差结构  中相加时, 结果的输出范围扩展到  。在这种情况下, 值  的出现是非生物学的, 代表了与合理的神经激活模式的偏离。这种溢出情况不仅削弱了模型的生物真实性, 还可能在前向传播过程中破坏信息的有效传递。

受 [61], [62] 的启发,本文在本文的脉冲UNet中采用了激活-卷积-批量归一化(Activation-Conv-BatchNorm)结构的预脉冲残差学习方法,解决了基于卷积的SNNs中梯度爆炸/消失和性能下降的双重挑战。通过预脉冲块,残差和输出通过浮点加法操作进行求和,确保在进入下一个脉冲神经元之前表示是准确的,同时避免了上述病态情况。整个预脉冲残差学习过程在一个残差块内可以表示如下:

通过预脉冲残差机制, 残差块的输出可以通过两个浮点数  和  在相同尺度上进行求和, 然后进入下一个块的脉冲神经元, 这确保了能量消耗仍然非常低。

B. 时间明智的峰值机制

首先从生物学角度重新审视了传统脉冲神经网络(SNNs)的不足, 并提出了一种新的时间脉冲机制(TSM), 通过引入时间参数来调整权重, 以捕捉时间动态。考虑在第  层的脉冲输入为  ,其中  表示小批量大小。对于每个时间步  ,神经元将通过方程(1)更新其暂时的膜电位, 其中 , 而  表示第  卷积层的权重矩阵。传统的SNNs会在进行膜电位更新时将输入的时间维度  和通道维度  融合为 , 然后通过二维卷积操作计算。这导致每个时间步的输入都由相同的权重矩阵操作。然而, 在真实的神经系统中, 皮质锥体细胞在常规网络活动中会接收到强烈的兴奋性和抑制性突触后电位。此外, 不同的觉醒状态可以改变膜电位并影响突触整合。这些研究共同表明, 每一时刻的神经元输入由于网络状态和其他因素的影响而经历了显著的波动, 而不是主要由固定的突触权重控制。

为了在时间上提供更多的动态信息, 本文提出了时间脉冲机制(TSM, 见下图3), 这保证了每一时刻的输入信息都通过与时间步  相关的时间参数  进行计算:

51c视觉~合集28_视觉_42

在下面算法1中精确描述了SDMs的整个学习过程。具体来说, 学习流程包括:(1)训练阶段和(2)微调阶段。在训练阶段, 本文首先使用预脉冲块训练SDMs, 然后在微调阶段利用TSM块对模型进行微调。本文仅使用少量迭代(如果  训练迭代次数)来微调本文的模型。值得注意的是, 由于  只是一个标量, TSM引起的额外计算成本可以忽略不计。通过计算 , 本文可以进一步优化  和  的参数, 以获得令人满意的网络。SNN-UNet和  的详细学习规则可以在附录中找到。

总而言之,TSM允许膜电位在时间域内动态更新,从而提高捕捉潜在时间依赖特征的能力。后续实验表明,TSM机制优于传统的固定更新机制。

C. SDM 中的阈值指导

如前文所述, 可以通过将得分  替换为得分网络  或缩放噪声网络  来实现采样, 同时按照方程(5)离散化反向SDE。由于网络估计的不准确性, 本文有  在大多数情况下。因此, 为了获得更好的采样结果, 本文可以离散化以下修正后的反向SDE:

51c视觉~合集28_视觉_43

这里,  表示得分网络或缩放噪声网络, 而  表示原始反向SDE的修正项。省略修正项  会导致离散化误差减少, 并提高采样性能。然而, 由于  的难以计算, 实际计算存在挑战。

鉴于存在估计误差, 方程(17)促使本文研究是否可以在无需额外训练的情况下, 通过计算  来提升采样性能。SNN 中的一个关键参数是脉冲阈值, 记为 , 它直接影响 SNN 的输出。例如, 较小的阈值会鼓励更多的脉冲发生, 而较大的阈值会抑制这些脉冲。在训练过程之后, 本文可以在 SNN 中调整阈值, 以估计修正项 , 具体如下:

在训练阶段使用的阈值记为 , 而在推理阶段调整后的阈值记为  。通过泰勒展开可以得到第一个方程。方程 (18) 表明, 当导数项与修正项相关时, 调整阈值可以提升最终的采样结果。本文将阈值降低的情况称为抑制性引导, 反之称为兴奋性引导。

理论能耗计算

在本节中,本文描述了计算脉冲UNet架构理论能耗的方法。该计算包括两个主要步骤:确定架构中每个模块的突触操作(SOPs),然后基于这些操作估算整体能耗。脉冲UNet每个模块的突触操作可以如下量化:

51c视觉~合集28_视觉_44

其中,  表示脉冲 UNet中的模块编号,  是该模块输入脉冲序列的发放率,  是脉冲神经元的时间步长。 指的是第  个模块的浮点运算次数, 即乘加(MAC)操作的次数。而SOPs 是基于脉冲的累加(AC)操作的次数。

为了估算脉冲扩散模型的理论能耗, 本文假设MAC和AC操作是在 45 nm 硬件上实现的, 其能耗分别为  和  。根据 [65], [66], 脉冲扩散模型的理论能耗计算如下:

其中,  和  分别表示卷积层(Conv)和全连接层(FC)的总层数。

 和  分别是每次 MAC 和 AC 操作的能耗。FLOPSNNConv 指的是第一个卷积层的浮点运算次数, SOPSNNConv 和 SOPSNNFC 分别是第  个卷积层和第  个全连接层的突触操作次数。

通过 ANN-SNN 转换实施尖峰扩散模型

在本文中,本文首次利用ANN-SNN方法成功实现了SNN扩散。本文采用了Fast-SNN方法来构建量化ANN与SNN之间的转换。由于这一实现并不是本文论文的主要贡献,本文将简要描述ANN-SNN的原理,更多细节可以在[67]中找到。

从ANN转换为SNN的核心思想是将量化ANN的整数激活映射为脉冲计数, 即将  转换为脉冲计数 , 即将  转换为  。构建具有整数激活的量化 ANN自然等同于使用输出均匀分布值的量化函数来压缩激活。这种函数将ANN中具有ReLU激活函数的神经元 i 在第1层的全精度激活  进行空间离散化, 公式如下:

51c视觉~合集28_视觉_45

其中,  表示空间量化值,  表示位数(精度), 状态数为  表示四舍五入操作符,  表示剪切阈值, 决定输入  的剪切范围,  是一个剪切操作符, 将  限制在  范围内。

在SNN中, 脉冲积分发放 (IF) 神经元本质上将膜电位  量化为一个由发放率  表示的量化值

51c视觉~合集28_视觉_46

其中,  表示基于脉冲的量化值, floor  表示向下取整操作符。假设膜电位的值总是满足为输入电流值的  倍:  。将公式 (22) 与公式 (21) 进行比较, 本文令 ,  。由于向下取整操作符可以转换为四舍五入操作符:

51c视觉~合集28_视觉_47

通过将下一层的权重缩放到,本文将公式 (22) 重写为以下公式:

51c视觉~合集28_视觉_48

因此, 通过建立离散ReLU值与脉冲发放率 (见公式24) 的等价关系, 本文在量化的人工神经网络(ANN)与脉冲神经网络(SNN)之间架起了一座桥梁。需要注意的是,  的假设仅在直接接收电流作为输入的第一个脉冲层中成立。然而, 随着网络的加深, 膜电位与输入电流之间的相互作用变得越来越复杂, 偏离了简单的线性关系。这种复杂性是ANN-SNN转换过程中误差逐渐积累的根本原因之一。

实验A. 实验设置数据集和评估指标

为了展示所提算法的有效性和效率,本文在以下数据集上进行实验:32×32 MNIST、32×32 FashionMNIST 、32×32 CIFAR-10和 64×64 CelebA。定性结果根据Frechet Inception Distance(FID,越低越好)和Inception Score(IS,越高越好)进行比较。FID分数是通过比较50,000张生成图像与数据集的相应参考统计数据来计算的。

实现细节

对于直接训练方法, 本文的Spiking UNet继承了标准的UNet架构, 且不使用注意力块。在超参数设置方面, 本文将公式 (1) 中的衰减率  设置为 1.0 , 脉冲阈值  设置为 1.0 。SNN 的仿真时间步长为  。学习率设置为 , 批量大小为 128 , 并且本文在没有使用指数移动平均 (EMA) 的情况下训练模型。ANN UNet同样不使用注意力块, 其训练过程与SNN-UNet—致。对于ANN-SNN方法, 本文采用与Fast-SNN相同的实现, 但不使用signed-IF神经元, 因为该神经元在扩散任务中起负面作用。更多的超参数设置细节可以在附录中找到。

B. 与最先进的方法比较

在下表 I 中,本文展示了本文的脉冲扩散模型(SDMs)与当前最先进的生成模型在无条件生成任务中的比较分析。本文还包括了ANN的结果作为参考。定性结果展示在下图4中。本文的结果表明,SDMs在所有数据集上均显著优于SNN基线,即使在较少的脉冲仿真步数(4/8)下也是如此。特别是,SDDPM在CelebA数据集上相比FSVAE和SGAD(两者均为16个时间步)分别有4倍和6倍的FID提升,而在CIFAR-10数据集上则有11倍和12倍的提升。正如预期的那样,随着时间步的增加,样本质量也会提高。本文还注意到,结合TSM后,性能进一步提升,而模型参数仅有微小增加(2e-4 M)。SDMs还可以处理快速采样求解器,并在较少的步骤中获得更高的采样质量(见下表VI)。重要的是,SDMs在使用相同的UNet架构下获得了与ANN基线相当的质量,甚至超过了一些ANN模型(例如,15.45 vs. 19.04)。这一结果突显了本文模型中使用的SNN的卓越表达能力。

C. 与 ANN-SNN 方法的比较

为了验证SDM在ANN-SNN方法下的生成能力,本文在32×32 CIFAR-10和64×64 FFHQ数据集上进行了实验。如下表II所示,ANN-SNN方法在CIFAR-10上表现出色(即51.18 FID),并且在微调策略后显著提高了图像质量(即29.53 FID)。然而,ANN-SNN的结果与直接训练的结果之间仍存在差距。尽管ANN-SNN方法在基于分类的任务中表现出与ANN相当的性能,但在生成任务方面仍缺乏深入的研究。ANN-SNN方法的定性结果展示在下图7中。

D. 时间性尖峰机制的有效性

为了更好地可视化TSM模块带来的性能提升,本文提供了使用SDDIM生成的CIFAR-10图像结果,分别展示了有和没有TSM模块的情况。这里本文使用DDIM而不是DDPM进行比较,因为DDIM基于常微分方程(ODEs)操作,确保了确定性和一致的生成结果。相比之下,DDPM依赖于随机微分方程(SDEs),在生成过程中引入了随机性,导致输出图像的可变性,从而使直接比较变得具有挑战性。

下图5中的结果显示,带有TSM模块的生成图像质量有显著提高。与没有TSM模块的图像相比,这些图像的轮廓更加清晰,背景更为清晰,纹理细节更丰富,从而证明了TSM的有效性。

E. 阈值指导的有效性

在前文中,本文提出了一种无需训练的方法:阈值引导(Threshold Guidance,TG),旨在通过在推理阶段仅略微调整脉冲神经元的阈值水平来提高生成图像的质量。如下表III所示,通过阈值调整进行抑制性引导显著提升了图像质量,在两个关键指标上都有所改善:FID分数从19.73下降到19.20,阈值减少0.3%;IS分数从7.44上升到7.55,阈值减少0.2%。相反,在某些条件下,兴奋性引导同样可以提高采样质量。这些发现强调了阈值引导作为一种在训练后显著提高模型效果的方法的潜力,而无需额外的训练资源。本文在附录中提供了更多关于阈值引导的解释。

F. TSM方法分析

为了评估前文中提出的时间脉冲机制(Temporal-wise Spiking Mechanism,TSM)的效果,本文计算了所有层的时间参数的平均值。如图6所示,每个实例都展示了不同的TSM值,这强调了每个时间步的重要性是独特的。本文注意到,随着时间步数的增加,的变化趋势呈现出递增的模式,这表明在传输过程中,后期阶段传递的信息具有更大的重要性。因此,TSM值可以作为时间调整因子,使SNN能够理解和融合时间动态,从而提高生成图像的质量。

G. 计算成本评估

为了进一步强调本文SDM的低能耗特性,本文对比分析了所提出的SDDPM与其对应的ANN模型在FID和能耗方面的表现。如表IV所示,当时间步长设定为4时,SDDPM的能耗显著降低,仅为其ANN对应模型的37.5%。此外,SDDPM的FID也提高了0.47,表明本文的模型在有效减少能耗的同时保持了竞争力的性能。当本文将分析扩展到不同的时间步长增量时,可以观察到一个明显的模式:随着时间步长的增加,FID分数有所改善,但代价是能耗的增加。这一观察结果表明,随着时间步长的增加,FID改善与能耗之间存在权衡。

H. 消融研究不同组件对SDM的影响

本文首先在CIFAR-10数据集上进行消融研究,以探讨时间脉冲模块(TSM)和阈值引导(TG)的影响。如下表V所示,本文发现TSM和TG都对图像质量的提升有贡献。通过同时使用TSM和TG,本文获得了最佳的FID结果,相较于原始的SDDIM提升了18.4%。

SDM在不同求解器上的有效性

在下表VI中,本文验证了SDM在各种扩散求解器上的可行性和有效性。SDDIM在采样步骤上表现出更稳定的性能,而Analytic-SDPM展示了卓越的能力,达到了新的最先进性能,超越了ANN-DDIM的结果。总之,本文的SDM证明了其在处理任何扩散求解器方面的高效性,并且本文相信利用本文的SDM还有很大的潜力进一步提升FID性能。

讨论 & 结论

本研究提出了一种新的基于SNN的扩散模型家族,称为脉冲扩散模型(SDMs),它结合了SNN的能效优势和卓越的生成性能。SDMs在SNN基线中以更少的脉冲时间步长达到了最先进的结果,并且与ANNs相比,能耗更低。SDMs主要受益于两个方面:(1) 时间脉冲机制(TSM),它使去噪网络SNN-UNet的突触电流在每个时间步长中能够收集更多的动态信息,而不是像传统SNN那样由固定的突触权重控制;(2) 无需训练的阈值引导(TG),通过调整脉冲阈值进一步提高采样质量。

然而,本文工作的一个限制是SNN-UNet的时间步长相对较小,未能充分挖掘SDMs的全部潜力。此外,还应考虑在更高分辨率的数据集(如ImageNet)上进行测试。在未来的研究中,本文计划探索SDMs在生成领域的进一步应用,例如文本-图像生成,并尝试将其与先进的语言模型结合,以实现更有趣的任务。





#KAN干翻MLP

开创神经网络新范式!一个数十年前数学定理,竟被MIT华人学者复活了

KAN的诞生,开启了机器学习的新纪元!而这背后,竟是MIT华人科学家最先提出的实践想法。从KAN到KAN 2.0,这个替代MLP全新架构正在打开神经网络的黑盒,为下一步科学发现打开速通之门。

KAN的横空出世,彻底改变了神经网络研究范式!

神经网络是目前AI领域最强大的工具。当我们将其扩展到更大的数据集时,没有什么能够与之竞争。

圆周理论物理研究所研究员Sebastian Wetzel,对神经网络给予了高度的评价。

然而,万事万物并非「绝对存在」,神经网络一直有一个劣势。

其中一个基本组件——多层感知器(MLP),尽管立了大功,但这些建立在MLP之上的神经网络,却成为了「黑盒」。

因为,人们根本无法解释,其中运作的原理。

51c视觉~合集28_视觉_49

为此,AI界的研究人员们一直在想,是否存在不同类型的神经网络,能够以更透明的方式,同样输出可靠的结果?

是的,的确存在。

2024年4月,MIT、加州理工等机构研究人员联手提出,新一代神经网络架构——Kolmogorov-Arnold network(KAN)。

它的出现,解决了以上的「黑盒」问题。

论文地址:https://arxiv.org/pdf/2404.19756

比起MLP,KAN架构更加透明,而且几乎可以完成普通神经网络,在处理某类问题时的所有工作。

值得一提的是,它的诞生源于上个世纪中期一个数学思想。

数学家Andrey Kolmogorov和Vladimir Arnold

这个已经埋了30多年的数学原理,如今在DL时代被这位华人科学家和团队重新发现,再次发光发亮。

虽然,这项创新仅仅诞生了5个月的时间,但KAN已经在研究和编码社区,掀起了巨浪。

约翰霍普金斯大学计算机教授Alan Yuille赞扬道,KAN更易于解释,可以从数据中提取科学规则,因此在科学领域中有着极大的应用」。

让不可能,成为可能

典型的神经网络工作原理是这样的:

一层层人工神经元/节点,通过人工突触/边,进行连接。信息经过每一层,经过处理后再传输到下一层,直到最终将其输出。

对边进行加权,权重较大的边,比其他边有更大的影响。

在所谓的训练期间,这些权重会不断调整,最终使得神经网络输出越来越接近正确答案。

神经网络的一个常见的目标是,找到一种数学函数、曲线,以便最好地连接某些数据点。

它们越接近这个函数,预测的结果就越准确。

假设神经网络模拟了物理过程,理想情况下,输出函数将代表描述该物理过程的方程,相当于物理定律。

对于MLP来说,会有一个数学定理,告诉你神经网络能多接近最佳可能函数。

这个定理表明,MLP无法完美地表示这个函数。

不过,在恰当的情况下,KAN却可以做到。

KAN以一种不同于MLP的方式,进行函数拟合,将神经网络输出的点连接起来。

它不依赖于带有数值权重的边,而是使用函数。

同时,KAN的边函数是非线性和可学习的,这使得它们比MLP更灵活、敏感。

然而,在过去的35年里,KAN被认为在实际应用中,切不可行。

1989年,由MIT物理学家转计算机神经科学家Tomaso Poggio,共同撰写的一篇论文中明确指出:

KAN核心的数学思想,在学习神经网络的背景下是无关紧要的。

Poggio的一个担忧,可以追溯到KAN核心的数学概念。

论文地址:http://cbcl.mit.edu/people/poggio/journals/girosi-poggio-NeuralComputation-1989.pdf

1957年,数学家Andrey Kolmogorov和Vladimir Arnold在各自但相互补充的论文中证明——如果你有一个使用多个变量的单一数学函数,你可以把它转换成多个函数的组合,每个函数都有一个变量。

然而,这里有个一个重要的问题。

这个定理产生的单个变量函数,可能是「不平滑的」,意味着它们可能产生尖锐的边缘,就像V字的顶点。

这对于任何试图使用这个定理,重建多变量函数的神经网络来说,都是一个问题所在。

因为这些更简单的单变量部分,需要是平滑的,这样它们才能在训练过程中,学会正确地调增匹配目标值。

因此,KAN的前景一直以来黯淡无光

MIT华人科学家,重新发现KAN

直到去年1月,MIT物理学研究生Ziming Liu,决定重新探讨这个话题。

他和导师Max Tegmark,一直致力于让神经网络在科学应用中,更加容易被人理解,能够让人们窥探到黑匣子的内部。

然而,这件事一直迟迟未取得进展。

可以说,在这种「走投无路」的情况下,Liu决定在KAN上孤勇一试。

导师却在这时,泼了一盆冷水,因为他对Poggio论文观点太过熟悉,并坚持认为这一努力会是一个死胡同。

不过,Ziming Liu却没有被吓到,他不想在没有先试一下的情况下,放弃这个想法。

随后,Tegmark也慢慢改变了自己的想法。

他们突然认识到,即使由该定理产生的单值函数,是不平滑的,但神经网络仍可以用平滑的函数逼近数值。

Liu似乎有一种直觉,认定了KAN便是那个拯救者。

因为自Poggio发表论文,已经过了35年,当下的软件和硬件取得了巨大的进步。

在2024年,就计算来讲,让许多事情成为可能。

大约肝了一周左右的时间,Liu深入研究了这一想法。在此期间,他开发了一些原型KAN系统,所有系统都有两层。

因为Kolmogorov-Arnold定理本质上为这种结构提供了蓝图。这一定理,明确地将多变量函数分解为,不同的内部函数和外部函数集。

这样的排列,使其本身就具备内层和外层神经元的两层架构。

但令Liu沮丧的是,所设计的原型KAN并没有在科学相关任务上,表现地更好。

导师Tegmark随后提出了一个关键的建议:为什么不尝试两层以上的KAN架构,或许能够处理更加复杂的任务?

一语点醒梦中人。

这个开创性的想法,便成为他们突破的关键点。

这个羽翼未丰的原型架构,为他们带来了希望。很快,他们便联系了MIT、加州理工、东北大学的同事,希望团队能有数学家,并计划让KAN分析的领域的专家。

实践证明,在4月份论文中,小组团证明了三层KAN,确实是可行的。

他们给出了一个示例,三层KAN可以准确地表示一个函数,而两层KAN却不能。

51c视觉~合集28_视觉_50

不过,研究团队并没有止步于此。自那以后,他们在多达六层的KAN上进行了实验,每一层,神经网络都能与更复杂的输出函数,实现对准。

论文合著作者之一 Yixuan Wang表示,「我们发现,本质上,可以随心所欲堆叠任意多的层」。

发现数学定理碾压DeepMind

更令人震惊的是,研究者在两个现实的世界问题中,对KAN完成了验证。

第一个,是数学一个分支中的「纽结理论」。

2021年,DeepMind团队曾宣布,他们已经搭建了一个MLP,再获得足够纽结的其他属性后,可以预测出给定纽结的特定拓扑属性。

三年后,全新的KAN再次实现了这一壮举。

而且,它更进一步地呈现了,预测的属性如何与其他属性相关联。

论文一作Liu说,「这是MLP根本做不到的」。

第二个问题是,设计凝聚态物理中的一种现象,称为Anderson局域化。

其目的是,预测特定相变将发生的边界,然后确定描述该过程的数学公式。同样,也只有KAN做到了在这一点。

Tegmark表示,「但与其他形式的神经网络相比,KAN的最大优势在于其可解释性,这也是KAN近期发展的主要动力」。

在以上的两个例子中,KAN不仅给出了答案,还提供了解释。

他还问道,可解释性意味着什么?

「如果你给我一些数据,我会给你一个可以写在T恤上的公式」。

终极方程式?

KAN这篇论文的出世,在整个AI圈引起了轰动。

AI大佬们纷纷给予了高度的评价,有人甚至直呼,机器学习的新纪元开始了!

目前,这篇论文在短短三个月的时间里,被引次数近100次。

很快,其他研究人员亲自入局,开始研究自己的KAN。

6月,清华大学等团队的研究人员发表了一篇论文称,他们的 Kolmogorov-Arnold-informed neural network(KINN),在求解偏微方程(PDE)方面,明显优于MLP。

对于研究人员来说,这可不是一件小事,因为PED在科学中的应用无处不在。

论文地址:https://arxiv.org/pdf/2406.11045

紧接着,7月,来自新加坡国立大学的研究人员们,对KAN和MLP架构做了一个全面的分析。

他们得出结论,在可解释性的相关任务中,KAN的表现优于MLP,同时,他们还发现MLP在计算机视觉和音频处理方面做的更好。

而且,这两个网络架构在NLP,以及其他ML任务上,性能大致相当。

这一结果在人意料之中,因为KAN团队的重点一直是——科学相关的任务,而且,在这些任务中,可解释性是首要的。

论文地址:https://arxiv.org/pdf/2407.16674

与此同时,为了让KAN更加实用、更容易使用。

8月,KAN原班人马团队再次迭代了架构,发表了一篇名为「KAN 2.0」新论文。

论文地址:https://arxiv.org/pdf/2408.10205

他们将其描述为,它更像是一本用户手册,而非一篇传统的论文。

论文合著者认为,KAN不仅仅是一种达到目的的手段,更是一种全新的科学研究方法。

长期以来,「应用驱动的科学」在机器学习领域占据主导地位,KAN的诞生促进了所谓的「好奇心驱动的科学」的发展。

比如,在观察天体运动时,应用驱动型研究人员,专注于预测它们的未来状态,而好奇心驱动型研究人员,则希望揭示运行背后的物理原理。

Liu希望,通过KAN,研究人员可以从中获得更多,而不仅仅是在其他令人生畏的计算问题上寻求帮助。

相反,他们可能会把重点放在,仅仅是为了理解,而获得理解之上。

参考资料:

https://www.quantamagazine.org/novel-architecture-makes-neural-networks-more-understandable-20240911/