跳转至

M22 · λ_ortho 消融

状态 ✅ 完成(2026-09-09)——λ=0 全面最优,正交正则在残差参数化下有害;推翻 M18 的 λ 结论
一句话 正交正则权重 λ 是否重要:λ ∈ {0, 2, 5} 三条从基座各训 100k,与 λ=1 的 100k 点(M20)同口径对比
上游 ← M18 §3.2:λ=0.1 → 1.0 首次正向(n=1 种子,待复验)· M20 线全程 λ=1,从未测过其他值
对照 M20 @100k(λ=1)outputs/m20/ckpts/step100000.pt

1 目的

M20 线只训过 λ=1。合作者要求测 λ=0(无正交约束)、λ=2、λ=5 三档,回答两个问题: ① 正交正则是否必要(λ=0 会不会退化);② 是否越大越好(λ=5 会不会压垮重建)。

2 训练设置(与 M20 逐项相同,只改 λ)

参数 值
起点 CosyVoice3 基座 flow.pt(--base_init),不是从 M20 续训
参数化 --m19 残差:L = ‖v_B − u_n‖² + ‖v_B + v_Δ − u_e‖² + λ·L_ortho(v_Δ, v_B)
λ 0 / 2 / 5(对照 1)
数据 data/m20_cache(R3 变速中立目标,21,301 对,train 划分)
步数 / batch 100k / 全局 8(DDP 8×1)
lr / clip / seed 1e-5 / 1.0 / 1234
ckpt 每 10k(供跨 checkpoint 看轨迹)
输出 outputs/m22_l0 · outputs/m22_l2 · outputs/m22_l5
耗时 M20 实测 10k ≈ 41 min ⇒ 每条 ≈ 6.8 h,三条顺序 ≈ 20 h

3 评测(训完统一跑,二轮口径)

项 内容
样本 M21 二轮同一批 ESD-zh test 随机 160 条 + 同批真实录音锚点
生成 直路 α ∈ {0, 0.25, 0.5, 0.75, 1, 1.25, 1.5},16 kHz,同 seed
指标 E4 §1 质量评分体系:UTMOS / CER / SECS / RA
探针 teacher-forced cos(v_Δ, x1_emo − x1_neu)、‖v_Δ‖/‖GT‖、A_share;训练曲线 L_ortho / cos_A_B
轨迹 四条 λ 的 10k–100k 各 ckpt 探针轨迹
主判据 α=1 的 RA 与 UTMOS、α=0 的 CER、中段谷深度、探针 cos

4 结果

4.1 100k 点的 α 扫描(直路,ESD-zh test n=160/格)

M22 α 扫描

λ=0 λ=1(M20) λ=2 λ=5
UTMOS @α=1 2.68 2.29 2.31 2.27
UTMOS @α=1.25 / 1.5 2.72 / 2.47 2.28 / 2.07 2.30 / 2.09 2.35 / 2.23
UTMOS @α=0 1.93 1.91 2.01 2.12
UTMOS @α=0.5(谷) 1.61 1.60 1.61 1.62
CER @α=1 0.057 0.073 0.074 0.069
CER @α=0 0.380 0.331 0.327 0.313
RA @α=1 1.13 1.04 1.07 0.95
RA @α=0 0.01 0.08 0.17 0.21
RA 跨度 α 0→1 1.12 0.96 0.90 0.73
RA @α=1.5 1.64 1.55 1.49 1.25
SECS @α=1 0.928 0.921 0.912 0.918

同条配对差 λ=0 − λ=1:UTMOS @α=1 +0.39(p<0.001)、@α=1.5 +0.40;CER @α=1 −0.015(p=0.002);RA @α=1 +0.08(p<0.001); 唯一反向的是 α=0 的 CER(+0.049,p<0.001)和 SECS(−0.023)。λ=5 − λ=1:UTMOS @α=0 +0.21,但 RA @α=1.5 −0.30(旋钮被压扁)。

4.2 训练曲线与探针轨迹

M22 曲线

100k 末段均值 λ=0 λ=1 λ=2 λ=5
L_ortho 0.250 0.073 0.034 0.010
cos(v_Δ, v_B) −0.30 −0.17 −0.11 −0.06
L_Σ(情感重建) 0.688 0.727 0.770 0.820
L_B(中立重建) 0.832 0.858 0.889 0.930
A_share 0.039 0.030 0.029 0.025
探针 cos(v_Δ, GT 残差) @100k 0.832 0.759 0.746 0.720

探针轨迹从 10k 到 100k 全程保持 λ=0 > 1 > 2 > 5 的顺序,不是终点偶然。

4.3 λ 对中段强度的影响:RA@α=0.5 vs RA@α=1

补充实验 S6(提案待验收)。

λ RA@0 RA@0.5 RA@1 RA@1.5 中点相对位置 (RA₀.₅−RA₀)/(RA₁−RA₀) UTMOS@0.5
0 0.008 0.651 1.126 1.639 0.58 1.61
1 0.080 0.646 1.041 1.548 0.59 1.60
2 0.166 0.681 1.066 1.492 0.57 1.61
5 0.213 0.669 0.946 1.245 0.62 1.62

同条配对 vs λ=1 @α=0.5:λ=0 ΔRA +0.005(p=0.79)· λ=2 +0.035(p=0.17)· λ=5 +0.023(p=0.37)。

读法:α=0.5 处四条 λ 的 RA 在 0.65–0.68 之间,无显著差异(p 0.17–0.79),UTMOS 也全在谷底 1.60–1.62。 λ 改变的是两端:λ 越大 RA@0 越高(中立化不彻底)、RA@1 与 RA@1.5 越低(旋钮压扁),中点被两端夹着几乎不动。 中点相对位置 0.57–0.62 都略高于 0.5——α=0.5 的强度偏向情感端,这是 E2 §4.1 说的刻度非线性,与 λ 无关。 ⇒ λ 消融对中段谷(音质)与中段强度都没有作用,谷是推理端的双梳齿问题,不是训练正则能解决的。

5 结论

项 结论
λ 的作用方向 单调:λ 越大,v_Δ 与 v_B 越正交,但两塔重建损失越高、v_Δ 与真实残差越不像、旋钮跨度越窄
最优 λ=0。α ≥ 0.75 全部指标最好,且 UTMOS @α=1 的 2.68 已追平 M20 训到 420k 的 2.66
λ 换来的 只有 α=0 那一格:UTMOS +0.02 ~ +0.21、CER −0.05 ~ −0.07。代价是 α ≥ 1 处 UTMOS −0.4、RA 跨度 −16% ~ −35%
中段谷 / 中段强度 与 λ 无关:α=0.5 的 UTMOS 1.60–1.62、RA 0.65–0.68(p≥0.17)——正则改的是两端,不是中段(§4.3)
为什么 不加正则时两塔自然地负相关(cos −0.3 ~ −0.5):v_emo = v_B + v_Δ,情感目标与中立目标不同的部分要靠 v_Δ 抵消掉一部分 v_B,负相关是任务几何决定的。正交约束在跟这个几何对着干
与 M18 的关系 M18 报"λ 0.1→1.0 首次正向"(n=1)是在独立双塔 v = (1−α)v_A + αv_B 下测的;残差参数化(M19 起)+ 零初始化残差头本身已完成分工,正则变成纯负担。M18 那条结论不迁移到当前架构
限制 每档 n=1 种子;100k 而非 420k(四条的 α=0 CER 0.31–0.38 都远差于 M20@420k 的 0.22,中立化是后程才学会的)
建议 把 λ=0 从 100k 续训到 420k 与 M20 终点同口径对比;若维持优势,主线切 λ=0

6 复现

bash emo/exp/M17_editor/run_m22_lambda.sh                 # 三条训练,链式
# 评测:四个 100k 点 × 160 条 × 7 α,八卡;探针 40 ckpt
bash emo/exp/M17_editor/m22_chain.sh; $PY emo/exp/M17_editor/m22_analyze.py

讨论