Journal 研究日志¶
倒序,最新在上。一条一天:做了什么 / 得到什么数 / 推翻了什么。 出数就写。提交信息与条目对应,所以
git log --oneline也能 catch up。
2026-08-25¶
- 服务器迁移落定:全部资产迁至
/data-phy/Zhengwei。核心资产逐项验证: v4 ckpt 字节级一致、特征缓存 33,620×2、全部模型权重、369+ 条实验音频。 仍缺(迁移前就在 sai):v2/v3/v5 ckpt、IEMOCAP、ESD 说话人 0012-0014 - voice 环境重建:192 包按 lock 分六阶段装。onnxruntime 又装成 CUDA-11 build (bulk 阶段被依赖从 PyPI 抢先拉入,Azure 阶段静默跳过) → force-reinstall 修复。 端到端冒烟 4.32s,与迁移前逐字节同长 ✅
- 新增 Paper Audit:论文↔实验对账页,按版本销账。 首版(ba436df4)记 8 条,其中 4 条🔴硬伤;按「引用缺失=文档不细」规则 补了 Method §3.1 训练配置表
- 仓库转私有 + 双站清理:
voice-research-log转 Private(Cloudflare 构建不受影响, giscus 的公开 discussions 仓库不动);GitHub Pages 副本 Unpublish + 删除 workflow —— 此后唯一站点voice-research-log.pages.dev。注意:网站本身仍公开, 要藏内容需另开 Cloudflare Access
2026-08-21¶
无卡日(八张卡全被他人占满),做研究与整理。
- G7 分析成文(
site/G7-claim-analysis.md,未进站点 nav): 12 条 finding 按「问题结构 / 差异化位置 / 机制解释」重新归类。 发现 F11/F12 可以从打脸翻成论据 —— 承认 α 插值是通用手法后, 差异化收窄到「层级」,而层级差异正是 F12 实测的 10 倍时长控制 + F9 的 42.3 定位比。 三条承重 finding(F9/F10/F12)全部绕开 F5 的度量瓶颈,这是全项目最硬的资产。 → 待决 D1(选哪个 claim)/ D2(10 倍时长控制的应用场景是什么 —— 最大软肋) - 补全实验记录的自变量。此前多处「自变量本身只在代码里」,几个月后不可复现:
- 由此发现两处需要收窄的结论:
- F10 加边界:三档措辞是我们自选的中文程度副词, CosyVoice3 并无公开强度语法 → 正确读法是「这组措辞取不到单调强度」, 而非「instruct 原理上给不了强度」。未测数值型/英文/更极端措辞
- M9 的
cv2档同时变了两个因素(是否训练 + UNet vs DiT 骨干) —— 它证明「α 在别的模型上也 work」,不是严格单变量消融; 严格对照是cv3_frozenvscv3_v4
- 措辞不一致备查:M8 的 Angry 用「愤怒」,M7 用「生气」,两处均未做措辞消融
2026-08-18(下午)¶
- M7 跑完(EmotiVoice,336 条,127 秒): 把 α 搬到 style embedding(768 维)上,它工作得相当好 —— F0 中位数 4.3→30.2 Hz 平滑单调,α=1.5 外推不崩 但时长斜率 +0.135 s/α,只有我们速度场层(+1.36)的 1/10 → 又推翻我一处结构性判断:proposal 说 embedding 层"改不了时长",实测能改 (EmotiVoice 的时长预测器吃 style 向量)。能否改时长是经验问题,不是结构问题 → 新增 F12:α 插值是通用手法,我们只能主张控制的层级
- 附带:EmotiVoice 的情感提示向量彼此接近正交(最高 cos +0.33), 与我们 A 方向沿唤醒度聚簇(Happy/Angry 0.72)的几何很不一样
- 踩坑:g2p 子进程传了相对路径,而
cwd=REPO——frontend.py对不存在的文件 静默跳过(returncode 0、零输出),排查了一轮才定位
2026-08-18(上午)¶
- M7 按用户澄清重新立题:把我们的 α 插值原样搬到有显式情感 embedding 的 未训练模型上,看它是什么响应。同一个公式、不同层级 —— 我们在速度场(\(80\times K\),逐帧),对照在 embedding(全句一个向量)。 做法是 hook 出 \(e_{neu}\) / \(e_{emo}\)、线性插值后替换回去,只改这一个张量。 首选 EmotiVoice(唯一同时有显式情感向量且支持中文的候选)。 步骤 0 是可行性验证:插值后输出若不动,说明它不是有效控制点,实验不成立
- 前一轮已完成的 M7 改编号为 M9 —— 它问错了题但产出了真实结果(F11),不应被覆盖。 常规是实验 ID 不重编,此处按「保住已完成记录」优先破例一次
- 站点上线:Cloudflare Pages 构建 2 分 27 秒,公网验证 6 个页面 / 音频 / 图全部 200
2026-08-17(下午)¶
- M9 跑完 —— 假设被推翻: 受控组数 cv2 7/12 > cv3_frozen 6/12 > cv3_v4(我们的) 5/12, 未训练的模型不少反多 → α 机制是 flow-matching 的通用性质,不依赖我们的训练 但 CER 严格单调 0.039 → 0.034 → 0.029,训练改善的是可懂度 ⚠️ 三档饱和率 93–95%,故只能说「这把尺子测不出情感维度的差异」 → novelty claim 必须收窄,G7 从「要不要换」变成「必须换」
-
跨模型复用踩了三层接口差异(flow 外壳 / 声码器 / LLM prompt), 尽管 estimator 签名完全相同 → 方法论 §5.8
-
M6 分段 α 跑完(288 条,n=48 语句):
onset档定位比 42.3(句首 2.09 dB / 句身 0.05 dB); 等能量对照onset_eq定位比 100.3 → 定位性不是「施加得少」的假象 → 推翻我在 proposal 里的预测:half(用户原方案)其实定位良好(比值 3.3), M5 的「前后半无结构」说的是观测,不蕴含干预无效 → 提炼进方法论 §5.7 - M8 instruct 模式跑完(240 条): 程度副词没有系统性效果(逐语句单调率 22.9% vs 随机 16.7%); 且两条通道改的东西不同 —— ref 的 ΔF0 79 Hz vs instruct ~20 Hz,能量却几乎相同
- M9 按用户更正重写:改为「其他论文的模型不训练直接加权」, 下载 CosyVoice2-0.5B,三档对照进行中
- 文档站迁到
Voice/site/:旧仓库混了 500+ MB 归档(1566 个跟踪文件里 1419 个是归档, .git 378 MB)。新仓库 2.9 MB/45 文件,标准 MkDocs 布局,可直接发 GitHub Pages - GPU 约束改为只用卡 7
2026-08-17(上午)¶
- 建立本文档站(research-docs)。历史 500+ MB 归档
exclude_docs排除,站点 455 MB → 11 MB - 测了 A 的能量沿时间分布:句首 2.04×(v_neu 同位置仅 1.19,故为情感特有), 其余各段 0.83–1.14。去掉句首后前半/后半比值仅 1.026 → 推翻「前 K/2 vs 后 K/2 分段 α」的切法依据;有结构的是句首 vs 句身(M5)
- 整理用户的 0815 新实验想法为可执行设计(
docs/0815新实验想法_整理.md,未入站)
2026-08-15¶
- M5 A 结构探针:\(A\) 帧间一致性 +0.367(低于 \(v_{neu}\) 的 +0.450)、 有效秩 27.5(vs 39.8)、逐帧范数变异 0.389(vs 0.145) → 推翻「A 沿 K 恒定」,但确认 \(A\) 低秩。跨句子空间重叠显示主子空间不承载情感身份(弱证据)
- 第一版跨句测量做错了(逐帧算余弦 = 比较不同音素),改为子空间重叠
- M4 时间归一化重训完成:53,700 步,1074 个日志点全部截断归零,
A_energy_share21.8% → 6.8%。但下游受控组数 6/12 vs 6/12 完全相同 → 推翻「会变差」的预测 - 重跑 v4 基线作同管线对照(历史报告不可比:同分布测试集 + CER 未修复)
- M2 补跑音频:整齐参考 vs 不齐参考的混合 CER 0.544 vs 0.529 → 挑参考在听感层面也被证伪
- 根治 manifest 里的 sai 路径(37,042 处);装
pytorch-wpe修好 CER
2026-08-14¶
- M3 调色板六臂:D1-DTW 混合 CER 0.053,其余 0.43–0.66(低 8–12 倍) → 推翻「状态侧优于条件侧」的原立论:均匀 warp 时改状态(0.562)反而比改条件(0.430)差, 全部收益来自内容对齐
- 自检臂成立:纯情感配方六臂逐条完全相同
- α 扫描证实时长是 α 的连续函数(每 0.25 α 恰好 +17 帧)
- M2 B0 探针:整齐参考生成离散度 1.51–1.55, 采样噪声地板 1.288 → 挑参考此路不通
- M1 截断调色板否决:帧级音素错位,失真明显
- 逐对截断比例重测:中位 12.4%(此前写的 17% 是错的)