
你有没有想过,一段钢琴演奏的录音里,有些信息是永远也听不出来的?
比如说,钢琴家踩下了延音踏板,一个音符早就松手了,可琴弦还在震动,声音还在往外飘。你听着这段录音,会觉得这个音符"结束"的时间,是它声音消失的那一刻。可事实上,手指早在几秒钟前就已经离开了那个键。
这不是什么冷门的技术细节,而是整个钢琴自动转录(把演奏变成乐谱或 MIDI 文件的技术)领域几十年来一直绕不开的坑。今天要聊的这篇论文,做了一件很实在的事:既然耳朵听不出来真实的松手时刻,那就用眼睛看。
论文的作者们提出了一个叫 V2N(Video to Notes,视频转乐谱)的系统,专门通过看视频画面来判断钢琴家什么时候按下了键、什么时候松开、按了多用力。这是第一个能完整输出"何时按、何时松、多大力"这四项信息的纯视觉钢琴转录系统。
音频转录的老毛病:踏板一踩,时间就乱了
先说清楚这件事有多别扭。
主流的钢琴自动转录(Automatic Music Transcription,简称 AMT,就是让电脑听一段钢琴演奏,自动写出对应的乐谱或 MIDI 文件)系统,比如 2018 年谷歌提出的 Onsets and Frames,已经把"什么时候按下琴键"(onset,按键起始时刻)和"用多大力气按"(velocity,力度)做得相当准了。
但"什么时候松开琴键"(offset,按键结束时刻)这件事,音频系统天生就做不好。
原因就是踏板。钢琴的延音踏板一踩下去,琴弦的震动会持续很久,哪怕手指早就离开了琴键。所以几乎所有主流的音频转录系统,包括后来的高分辨率 onset/offset 回归方法,以及用神经网络做事件级解码的最新方案,都默认把"声音结束的时间"当作"音符结束的时间"来训练和评估。这个偏差有多大?论文里提到,跟 MIDI 里真实的 NoteOff(松键)事件相比,能差出好几秒。
好几秒是什么概念?一首快节奏的钢琴曲,一秒钟里可能已经弹了四五个音符了。音频系统给出的"音符时长",本质上测的是"这个音在空气里回响了多久",而不是"手指在这个键上停留了多久"。这两件事,在踏板没踩的时候恰好一致,一旦踏板踩下去,就彻底分道扬镳。
那为什么不干脆看视频呢?镜头怼着琴键拍,一个键被按下去和弹起来,视觉上清清楚楚,跟踏板有没有踩根本没关系。这就是"视觉钢琴转录"(Visual Piano Transcription,简称 VPT)这个研究方向存在的理由:它观察的是琴键本身的物理状态,而不是声音的衰减曲线。
不过,VPT 这条路目前走得并不顺。已有的几个系统,比如 Sight-to-Sound(S2S)、Video2RollNet(V2R)、PPAN,都有一个共同的软肋:它们看视频的"眼界"太窄了,最多只看 0.2 秒的画面(大概 5 帧),而且只在这一小段画面的正中间那一帧上打标签、算损失。这就导致这些系统在判断"按键起始"这件事上还凑合,但一到判断"松键时刻"就纷纷掉链子,论文里提到 PPAN 在 PianoVAM 数据集上,松键相关的指标只有 45.9%,比按键起始的准确率低了一大截。而且这几个系统里没有一个报告过"逐音符的力度识别准确率",也就是说,力度这件事,视觉方案里基本没人真正做出来过。
这就是这篇论文要补的三个坑:松键判断不准、力度没人做、视野太窄。
V2N 怎么设计:一套架子,四个脑袋
V2N 的核心思路可以概括成一句话:用一个共享的"时间感知骨架"处理视频,再分出四个专门的"预测头"分别负责按键、松键、按住状态和力度,而且这四个头是联合训练的,每一帧都给监督信号,不是只盯着窗口正中间那一帧。
先说输入。视频经过透视变换处理,统一裁成 800×144 像素的灰度画面,帧率 25fps,也就是每 40 毫秒一帧。画面高度不仅包含琴键,还留了一截空间拍手腕和手指的动作,这部分画面对判断力度很关键,毕竟同样是按下一个键,手腕发力的姿态和速度是能看出轻重的。
整个架构分三层。
第一层是视觉特征提取器,沿用了 S2S 论文里的设计:一个从零训练的 ResNet-18(一种经典的图像识别卷积神经网络),外加一个叫"斜率先验"(slope prior)的小技巧,本质上是学一个一维的空间映射,把画面里每个水平位置对应到 88 个琴键里的某一个。每一帧不是单独处理,而是拿一个 5 帧的小窗口(0.2 秒)联合看一眼,然后做全局平均池化,压成一个向量。
第二层是时间骨架,用的是三层 Conformer 卷积模块(一种最早用在语音识别里、靠深度卷积捕捉时间序列规律的结构,这里去掉了自注意力机制,只留卷积部分)。三层卷积核大小为 31 的深度卷积叠在一起,能让每一帧的输出"看到"整整 1 秒(25 帧)范围内的信息,而且计算量比自注意力小得多。
第三层是四个并行的任务头,每个头都是一个双向 LSTM(一种能同时看前后文的循环神经网络)加一个线性输出层。按键头、松键头、按住状态头输出的是每个琴键、每一帧的概率值,力度头则直接回归出一个连续的力度数值,而且只在真正发生按键的那一帧才计算损失,其他帧不管。
这里有个设计我觉得值得多说两句:为什么要单独搞一个"按住状态"(Key Hold)头,而不是只用"按键"和"松键"两个头?
你可以这样想:如果只告诉模型"这一帧是按键的瞬间"和"那一帧是松键的瞬间",中间那一大段"键正被按着不放"的时间,模型完全没有监督信号,只能靠猜。而"按住状态"这个头相当于给模型补上了一条密集的、逐帧的连续监督线,告诉它"从按下到松开这段时间里,每一帧这个键都应该被判定为'按着的'"。这就好比你在教一个学生做数学题,如果只给他看"题目"和"最终答案",他很难学会中间的推导过程;但如果你把每一步演算都给他看,他反而能更准地抓住整个逻辑链条。去掉这个中间监督,模型不仅松键判断会崩,连按键起始的准确率都会跟着下降,这在论文的消融实验里有直接的数据支撑,后面会讲到。
训练细节:软标签、密集采样、梯度采样
训练的时候有几个小设计挺巧妙的。
按键和松键的标签不是生硬的 0 和 1,而是一个"软三角核":以事件发生的那一帧为中心,往前后各扩展 2 帧,数值从 1.0 线性衰减到 0。这样做的道理是,人工标注的时间点难免有一两帧的抖动误差,如果标签是死板的 0/1,模型会被这种小抖动误导;用一个平滑衰减的标签,既能容忍标注误差,也能把梯度信号"摊"到周围几帧,而不是让一个孤立的正样本被一群负样本包围。
按住状态的标签就简单粗暴了,从按键到松键这整个区间,全部标 1。
力度损失只在按键发生的那一帧计算,公式上就是一个带掩码的均方误差。整体损失函数里,按键任务的权重是 2,其他三个任务权重都是 1,这个设计是照搬 Onsets and Frames 那套"强调按键、其他任务辅助"的思路。
训练时,1 秒的片段是以"1 帧为步长"密集采样的,也就是说几乎每一个可能的时间窗口都会被抽到,训练数据被打乱后跨视频混合。这样一来,每一个视频帧在训练中都有机会出现在窗口的各个相对位置上,而不只是永远待在窗口正中间。
说到这里我想到一个类比:这就好比你想让一个人学会认人脸,如果你只给他看"正对着镜头"的照片,那他一旦遇到侧脸、逆光、部分遮挡的情况就会懵。V2N 这种密集滑窗训练的方式,相当于让模型在训练阶段就见过一个事件出现在窗口里"各种位置"的样子,无论这个事件是出现在窗口的开头、中间还是结尾,模型都得学会认出它。如果不这样做,模型很可能只学会了"正中间"这种理想情况,一到真实推理时窗口滑动、事件位置漂移,判断就容易失准。
为了在单张 GPU 上塞下 1 秒(25 帧)这么长的窗口,论文还用了一个叫"梯度采样"的省内存招数:反向传播时只让 50% 的帧真正参与梯度计算,剩下的帧用 `torch.no_grad` 跑一遍前向传播就完事,这样能把反向传播的显存占用砍掉近一半,而且不影响每一帧本身获得的监督信号覆盖率。
推理阶段,模型对整段录像用 1 秒窗口、0.5 秒步长(也就是 50% 重叠)滑动扫描,每次只保留窗口正中间那 0.5 秒的预测结果,避免窗口边缘因为感受野被截断而产生的伪影。
计算量方面,V2N 每处理 1 秒视频用掉 125 GFLOPs,模型参数量 28.2M,其中视觉特征提取器占了 99% 的计算量,时间骨架和 LSTM 头加起来占不到 1%。算上 0.5 秒步长的重叠推理,实际每秒视频的计算量大约 250 GFLOPs,在一块 NVIDIA RTX 5080 显卡上用 bfloat16 精度跑,处理 1 秒视频只需要 40 毫秒,实时率(RTF)大约是 0.04,也就是比实时快 25 倍。这个开销比同类的 Li et al. 系统(视频分支约 430 GFLOPs/s)要低,跟 PPAN 相比虽然单次调用的 FLOPs 更高,但因为窗口更长、调用次数更少,实际墙钟时间反而不吃亏。
怎么把预测变成一段能弹的 MIDI
模型输出的是概率值,怎么变成具体的"某个音在某时刻开始、某时刻结束、力度多少"这样的乐谱信息呢?
论文里的做法是:先把按键、松键、按住状态这三个概率头在 0.5 的阈值上二值化,然后找"峰值",也就是从"不活跃"跳到"活跃"的那个瞬间。一个音符的起点,是按键头峰值超过阈值的位置,同时把力度头在这一帧的输出取出来作为这个音符的力度;音符的终点,优先看松键头的峰值,如果按住状态提前跌破了阈值,就以按住状态结束的时间为准,作为一个兜底方案。
这个"松键优先、按住状态兜底"的解码策略,其实是论文消融实验里验证过的一个关键改进。相比传统音频转录里常用的"只看按住状态阈值来判断结束"的方式,这种双重判断能把最严格的"位置+起始+结束+力度全部匹配"的准确率从 29.7% 一口气提到 78.3%(在 PianoVAM 数据集上,和 PPAN 相比)。
这里可以打个比方:如果只靠"按住状态"这一个信号来判断音符什么时候结束,就好比只靠"灯还亮不亮"来判断一个人是不是还在房间里。灯灭了,人可能确实走了,但也可能是他手滑碰到了开关又立刻恢复了,信号本身有噪声。而"松键头"相当于额外装了一个门磁传感器,专门盯着"这扇门有没有被真正打开过"。两个信号互相印证,比只依赖一个信号要靠谱得多。
实验结果:PianoVAM 和 R3 上的全面胜出
论文在两个数据集上做了评测。
第一个是 PianoVAM,包含 107 段俯拍钢琴视频,配有雅马哈 Disklavier(一种能精确记录演奏数据的自动演奏钢琴)同步录制的 MIDI 数据,拍摄的是业余爱好者的日常练习。测试集用了 9 段录像,总时长 1.63 小时,包含 42241 个音符。
第二个是 R3,是两位职业钢琴家 62 场排练的录像,总时长 31 小时,用 GoPro 拍摄。这个数据集又细分成 R3s(拉赫玛尼诺夫第三钢琴协奏曲)和 R3x(各类西方古典曲目),难度明显更高,因为涉及多台钢琴、多个机位、不同光照条件和更复杂的演奏技巧。
评测指标分了好几档,从松到严排列:先是逐帧的多音高准确率(不管起止时间,只看某一时刻正在响的音对不对);然后是"按键起始匹配"(在 50 毫秒或 100 毫秒容差内,音高和起始时间都对上);接下来是"起始+结束都匹配";再是"起始+力度都匹配";最严格的是"起始、结束、力度全部匹配"。
先看 PianoVAM 的结果。在最基础的按键起始指标上,V2N 达到 94.7%(50毫秒容差)和 97.0%(100毫秒容差),跟目前最强的 Li et al. 系统基本打平,差距在 0.5 个百分点以内。但真正拉开差距的是"结束时刻"相关的指标:在"起始+结束都对"这一项上,PPAN 只有 45.9%,V2N 做到了 89.5%,几乎翻了一倍。而在最严格的"全部四项都对"的指标上,PPAN 是 29.7%,V2N 是 78.3%,多出了将近 49 个百分点。
|模型|Onset 50ms|+Off 50ms|+Vel 50ms|+Off+Vel 50ms|
|---|---|---|---|---|
|S2S|60.1|21.8|(39.4)|(14.3)|
|V2R|86.5|55.4|(58.5)|(36.8)|
|Li et al.|94.2|(21.0)|(63.6)|(12.8)|
|PPAN|84.9|45.9|(57.0)|(29.7)|
|**V2N(本文)**|**94.7**|**89.5**|**82.8**|**78.3**|
(括号内数值代表该系统没有对应的功能头,比如所有基线系统都没有真正的力度预测能力,只能用固定力度填充;Li et al. 系统的松键预测则接近于零时长。)
再看 R3 数据集,难度更高,V2N 的优势反而更明显。在 R3s 上,V2N 的按键起始准确率是 80.4%(50毫秒),而其他系统全部在 60% 上下徘徊;"起始+结束"指标上,V2N 是 69.5%,其他系统最高只有 17.2%。这说明其他系统在按键起始上表现还凑合,但一旦要求同时判断结束时刻,就基本无法应对更复杂的场景。
论文特意强调,S2S 和 V2R 这两个基线是他们自己重新训练的,结果跟原论文发表的数字对得上,误差在一个百分点左右,所以 V2N 拉开的差距反映的是模型设计上的差异,而不是训练配置不公平导致的。
图 3 里有个很直观的对比:截取了一段 10 秒的 PianoVAM 演奏片段(Yiruma 的《Kiss the Rain》),画出四张"钢琴卷帘图"(piano roll,横轴是时间、纵轴是音高,矩形块的宽度代表音符时长、颜色深浅代表力度)。Li et al. 的输出里,音符几乎都是竖着的细线,说明它判断出的音符持续时间接近于零;PPAN 画出来的音符块长度看着还算合理,但所有色块的颜色几乎一模一样,因为它没有真正的力度预测能力,只能用整段的平均力度去填色;而 V2N 画出的图,音符的长短和颜色深浅的起伏跟真实标注非常接近,力度的强弱变化都能对上。
消融实验:拆解每一块设计到底值多少分
论文做了两组系统性的消融实验,一组研究"多任务头"的价值,一组研究"多帧建模"的价值。
先看多任务头这一组(表2)。研究者从只有"按住状态"这一个头开始,逐步往上叠加"力度头"、"按键头"、"松键头",同时观察训练阶段用了哪些头、推理解码阶段又用了哪些头。
结果显示,每加一个头,都能带来实打实的提升。加上力度监督和解码后,"起始+力度"指标从一个"假设固定力度"的对照值直接跳到 80.6%(50毫秒容差)。加上按键头作为辅助训练目标后,大多数指标在解码阶段还没用上这个头之前就已经改善了,等到解码时真正用上按键头,按键起始的准确率又从 93.3% 涨到 94.3%。最后加上松键头,不仅"结束时刻"相关指标在训练阶段就有提升,配合前面说的"松键优先、按住状态兜底"解码策略,最终的"起始+结束"和"全部四项匹配"指标都拿到了本轮实验里的最高分。
这组实验说明了一件事:这几个任务头之间不是互相独立、各管各的,而是相互补充、相互增强的关系。加了松键头,连带按键起始的准确率都变好了,这说明模型学到的不是四个孤立的小技能,而是一套关于"琴键物理运动"的整体理解,各个任务之间共享了有用的信号。
再看多帧建模这组消融(表3)。起点是完全照搬 S2S 论文的做法:只在 5 帧窗口(0.2秒)的正中间那一帧算损失。第一步改进是把损失扩展到全部 5 帧,按键起始提升 1.3 个百分点,"起始+结束"提升 4.5 个百分点,因为模型现在每个片段能拿到的监督信号多了差不多 5 倍,而且这个改进完全不增加推理成本。
第二步是加上 Conformer 卷积骨架,这是这组实验里单项提升最大的一步:按键起始涨了 2.5 个百分点,"起始+结束"涨了 5.7 个百分点。原因也不难理解,一个纯空间特征的模型没法区分"这个键正在被按下"和"这个键已经被按住不动"这两种视觉上很相似的状态,而加入时间序列建模之后,模型能看到"这一帧和前后几帧比起来发生了什么变化",这种变化恰恰是区分"按下瞬间"和"持续按住"的关键线索。
第三步是把输入窗口从 0.2 秒延长到 1 秒。在 PianoVAM 上这一步带来的提升不算大,按键起始和"起始+结束"各涨了不到 1 个百分点;但在难度更高的 R3 数据集上,这一步却是决定性的:V2N 在 R3s 上做到 91.7% 的按键起始准确率(100毫秒容差),而且实现了短窗口、只做按键的基线系统根本做不到的松键预测能力(88.9%)。
这里我想打一个比方。你可以把"看 0.2 秒窗口"想象成隔着门缝看人走路,只能看到一瞬间的姿势,很难判断这个人是正准备迈步还是刚刚停下;而"看 1 秒窗口"相当于把门开大一点,能看到一小段连续的动作过程,判断起来自然准得多。对于 PianoVAM 里业余练习者相对规整的演奏节奏,门缝大小差别不大都能看清;但对于 R3 里职业钢琴家演奏复杂高难度曲目时手指的快速移动,门缝开得够不够大,直接决定了模型能不能跟上动作节奏。这也解释了为什么论文最终选择用 1 秒作为两个数据集的统一默认窗口长度:不是因为每个场景都必须用这么长的窗口,而是复杂场景对窗口长度更敏感,用长窗口是一种更稳妥的选择。
论文还提到,他们尝试过借鉴音频转录领域常用的"级联式"任务头设计(前一个任务的输出作为下一个任务的输入),但没有带来有意义的提升,所以最终采用了更简单的并行任务头结构。
跨数据集迁移:换个摄像机就全崩了
这是论文里我觉得最诚实、也最值得说一说的部分。
研究者做了一个交叉验证:在 PianoVAM 上训练的模型,拿到 R3 上测试;反过来,在 R3 上训练的模型,拿到 PianoVAM 上测试。结果是灾难性的,所有系统(包括 V2N 自己)的按键起始准确率都跌到了个位数甚至接近 0。
|训练集|测试集|S2S|V2R|PPAN|V2N|
|---|---|---|---|---|---|
|PianoVAM|R3s|0.6/2.4|0.3/0.5|0.0/0.0|1.5/5.6|
|PianoVAM|R3x|0.2/1.8|0.0/0.0|0.0/0.0|0.9/2.7|
|R3s+R3x|PianoVAM|0.1/0.1|0.0/0.0|0.3/0.6|1.1/4.9|
(数字为 50毫秒/100毫秒容差下的按键起始 F1 值,百分比)
原因追根溯源是几何标准化没做到位。所有视频虽然都经过透视变换统一裁成了 800×144 像素,但这只是把"画面的像素网格"统一了,并没有把"琴键在画面里的实际位置"统一。论文里给了一个具体数字:R3 数据集里,键盘在画面里的宽度中位数大约是 784 像素,而 PianoVAM 只有 606 像素。这意味着同一个像素列,在两个数据集里对应的是完全不同的琴键,模型学到的"某个像素位置对应第几个琴键"这套映射关系,换了数据集就完全失效了。
这个发现让我想起一个很朴素的类比:这就像你训练一个人记住"教室第三排靠窗第二个座位坐的是谁",如果你换到另一间教室,哪怕座位数量、排列方式看起来差不多,"第三排靠窗第二个"对应的可能根本是另一个人。模型学到的不是"琴键本身长什么样"这种可迁移的知识,而是"这块像素区域对应哪个键"这种跟拍摄设置强绑定的死记硬背。如果不解决这个问题,视觉钢琴转录系统就永远只能在训练时见过的那种摄像机架设方式下工作,换个机位、换个焦距就得重新训练。论文里也提到,音频转录领域其实也观察到过类似的"语料库偏差"问题,这不是视觉转录独有的毛病,而是深度学习模型普遍容易掉进的一个陷阱:学到的是数据集的特定分布,而不是任务本身的通用规律。
一个意外发现:R3 数据集本身存在同步误差
论文在讨论部分还坦白了一件事:他们用 MIDI 按键序列和视频音频能量做了互相关分析(10毫?秒精度,±3秒搜索范围),发现 R3 数据集里 895 个文件中有 70 个存在超过 200 毫秒的视频与 MIDI 不同步问题,而且全部是 MIDI 数据比视频更早。
由于这个问题对所有参与对比的系统影响是一致的,论文仍然在原始测试集上报告主要结果,但也补充说明:如果剔除掉 R3x 里那 10 个受同步问题影响的测试文件,V2N 在 100毫秒容差下的各项指标都会有明显提升,按键起始从 86.6% 涨到 94.3%,"起始+结束"从 85.2% 涨到 93.2%,"起始+力度"从 69.8% 涨到 76.4%,最严格的"全部四项匹配"从 69.0% 涨到 75.7%。研究者还把每个文件具体的同步偏移量随代码一起公开了,方便后续研究者直接使用修正后的数据。
这个细节挺有意思的,它提醒我们:哪怕是学术界公开发布、被反复使用的标准数据集,也可能藏着这种细微却影响不小的标注误差,而发现这类问题本身,也是研究工作里容易被忽视但很有价值的一部分。
这项工作还没解决的问题
论文自己也列了两条局限。
第一条就是刚才说的跨数据集迁移完全失效的问题,说明现在的视觉钢琴转录系统跟训练时用的预处理方式绑得太死,换一套摄像机架设逻辑就得重新训练。
第二条是 V2N 目前不预测延音踏板(MIDI 里的 CC64 控制变化)的踩踏状态。虽然论文的整个出发点就是"用视觉绕开踏板对音频判断的干扰",但视频本身其实也能看到踏板被踩下的动作,这部分信息目前还没被这套系统利用起来。
论文提出的未来方向包括:找到一种不受摄像机几何设置影响的键盘定位方法、针对存在时间误差的训练数据做联合同步校正、加入踏板状态的预测,以及在 V2N 的视觉能力基础上进一步做音频视觉融合,把两种模态的优势结合起来。
写在后面
读完这篇论文,我印象最深的其实不是那些跑赢基线的百分点,而是那个跨数据集迁移完全失效的实验。研究者完全可以不做这个实验,毕竟它对自己提出的方法没有任何加分,反而暴露了短板。但他们把这件事老老实实地写了出来,还顺手把 R3 数据集里的同步误差问题也一并揭发了。这种愿意展示"我的方法在什么情况下会失败"的态度,比堆砌一堆漂亮指标更让人信任这项研究。
另一个让我反复琢磨的细节是"按住状态"这个看似多余的中间头。表面上看,一个音符只需要知道"什么时候开始、什么时候结束"就够了,中间的状态似乎是冗余信息。但恰恰是这个"冗余"的监督信号,反过来提升了按键起始和结束时刻的判断准确率。这让我想到一件更普遍的事:很多时候我们觉得"多余"的中间过程记录,其实承载着连接两端最关键的因果信息,砍掉它看似简化了问题,实际上砍掉的是模型能够学习的重要线索。
如果视频真能像论文设想的那样,进一步识别出踏板的踩踏状态,那是不是意味着,未来一段钢琴录像能被完整还原出一份连演奏者呼吸节奏、脚下动作都不放过的"数字化演奏脚本"?这件事做成之后,会不会改变我们研究钢琴演奏、甚至教学生弹钢琴的方式?
Q&A
Q1:V2N 系统主要解决了钢琴转录里的什么问题?
A:V2N 解决的是视觉钢琴转录中长期存在的松键判断不准、力度识别缺失、视频观察窗口太短这三个问题,它通过一个共享的时间骨架加四个任务头(按键、松键、按住状态、力度)联合训练,第一次让纯视频输入的系统能同时准确输出音符的起止时间和力度。
Q2:为什么音频转录系统判断不准琴键松开的时间?
A:因为钢琴的延音踏板一踩下去,琴弦声音会持续震动很久,即使手指早已离开琴键,声音依然存在。音频系统只能根据声音是否还在响来判断音符是否结束,导致判断出的"结束时间"实际上是"声音消失时间",跟真实的松键时刻能相差好几秒,而视频可以直接看到琴键的物理状态,不受这个干扰。
Q3:V2N 在跨数据集测试时表现如何?
A:表现很差。在 PianoVAM 上训练的模型拿到 R3 数据集上测试,按键起始准确率几乎跌到零,反过来也是一样。原因是不同数据集里键盘在画面中的宽度差异很大(比如 R3 约784像素,PianoVAM 约606像素),导致模型学到的"像素位置对应哪个琴键"这套映射关系换了数据集就完全失效,这也是所有对比系统的共同弱点,不只是 V2N 独有的问题。
好文章,需要你的鼓励
本文介绍LT-OPD训练框架,通过让极限压缩的多模态大模型在自己生成的内容上接受满血版模型指导,并配合渐进式课程学习,在仅保留5%视觉token时把性能保留率从68.6%提升到82.3%,且不增加推理成本。
本文解读ALIGNOPSD方法,该方法针对AI智能体训练中"决策与时间戳错配"问题,通过先对齐功能相同的决策场景再打分,并按可变长度决策段分配信用,在ALFWorld、WebShop、Search-QA三大任务上相比GRPO提升5.5%至8.7%。
本文介绍自适应一致性图(ACG)方法,通过持久化执行记忆图与预算感知的上下文构建,帮助AI智能体在长任务中减少信息失联,在多项基准测试中相比ReAct等基线方法提升了任务成功率。
多智能体AI协作时重复计算KV缓存浪费严重。PReCache提出预计算低秩缓存和中性基础缓存重构两项设计,免训练实现最高3.1倍加速、2.3倍吞吐提升,且准确率仅比不共享方案低1.1个百分点。