为什么GPT方法在符号音乐上会碰壁:压缩只有在正确的坐标系中才有效

5 九月 202623 视图

语言模型成功的关键不仅在于复用token,还在于压缩机制的设计。对于音乐而言,预先固定关系(例如通过五度圈)反而会降低预测效果——更重要的是保留模型上下文并正确设定时间。

为什么GPT方法在符号音乐上会碰壁:压缩只有在正确的坐标系中才有效

为什么GPT方法在符号音乐上会碰壁:压缩只有在正确的坐标系中才有效

符号音乐看起来天生适合分词:音符是离散的,和弦会重复,动机形成可识别的结构。GPT模型擅长处理可复用的token,因此人们很容易想把语言方法直接搬到五线谱上。但实践表明:音乐分词不仅仅是切分序列,而是选择一种坐标系,让模型在这种坐标系中才能真正看到规律。

Token并非通用接口

语言模型的成功建立在有限的token词典之上,这些token可以在不同上下文中复用。这个接口非常方便,以至于人们开始把它套用到其他领域——从代码到生物序列。然而,一旦超出语言范畴,问题就出现了:不存在统一的标准来界定分词应该表示什么、应该在何处停止。对文本有效的东西,对音乐可能毫无用处,甚至有害。

伊旺的研究(arXiv:2608.18025)提出了一个通用标准——预测编码长度(predictive codelength)。它衡量的是模型在预测下一个元素时压缩信息的成功程度。如果分词有助于缩短这个长度——说明它捕捉到了数据的真实结构;如果没有——它只是制造了一种有序的假象。

音乐需要坐标,而不只是词典

符号音乐与语言有着欺骗性的相似:同样的音符,同样的和弦。但在这种离散性背后,隐藏着时间和调性的连续参数。当我们按类比词语的方式把音乐切成token时,我们实际上隐式地固定了一个参照系。例如,可以把音高编码为绝对值——但那样模型就必须自己推断调性。也可以把时间设为整数计数器——但那样移位和速度就变得无法区分。

Effectiveness–Losslessness Framework框架的作者区分了两条边界。Fact–Token Boundary(事实-分词边界)界定了可观察结构应在何处进入token接口——例如通过显式构造坐标。Token–State Boundary(分词-状态边界)则指明分词应在何处停止:其余依赖关系应由模型在自己的内部状态中自行计算,而不是从分词器那里直接获得现成结果。如果压缩过多,模型就失去了利用上下文的能力;如果压缩过少,模型就会淹没在无关紧要的细节中。

实验:时间与调性起决定作用

在符号音乐的可控multi-seed实验中,结果表明,显式设定音乐时间能持续缩短预测编码。也就是说,与其把时间戳藏在token内部,不如把它们作为独立的坐标——这样模型就能更准确地预测音高和时值。额外的收益来自调性上下文的规范化:将所有乐句统一到同一个调性中心。而音高的因式分解——拆分为音级和八度——也同样有帮助。

但同样重要的是,什么起作用。按五度圈固定的音高坐标——一种不考虑上下文的漂亮音乐理论——会增加预测编码。预先固定的音高关系妨碍了模型适应具体的和声。分词器替模型决定了音符之间的联系方式,而模型反而无事可做。

为压缩而压缩没有帮助

一个额外的意外是可逆BPE。它确实能显著缩短载体(carrier)——即token序列本身——但预测编码长度在每个seed上反而增长。从数据存储的角度看,这是一个出色的压缩器;但从训练的角度看,它是一个糟糕的助手。原因在于BPE会折叠重复片段,却丢失了上下文关系:模型在长度上省了力,却要花力气去学习人为的缩写。

结论

GPT方法在符号音乐上碰壁,不是因为能力不足,而是因为坐标系选择错误。压缩只有在token接口与数据的真实结构一致时才有效:时间就应该是时间,调性就应该是调性,其余一切都应留给模型自己去处理。预测编码长度这一标准,让我们能够区分有用的分词与装饰性的花架子,并看清事实与计算之间的边界究竟应该划在哪里。

常问问题

为什么GPT方法在符号音乐上会碰壁:压缩只有在正确的坐标系中才有效