GitHub star量过千,HF榜单第二,第一个会自己改学习规则的视觉骨干开源了

机器之心 2026-10-18 09:17

GitHub star量过千,HF榜单第二,第一个会自己改学习规则的视觉骨干开源了图1

机器之心发布


人眼在观察陌生事物时,从来不是按一套死板的程序走到底的。


读一封字迹潦草的手写信,最难认的往往是开头几个字。看得多了,我们渐渐摸清写信人的笔画和连笔习惯,后面的字也就越认越顺。医生阅片、考古学者辨认拓片,也有类似的经验:前面识别出的线索,会影响后面如何观察和判断。


这看起来是一件很自然的事,但对视觉 AI 而言,要实现并不简单。


一张图片进入模型后,哪些区域需要重点关注、不同位置的特征怎样关联,模型已经能够根据眼前的画面作出调整。可在很多现有架构里,决定信息如何被学习、该更新多少、哪些旧信息应当保留的规则,仍主要由训练阶段确定。换一张图片,模型的计算结果会改变,背后的许多学习规则却不会跟着改变。


明略科技与中国科学院自动化研究所的研究团队,正试图推动这一步。双方联合提出 VisionHOPE—— 首个以自修改学习系统为核心构建的通用视觉骨干网络。


它让模型在一次前向计算中,一边读取和保存图像信息,一边根据已读到的内容更新自己的学习方式。前面看过的区域,能够参与决定后面的特征怎样建立关联、学习步长该有多大、已有记忆应保留多少。


这项研究并不只停留在机制设计上。在 ImageNet-1K 图像分类基准上,拥有 52.9M 参数的 VisionHOPE-S 取得 85.2% 的 Top-1 准确率,参数量不到 VMamba-B(89M)的六成,准确率高出 1.3 个百分点;VisionHOPE-B 的准确率达到 85.6%。同时,其自修改机制的核心计算量随 Token 数量线性增长。


论文发布后曾登上 Hugging Face 每日论文榜第 2 名,GitHub 开源仓库也在短时间内收获了近 1000 Stars。目前,研究团队已将全部代码、底层算子与预训练权重按 MIT 协议向社区开放。


GitHub star量过千,HF榜单第二,第一个会自己改学习规则的视觉骨干开源了图2



视觉模型越来越会 “看”,

但学习规则还可以更灵活


要理解 VisionHOPE 的新意,可以先看视觉骨干这些年的变化。


早期的卷积神经网络(CNN)擅长从局部捕捉边缘、纹理等信息。它使用训练好的卷积核提取特征,图像中距离较远的区域,需要经过多层计算才能建立联系。后来出现的视觉 Transformer(ViT),借助自注意力机制,让不同位置能够根据当前图像直接交互。模型看到了更大范围的内容,但生成注意力的投影参数依然固定,而且全局注意力的计算量会随着 Token 数量平方增长,图像尺寸越大,计算压力越明显。


再往后,Mamba 等状态空间模型通过沿序列传递状态,将计算复杂度降至线性。状态转移可以随当前输入变化,但负责从输入生成状态转移的映射,仍由训练阶段确定。TTT(测试时训练)又向前走了一步:它在网络内部设置小型学习器,允许学习器处理图像时更新自身参数。不过,生成学习表征,以及控制更新步长和记忆保留的规则,仍主要在训练时设定。


沿着这条路线看,研究者一直在扩展模型对 “当前这张图” 的适应范围:从局部特征,到全局交互、动态状态,再到内部学习器的参数更新。VisionHOPE 进一步把决定学习方式的参数也纳入了图像内部的更新过程。


GitHub star量过千,HF榜单第二,第一个会自己改学习规则的视觉骨干开源了图3

图片 1|不同视觉架构对当前图像的适应方式:从局部特征、全局交互和状态转移,到内部学习器更新,再到自修改学习。箭头表示图像内适应范围逐步扩大。


这一设计建立在嵌套学习(Nested Learning,NL)及其 HOPE 架构的自指机制之上。简单说,模型处理图像时积累的内容,不只留待最后生成识别结果,还会反过来参与下一步学习规则的调整。


这件事之所以值得关注,也与视觉骨干本身的地位有关。无论是图像识别,还是需要结合图像与语言的多模态系统,视觉骨干都负责提供最基础的视觉表征。此前,MMVP 已揭示多模态模型在基础视觉辨别能力上的缺陷;Cambrian-1 的研究则表明,改善视觉表征能够进一步提升多模态能力。视觉底座怎样理解图像,关系到上层模型能够获得怎样的信息。


GitHub star量过千,HF榜单第二,第一个会自己改学习规则的视觉骨干开源了图4

表1|不同视觉架构对当前图像的适应方式


把 “怎么学” 交给记忆:

VisionHOPE 的三个关键设计


让模型修改自己的学习规则,可以拓展模型的表达能力,但也带来了理论和工程上的新问题。在以自指嵌套学习模块 SRNL 构建通用视觉骨干时,研究团队重点解决了三个问题:记忆如何组织与更新,自指反馈如何保持稳定,以及序列递推如何适配二维图像并高效计算。


五类记忆协同,让 “怎么学” 也随画面变化


VisionHOPE 的核心是一个名为 SRNL(自指嵌套学习)的模块。可以把它理解为一套会随着读图过程不断调整的记忆系统。普通的记忆机制着重保存模型已经看到了什么,SRNL 除了保存内容,还会维护影响下一步学习的规则。为此,研究团队设计了五类可更新的参数记忆。


其中,内容记忆保存图像信息,供后续读取和输出;Key 记忆负责生成写入索引,让新信息与已有记忆建立关联;Value 记忆参与生成内部学习目标,决定当前学习要朝什么方向修正;学习率记忆控制每次更新的幅度;保留率记忆则决定旧信息在更新时保留多少。


GitHub star量过千,HF榜单第二,第一个会自己改学习规则的视觉骨干开源了图5

表 2|五类记忆的分工


五类记忆的分工不同,但参与的是同一条学习链路。每当一张新图像进入模型,它们会先从训练中学得的初始状态出发。随着新的图像特征逐个进入 SRNL,现有记忆先生成对应的 Key、Value、学习步长与保留率。随后,五类记忆分别依据自身状态构造学习目标,并将目标与当前响应比较,得到各自的学习信号,完成更新。更新后的状态接着参与下一个 Token 的计算。


回到手写信的例子:我们认出前几个字后,得到的不只是这几个字的内容,还包括对写信人笔迹的一点新认识。往后读时,哪些笔画需要格外留意、哪些相似写法可以快速归类,判断方式都可能发生变化。SRNL 希望在模型内部实现类似的连续调整,只不过它改变的是特征关联、学习步长与记忆保留等具体计算规则。


这样的更新还需要避免 “记得太多”。天空、草地或建筑物的重复纹理中,相邻区域往往包含高度相似的信息。如果每次都把新特征原样加入,重复内容就可能不断堆积。VisionHOPE 使用 Delta 梯度下降(DGD):写入前先检查当前记忆对 Key 的响应,再将需要修正的差值写进去,减少无效的重复累积。


关键在于,这些变化发生在同一张图片的处理过程中。模型读到后面的区域时,利用的是前面区域已经参与更新过的记忆,而不必等处理完图片、再重新训练一次模型。


学习规则能变,但也必须保持稳定


让记忆参与调整自己的后续更新,会带来一个直接风险:反馈可能被反复放大。假如某一步更新使记忆数值增大,下一步据此产生的学习信号也可能更强,继而推动记忆进一步增大。这种循环最终可能让训练失去稳定性。论文中的消融实验显示,移除相应约束后,训练在早期就发生了发散。


为此,团队设计了两层稳定性约束。


第一层是软注入上限,平滑地限制每次新反馈的注入强度。旧记忆的保留比例越高,允许注入的新反馈就越少,使两者之和保持在稳定范围内;


第二层是谱截断约束,限制已有记忆在传递过程中的放大幅度,只在候选步长超过稳定上限时生效。


这两层约束还有理论支撑。论文证明,在二者共同作用下,无论是逐 Token 递推还是分块递推,五类记忆的范数都不会沿扫描路径增长到超过初始状态。模型得以不断修正内部学习方式,同时将反馈放大约束在可证明的范围内。


一张图片有上下左右,计算也不能只沿一条路走


解决了 “怎么学” 与 “怎么稳”,另一个需要解决的问题是计算效率。SRNL 本身沿序列递推,但图像是二维的:仅依靠单一方向,难以充分利用上下、左右的空间关系;如果所有 Token 都严格依次更新,又会形成串行瓶颈。


VisionHOPE 因此采用四向扫描:沿行、列分别正向和反向读取图像,形成四条独立路径。每个方向都有自己的五类记忆;扫描结束后,再把结果还原到二维空间,并按通道加权融合,让不同位置能够汇集来自四个方向的信息。


而在计算效率上,为了进一步提速,模型把一整行或一整列视为一个计算块。块内各位置以块起点的记忆状态为基础,并行生成更新需要的中间量;记忆更新再在块内按顺序累积,传递到下一行或下一列。这样既保留了连续更新的机制,也让一部分计算能够借助 GPU 并行完成。


实际测试显示,在单尺度模型 P-VisionHOPE-S 中,将 14 个 Token 设为一个块,推理速度达到逐 Token 版本的 2.86 倍;两者的 Top-1 准确率分别为 82.3% 和 82.4%,差距只有 0.1 个百分点。


GitHub star量过千,HF榜单第二,第一个会自己改学习规则的视觉骨干开源了图6

图片 2 |VisionHOPE 结构。左侧为沿行列双向扫描的二维算子,各方向独立维护五类记忆,通过步长控制保持更新稳定,输出经空间还原后按通道加权融合;右侧为结合局部卷积、前馈网络与残差连接的完整 VisionHOPE Block。


让实验说话:

准确率、空间理解与计算效率


一种新的学习机制究竟有没有价值,最终还要回到图像识别任务本身。


研究团队先在 ImageNet-1K 上验证图像分类能力。在 224×224 输入分辨率下,VisionHOPE 提供 Tiny、Small、Base 三种规模。与 ConvNeXt、VMamba 的对比结果如下;论文也对 ViT 与 TTT 类骨干进行了完整比较。


GitHub star量过千,HF榜单第二,第一个会自己改学习规则的视觉骨干开源了图7

表 3|VisionHOPE 与 ConvNeXt、VMamba 在 ImageNet-1K 上的分类结果


在较小规模上,VisionHOPE-T 比 VMamba-T 少 3.4M 参数,准确率仍高出 1.5 个百分点。VisionHOPE-S 的参数量不到 VMamba-B 的六成,准确率高出 1.3 个百分点。在论文对 CNN、ViT、SSM、TTT 四类视觉骨干的比较中,VisionHOPE 各规模的结果均为最优或并列最优。


当然,识别一张图片属于什么类别,只是视觉模型的基础能力。真实图像理解还要判断物体在哪里、轮廓如何划分、画面中的不同区域分别属于什么。为此,团队又将 VisionHOPE 接入下游任务:采用 Mask R-CNN 测试 COCO 目标检测与实例分割,采用 UPerNet 测试 ADE20K 语义分割。


GitHub star量过千,HF榜单第二,第一个会自己改学习规则的视觉骨干开源了图8

表 4|VisionHOPE 在 COCO 检测分割与 ADE20K 语义分割上的表现


在 COCO 的 1× 训练设置和 ADE20K 的比较中,VisionHOPE 的三个规模均达到同规模最优或并列最优。性能提升由图像分类延续至需要空间定位、边界判断的任务,说明这套机制具有作为通用视觉骨干的潜力。


除了排行榜上的数字,研究团队还试着观察模型究竟怎样处理画面。


在第二个网络块的有效感受野对比中,ResNet-50 的响应主要集中在局部;DeiT-S 与基于 TTT 的 ViT³-S 更集中于中心附近;Vim-S 呈现明显的方向性。P-VisionHOPE-S 则覆盖了更大范围的二维区域,同时保持清晰的中心响应。这意味着它在较浅层就能够综合较大范围的图像信息。


GitHub star量过千,HF榜单第二,第一个会自己改学习规则的视觉骨干开源了图9

图 3|不同视觉骨干在第二个网络块的有效感受野对比。输入为 512×512,颜色越深表示该区域对中心特征的相对影响越强。


另一组可视化展示了学习步长在图片中的空间分布:较大的学习步长往往与主体物体、显著结构重合,背景及相对平坦的区域则较小,直观呈现出它确实在根据图像内容调整内部的学习幅度。


GitHub star量过千,HF榜单第二,第一个会自己改学习规则的视觉骨干开源了图10

图 4|图像内容与实际学习步长的空间分布。每组上行为输入图像,下行为学习步长;深色表示在该图像内采用了相对更大的步长。


步长较大的区域多与图中的主体物体和显著结构重合,背景和平坦区域的步长较小。这说明内部更新的强度会随图像内容在空间上变化,图像内容在被提取特征的同时,也参与决定了模型在各个位置如何更新记忆。需要说明的是,步长大小并不等同于参数的实际改变量,后者还取决于学习信号的大小。


代码已经开放,

既能直接使用,也能拆成模块


VisionHOPE 的研究成果已经以开源形式提供。团队开放了训练与评测流程、底层算子和预训练权重,开发者可以直接加载完整视觉骨干开展分类或下游任务,也可以只取其中的部分模块,尝试接入自己现有的网络。


具体而言,项目提供了四种调用层次:


GitHub star量过千,HF榜单第二,第一个会自己改学习规则的视觉骨干开源了图11


这四种接口覆盖了从基础序列学习研究,到二维视觉算子、完整网络模块,再到预训练模型应用的不同需求。其中,SRNL、VisionHOPEOperator 和 VisionHOPEBlock 都保持输入与输出张量的形状不变,并支持 PyTorch 自动求导,便于集成进已有模型。


在部署方面,项目提供了适用于 Linux、NVIDIA GPU、CUDA 12.1 与 Python 3.10 的安装示例,底层 CUDA 算子会在首次调用时自动编译。预训练权重可以从 Hugging Face 下载,通过 `create_model` 加载。需要加速推理时,可以使用 `prepare_for_inference` 原位融合模型参数;如果还要继续训练,建议保留一份未融合的模型。文末附录保留了完整安装及调用示例。


从读懂一张图,

到积累更长的视觉经验


VisionHOPE 现在能够做到的,是让模型在处理同一张图像时,既更新内容记忆,也更新影响后续学习的规则。五类记忆的协同、自修改过程中的稳定性约束,以及四向扫描与分块计算,共同让这件事具有可训练、可计算、可验证的实现路径。


它也留下了新的研究空间。


例如,在医学影像、遥感解译和工业检测中,细微病灶与罕见缺陷常常埋在大量视觉信息中。让模型根据图像内容调整特征关联和学习步长,或许有助于捕捉这些细节,但实际效果还需要对应任务的验证。


更长远的方向,是把这种图像内部的适应能力扩展到连续观察。长视频理解、自动驾驶、具身智能都涉及前后画面的联系,研究者可以尝试让五类耦合记忆跨越连续帧,使过去看到的信息参与后续处理。不过,当前 VisionHOPE 每处理一张新图像,记忆仍会重置到训练得到的初始状态,尚未实现跨帧持续学习。要让记忆真正沿时间积累,还需要解决场景切换时何时重置、错误信息怎样避免持续传播等问题。


另外,SRNL 作为具有稳定性保证的序列自修改模块,也为语言模型长上下文记忆,以及让图像与文本共同参与更新的跨模态记忆,提供了可以继续研究的技术入口。


那封字迹潦草的手写信,之所以越往后越容易读,是因为读者一边识别内容,一边形成对笔迹的认识。VisionHOPE 在视觉骨干中实现了与之相近的一步:让已经看过的内容,真正参与决定接下来怎样学习。


从单张图像内的自修改,到能够跨画面保留经验的视觉系统,中间还有许多技术问题需要回答。但现在,研究者已经能够从开源的模型、算子和代码入手,继续检验这条路线可以走多远。


附录|安装与调用示例


在配备 NVIDIA GPU、CUDA 12.1 工具链和 Python 3.10 的 Linux 环境中,可按以下命令完成安装,底层 CUDA 算子会在首次调用时自动编译:


conda create -n visionhope-demo python=3.10 -yconda activate visionhope-demogit clone https://github.com/PSRben/VisionHOPE.gitcd VisionHOPEpython -m pip install torch==2.1.0 torchvision==0.16.0 \  --index-url https://download.pytorch.org/whl/cu121python -m pip install -r requirements/classification.txtpython -m pip install --no-deps -e .


如需直接使用预训练模型,可从 Hugging Face 下载权重,再用 create_model 加载。仓库还提供 prepare_for_inference 函数,可在加载后原位融合模型参数以加速推理;如需继续训练,应保留一份未融合的模型:


python -m pip install --upgrade huggingface_hubhf download PSRben/VisionHOPE visionhope_tiny.pth --local-dir weights


import torchfrom visionhope.models import create_modelfrom visionhope.inference.prepare import prepare_for_inferencemodel = create_model(    "visionhope_tiny",    checkpoint_path="weights/visionhope_tiny.pth",).cuda().eval()prepare_for_inference(model)with torch.inference_mode(), torch.autocast("cuda", dtype=torch.bfloat16):    images = torch.randn(1, 3, 224, 224, device="cuda")    logits = model(images)print(logits.shape)  # torch.Size([1, 1000])


如果关注架构探索,SRNL、VisionHOPEOperator 和 VisionHOPEBlock 都保持输入输出张量形状不变,并支持 PyTorch 自动求导,可以像标准网络层一样嵌入现有模型:


import torchfrom torch import nnfrom visionhope.models import SRNL, VisionHOPEOperator, VisionHOPEBlock
# 1. 调用独立序列模块处理 [B, N, D] 特征序列srnl = SRNL(dim=128, head_dim=16, chunk_size=64).cuda()x = torch.randn(2, 257, 128, device="cuda", requires_grad=True)y = srnl(x)y.square().mean().backward()
# 2. 调用二维算子直接处理 [B, C, H, W] 矩形特征图operator = VisionHOPEOperator(dim=64, head_dim=16).cuda()features = torch.randn(2, 64, 14, 20, device="cuda")out = operator(features)
# 3. 用完整 VisionHOPEBlock 组合出一个轻量级分类网络net = nn.Sequential(    nn.Conv2d(3, 64, kernel_size=4, stride=4),    VisionHOPEBlock(dim=64, mixer_dim=32, head_dim=16),    VisionHOPEBlock(dim=64, mixer_dim=32, head_dim=16),    nn.AdaptiveAvgPool2d(1),    nn.Flatten(),    nn.Linear(64, 10),).cuda()


© THE END

转载请联系本公众号获得授权

投稿或寻求报道:liyazhou@jiqizhixin.com


关于科技区角:国内科技展会垂直内容策划服务商,提供从论坛内容全案策划、会展市场化IP打造到精准专业观众一站式邀约服务,以产业内容吸引高质量B端人群,打通展会从议题设计、演讲嘉宾邀约、宣传预热、精准邀观到供需对接全链路。
声明:内容取材于网络,仅代表作者观点,如有内容违规问题,请联系处理。
AR 开源
more
这周五,和 NVIDIA RTX Spark 见个面!
嘉宾观点 | 水晶光电:三条光波导路线,破解AR眼镜“不可能三角”
Gemini 4 Argon打穿AGI终极考场!
单目深度辅助LiDAR-相机外参联合优化标定,告别灰度互信息,复杂光照/材质下精度与鲁棒性双优
NVIDIA RTX Spark 笔记本现已上市,开启 Windows 电脑新序章!
嘉宾观点 | 水晶光电:三条光波导路线,破解AR眼镜“不可能三角”
Karpathy冷警告:全球只有5000人见过AI真本事,其他人都在认知盲区
刚刚,老黄RTX Spark开卖!740亿大模型塞进笔记本
告别“高炉迷信”?Helix Carbon如何用碳循环撬动万亿钢铁业
全球商机已就位!2026深圳国际AI+AR智能眼镜产业展海外买家名单新鲜出炉
Copyright © 2025-成都区角科技有限公司
蜀ICP备2025143415号-1
  
川公网安备51015602001305号