Page 17 - 《软件学报》2026年第5期
P. 17

1896                                                       软件学报  2026  年第  37  卷第  5  期



                                                      L  = L  + L                                    (13)
                                                       total  CLM  MLM
                    通过整合这两个序列层面的目标任务, 并在整个模型中一致地进行优化, CNN-Midiformer 既能够从上下文中
                 推断被掩盖的符号, 也能基于时序依赖预测未来符号, 使音乐知识特征中蕴含的结构化信息得到有效利用, 并进一
                 步增强模型对音乐序列的综合理解能力.

                  3   实验结果与分析

                  3.1   数据集
                    本文在   6  个公开符号音乐理解数据集         Pop1K7、ASAP、POP909、Pianist8、EMOPIA   和  ADL  上进行了模型
                 的预训练与下游任务微调, 各数据集的详细信息如表                 1  所示.

                                                表 1 实验所用数据集统计信息

                  数据集     任务     乐曲数 (pcs.) 总时长 (h) 平均音高 (MIDI No.) 平均音长 (beats) 小节音数 (notes/bar) 小节数量 (bars/pc.)
                  Pop1K7           1 748    108.8      64 (E4)       8.5          16.9          103.3
                          预训练
                  ASAP              65       3.5      63 (D4#)       2.9          23.0          95.9
                        旋律识别/
                 POP909             865     59.7      63 (D4#)       6.1          17.4          94.9
                         力度预测
                  Pianist8 作曲家分类    411     31.9      63 (D4#)       9.6          17.0          108.9
                 EMOPIA 情感分类       1 078    12.0      61 (C4#)       10.0         17.9          14.8
                   ADL   流派分类      6 213    366.6     62 (D4)        2.7          16.1          104.9

                            [24]
                    ● Pop1K7  : 包含  1 748 首流行钢琴曲的录音, 总时长约       108 h. 这些录音通过自动化流程被转录为          MIDI 文件.
                    ● ASAP [25] : 包含  222  份数字乐谱和  1 068  个西方古典钢琴曲的  MIDI 演奏录音, 涵盖了     15  位不同作曲家的作
                 品, 为模型提供了多样且高质量的古典音乐素材.
                    ● POP909  [26] : 包含  909  首由专业音乐家创作并演奏的流行歌曲钢琴演奏          MIDI. 该数据集完整保留旋律和力
                 度信息, 特别适用于旋律识别和演奏速度预测等任务.
                    ● Pianist8  [13] : 包含由  8  位著名作曲家创作的  411  部钢琴作品, 其  MIDI 文件是使用  Kong  等人  [27] 提出的乐谱
                 转录模型生成的, 该数据集主要用于作曲家风格分类等任务.
                             [28]
                    ● EMOPIA   : 包含来自   387  首歌曲的  1 087  个钢琴片段, 每个片段均带有情感标签. 该数据集专为音乐情感
                 分类任务设计, 为训练模型的情感识别能力提供丰富样本.
                    ● ADL [29] : 包含  6 213  首  MIDI 文件, 分属 18 类不同的音乐风格, 覆盖广泛的音乐流派, 可用于音乐流派分类
                 与风格分析任务.
                  3.2   训练设置
                    本文模型    CNN-Midiformer 基于  Hugging Face Transformers 库  [30] 实现, 并使用  PyTorch  框架进行训练. 在训练
                 之前对每个    MIDI 文件均提取了音乐知识和符号序列的结构化表征. 具体的模型配置参数详见表                         2.
                    预训练: 本文将每个数据集按照          85%  训练集和   15%  验证集的比例进行划分. 为了确保实验的可复现性, 下面
                 将详细说明训练配置: 优化器选用           AdamW [31] , 这是一种解耦了权重衰减与梯度计算的          Adam  变体, 已被证明能改
                 善深度学习模型的泛化能力. 经过充分的超参数调优, 学习率设置为                     2E–5, 该学习率在训练稳定性和收敛速度之
                 间取得了较好的平衡. 权重衰减系数设置为              0.01, 以防止模型在音乐数据上发生过拟合. 最大序列长度设定为                 512,
                 这个长度既考虑了数据集中乐曲片段的平均长度, 也平衡了计算资源消耗, 同时确保模型能够处理足够长的音乐
                 上下文以捕捉音乐的层级结构. 预训练在             4  块  NVIDIA A800 GPU  上进行, 批次大小设为   12, 训练耗时约   23 h. 采
                 用了早停策略: 若验证集准确率连续           30  个周期未提升, 则停止训练, 最大训练周期设为            500.
                    下游任务微调: 对于各项下游任务, 本文将数据按照                8:1:1  的比例划分为训练集、验证集和测试集. 微调同样
                 在  4  块  NVIDIA A800 GPU  上进行, 学习率设置为  2E–5, 训练周期设为   20, 保存验证集准确率最高的模型.
   12   13   14   15   16   17   18   19   20   21   22