Add Q3 MoFE router visualizations and explanations
This commit is contained in:
+38
-19
@@ -11,7 +11,7 @@
|
||||
| `q1/` | Q1 原生特征提取、物理时间特征包构建、五折对照和可视化 |
|
||||
| `q2/math/` | 数学方案 C0–C7、训练、缺失控制评估及附件 3 预测 |
|
||||
| `q2/deep_learning/q2/` | EarlyConcat + BiGRU、MoFE-7 + MLP Router 及训练协议 |
|
||||
| `q3/` | Q3 训练、验证、附件 4 全量预测和逐样本解释卡片 |
|
||||
| `q3/` | Q3 验证、附件 4 全量预测和逐样本解释卡片 |
|
||||
| `output/q1/` | 已整理的 Q1 100 个特征文件、对齐审计和已有结果 |
|
||||
| `output/q2/` | 已整理的 Q2 未对齐数据模型对比结果表 |
|
||||
| `output/q3/` | Q3 运行后生成的预测、解释和验证结果 |
|
||||
@@ -148,28 +148,47 @@ python final/compare_unaligned_q2.py \
|
||||
|
||||
结果文件包括 `comparison_validation.csv`(全模型验证对比)、`comparison_test.csv`(预先选出的数学模型及两种深度模型测试结果)、`comparison_aurc.csv`(四种缺失模式的 AURC-MAE)。指标定义、已有对比数值和边界说明见 [REPORTS.md](REPORTS.md)。
|
||||
|
||||
## Q3:可解释预测与附件 4 输出
|
||||
## Q3:分层反事实证据归因
|
||||
|
||||
Q3 使用附件 2 训练集训练 EarlyConcat + BiGRU;只用官方验证集选择 epoch。默认最多 12 轮、耐心值 3、batch size 64,AdamW 学习率 `3e-4`、权重衰减 `1e-3`,目标函数为交叉熵加 `0.5 × SmoothL1` 强度回归。验证选择使用自然缺失、30% 单模态/同步缺失和 50% 异步缺失情景。附件 4 的 20 个未对齐样本经同一 adapter 投影,生成类别、情感分数、三类概率、模态贡献、主导模态及逐样本解释卡片。
|
||||
Q3 复用 Q2 已训练的 EarlyConcat + BiGRU、MoFE-7 + MLP Router 检查点和同一套训练集 robust scaler,不重新拟合模型。第一轮含三个解释方案:E0 对 EarlyConcat 做精确三模态 Shapley 与局部遮蔽;E1 把 MoFE Router 当作待检验的内部信号;E2 对同一个 MoFE 检查点做精确 Shapley、交互和局部遮蔽。E1/E2 的预测完全相同,比较的是解释方式。
|
||||
|
||||
```bash
|
||||
python -m final.q3.train_interpretable \
|
||||
--input-version unaligned_50 \
|
||||
--attachment4-version unaligned_50 \
|
||||
--output-dir final/output/q3 \
|
||||
--device auto
|
||||
```
|
||||
在项目根目录设置附件位置后运行。项目默认查找 final/data/;也可以将 FINAL_DATA_DIR 指向包含附件 2、附件 4 文件夹的根目录:
|
||||
|
||||
输出目录包含:
|
||||
~~~powershell
|
||||
$env:FINAL_DATA_DIR = "D:\task-data"
|
||||
python -m final.q3.run_experiments --output-dir final/output/q3/first_round --device auto
|
||||
~~~
|
||||
|
||||
- `attachment4_predictions.csv`:20 条完整预测及类别概率。
|
||||
- `attachment4_explanations.csv`:预测、各模态遮蔽影响、主导模态和原始转写。
|
||||
- `attachment4_local_evidence.csv`:文本 token、音频/视频来源行、归一化进程区间和单位置遮蔽影响。
|
||||
- `attachment4_input_audit.csv`:输入哈希、adapter 模式、长度和可见位置审计。
|
||||
- `explanation_cards/`:逐样本 Markdown 解释卡;`typical_explanation_card.md` 为置信度接近样本中位数的代表样例。
|
||||
- `validation_metrics.json`、`validation_predictions.csv`、`validation_errors.csv`、`validation_diagnostics.png`:验证指标、误差样本和图示。
|
||||
~~~bash
|
||||
export FINAL_DATA_DIR="/data/task-data"
|
||||
python -m final.q3.run_experiments --output-dir final/output/q3/first_round --device auto
|
||||
~~~
|
||||
|
||||
附件 4 未对齐特征没有可靠物理时间戳,因此音频/视频证据位置以归一化进程和原始特征行表示,不伪造秒级时间。模态/位置分数由遮蔽特征前后的模型概率差计算,表示模型敏感性,不是因果效应或情感成因证明。输出中提供源视频相对路径,便于回到原片段查看。
|
||||
完整运行使用官方验证集生成预测指标、误差归因和分类 margin 的 Shapley。只想快速检查附件 4 可增加 --skip-validation;不抽取候选视频帧可增加 --no-frames。每次运行请给一个新的空输出目录。
|
||||
|
||||
主要产物:
|
||||
|
||||
- attachment4_predictions.csv:20 个附件 4 样本在 E0/E1/E2 下的预测和类别概率。
|
||||
- attachment4_modal_shapley.csv、attachment4_pairwise_interactions.csv:分类 logit 与强度回归的模态贡献、绝对贡献比例、配对交互和 Shapley 完备性残差。
|
||||
- attachment4_local_evidence.csv、attachment4_router_local_evidence.csv:1/3/5 个相对进程 bin 的局部遮蔽响应与 MoFE Router 位置分数。
|
||||
- attachment4_evidence_segments.csv:每个方案的代表性文本、音频和视觉证据段;evidence_frames/ 中保存由进度比例估算位置抽取的候选帧。
|
||||
- faithfulness_by_sample.csv、q3_method_comparison.csv:删除/保留检验、0–70% 删除曲线、尺度稳定性和 Router–Shapley 一致性汇总。
|
||||
- validation_predictions.csv、validation_errors.csv、validation_error_attribution.csv:官方验证集预测、误差样本和分类 margin 归因。
|
||||
- explanation_cards/、typical_explanation_card.md、evidence_profiles/:逐样本解释卡、代表卡和 3×50 局部证据图。
|
||||
|
||||
想先查看文本、音频波形、视频帧中的遮蔽位置,再查看对应时间 bin 上七个 MoFE expert 的 Router 权重热力图,可运行:
|
||||
|
||||
~~~powershell
|
||||
python -m final.q3.plot_router_heatmaps --output-dir final/output/q3
|
||||
~~~
|
||||
|
||||
它输出附件 4 样本 02、03 的完整输入和受控残缺对照图:蓝色斜线表示输入被遮蔽,下面按 T、A、V、TA、TV、AV、TAV 顺序显示 expert 的 α[t,e]。详细定义与限制见 [Q3 实验说明](q3/README.md#router-热力图样例),实验图也已收录在 [REPORTS.md](REPORTS.md)。
|
||||
|
||||
三种输入模态只有 8 个 coalition,脚本完整枚举而非近似 SHAP。分类解释固定使用完整输入的预测类别 logit,回归解释使用情感强度输出。局部证据是单模态窗口被遮蔽前后的 logit 差;正值表示该窗口支持当前预测,负值表示该窗口反对当前预测。Router 权重只描述路由机制,不能直接解释成预测贡献。
|
||||
|
||||
附件 4 特征行没有物理时间戳。文本可以回溯到 tokenizer token 和来源行;音频/视觉证据保留来源行与归一化进程。若视频可读,候选帧位置由相对进程乘视频时长估算,供人工回看,不表示特征已经物理时间对齐。删除/保留检验使用模型训练时见过的 mask 接口,但孤立稀疏遮蔽仍可能偏离训练分布;报告会把 10% 保留结果标为诊断,主要删除曲线范围限制在最多删除 70%。
|
||||
|
||||
细节和解释边界见 Q3 实验说明(q3/README.md)与 REPORTS.md。
|
||||
|
||||
## 模型与对齐约定
|
||||
|
||||
@@ -182,4 +201,4 @@ python -m final.q3.train_interpretable \
|
||||
|
||||
训练结果写入传入的 `--output-dir`;建议为每轮实验使用新的空目录。检查点、训练历史、数据/划分哈希、随机种子、特征版本、adapter 审计和验证/测试指标随运行结果保存。官方附件不进入版本库;`final/.gitignore` 已忽略 `data/`、Q1 中间缓存和环境目录。
|
||||
|
||||
当前已整理的 Q1/Q2 表格和结果摘要保存在 `output/`、`experiments/` 与 [REPORTS.md](REPORTS.md)。若要重建所有模型权重和预测,按上面的 Q1、Q2、Q3 顺序运行相应入口;Q1 原生视觉特征还需要单独准备 OpenFace 2.2.0。
|
||||
当前已整理的 Q1/Q2/Q3 表格和结果摘要保存在 `output/`、`experiments/` 与 [REPORTS.md](REPORTS.md)。若要重建所有模型权重和预测,按上面的 Q1、Q2、Q3 顺序运行相应入口;Q1 原生视觉特征还需要单独准备 OpenFace 2.2.0。
|
||||
|
||||
Reference in New Issue
Block a user