fix2 (17.38 dB / 30k / capacity 1M 満タン) の敗因を、既実装の 3 欠陥修正版で再挑戦。calibration doc §案 A に沿った noise weight sweep (5e1/5e2/5e3、Lego 500 iter + 2000 iter) は完走したが PSNR 10-12 dB で頭打ち。<strong>Component ablation (2000 iter) で scale_eigen_l1=0.001 単独で -4.4 dB の毒性を実測</strong>、これが犯人と特定。しかし scale_l1=0 で relocation + growth schedule のみを Lego 30k で回しても <strong>14.65 dB (2h12m, 1.3M splats)</strong>、noise 5e2 + relocation でも <strong>14.69 dB (2h38m, 1.8M splats)</strong>、Phase I baseline (36.11 dB / 11m48s / 285k splats) に <strong>-21 dB 大敗</strong>。growth schedule で splats が 1.3-1.8M まで肥大化するが PSNR が付いてこない = MCMC relocation の probability-preserving 実装 (Eq.9) と本実装の SoA parameterization が結合していない可能性大。G3 は 5 連敗として卒論 §5.4 negative finding に確定、future work 送り。
G3 MCMC fix3 は 3 段階 (smoke → iter2000 sweep → ablation → final 30k) を timebox 内で完遂し、scale_eigen_l1 が -4.4 dB の毒性を持つと 2000 iter ablation で決定的に切り分けた。しかし scale_l1 除去版の relocation + growth schedule を Lego 30k full で回しても PSNR 14.65 dB (Phase I 比 -21 dB)、noise 追加版でも 14.69 dB で MCMC は本実装の scope 外と確定。5 連敗目として卒論 §5.4 に格上げ。
3 段階 timebox 実験の結果: (1) 500 iter smoke sweep (noise 5e1/5e2/5e3) は完走 & no NaN で fix2 敗因の calibration bug は解決確認、(2) 2000 iter sweep で PSNR 10-12 dB 頭打ち、weight 依存なし、(3) ablation (A baseline / B scale_l1 only / C relocation only、各 2000 iter) で B が 10.85 dB と A/C の 15.2/15.7 dB より -4.4 dB 劣化、scale_eigen_l1 が犯人と特定。(4) scale_l1=0 で 30k full を 2 パターン (relocation-only / noise-relocation) 実施、両方とも 14.65-14.69 dB で Phase I baseline 36.11 dB に -21 dB 大敗、splats は 1.3-1.8M まで肥大化するが PSNR が付いてこない。G3 は 5 連敗として scope-out、卒論 §5.4 で「MCMC 3 欠陥修正 + component ablation + 30k final の decisive failure」という format で future work 化。
| 段階 | config | iter | PSNR | splats | wallclock | 判定 |
|---|---|---|---|---|---|---|
| 1. smoke | noise5e1-smoke | 500 | - | n/a | 8s | 完走 & no NaN、trajectory non-monotonic だが健全 |
| 1. smoke | noise5e2-smoke | 500 | 11.92 | 9,123 | 8s | 完走 |
| 1. smoke | noise5e3-smoke | 500 | 11.97 | 10,060 | 7s | 完走、fix2 と同 weight で crash なし |
| 2. iter2000 | noise5e1-iter2000 | 2000 | 9.74 | 53,587 | 56s | 頭打ち、weight 依存なし |
| 2. iter2000 | noise5e2-iter2000 | 2000 | 10.03 | 61,374 | 76s | 同上 |
| 2. iter2000 | noise5e3-iter2000 | 2000 | 10.29 | 54,181 | 59s | 同上 |
| 3. ablation | **A baseline (all-OFF)** | 2000 | **15.23** | 149,725 | 63s | **refine 経路健全性確認** |
| 3. ablation | **B scale_l1 only** | 2000 | **10.85** | 63,358 | 46s | **scale_l1 単独で -4.4 dB 毒性、犯人特定** |
| 3. ablation | **C relocation only** | 2000 | **15.68** | 205,613 | 75s | **relocation + growth は 2000 iter では健全** |
| 4. final 30k | **relocation-only** | 30000 | **14.65** | 1,315,605 | 2h12m | **scale_l1=0 でも 30k で頭打ち、Phase I 比 -21 dB** |
| 4. final 30k | **noise-relocation** | 30000 | **14.69** | 1,840,604 | 2h38m | **noise 5e2 追加も改善なし、splats 肥大化のみ** |
| 参考 | Phase I baseline (fast conv.) | 12500 | 36.11 | 285,000 | 11m48s | 本実装の勝ちパターン、比較基準 |
| 参考 | fix2 (2026-05-23 敗) | 30000 | 17.38 | 1,000,000 | 1h10m | capacity 満タン、scale_l1=0.001 + noise=5e3 の複合毒 |
regularize.rs::apply_mcmc_scale_l1 の勾配符号 or scaling factor の再検証が必要。論文 §3.4 は ‖Σ‖_eig_L1 の subgradient を sign(exp(log_scale)) = 常に +1 として mean_scale が単調減少するはずだが、本実装は logit space で計算しており挙動が微妙にずれている可能性。次に MCMC を再挑戦する場合の primary suspect。relocate.rs::apply_mcmc_relocation の Eq.9 probability-preserving (o_new = 1-(1-o_t)^(1/N_t)) は unit test で pin しているが、本実装の SoA parameterization (raw_opacities, log_scales, rot_quats を独立 buffer) との rotation-aware Σ 補正が単純化されており、cluster が多数生成される 30k で品質が付いてこない。splats 1.3-1.8M まで肥大化するが PSNR が上がらないのはこの兆候。| 失敗 # | 日付 | tag | 内容 | PSNR (Lego) | 決着 |
|---|---|---|---|---|---|
| 1 | 2026-05-22 | `!G#4.31.G.1` | 3DGS-MCMC noise を prune 便乗経路で移植 | 3-5 dB 発散 | commit 857012a で future work 化 |
| 2 | 2026-05-22 | `!G#4.31.G.2` | capacity 100k cap で再挑戦 | OOM / crash | 同上 |
| 3 | 2026-05-22 | `!G#4.31.G.3` | max_scale_cap=0.05 追加 | 22 dB 停滞 | 同上 |
| 4 | 2026-05-23 | `!G#4.31.G.4` (fix2) | 3 欠陥全部入り、scale_l1=0.001 + noise=5e3 | 17.38 dB | calibration doc `mcmc-noise-calibration.md` 起草、次回課題送り |
| **5** | **2026-07-21** | **`!G#4.31.G.5` (fix3)** | **smoke → iter2000 → ablation → 30k final の 4 段階 timebox 実験** | **14.65 dB** | **本 finding、5 連敗確定 + component ablation で犯人特定** |
docs/findings/mcmc-3-defects.mddocs/findings/mcmc-noise-calibration.mddocs/findings/p1-axis1-phase-i-scene-adaptive.tomldocs/strategy/2026-07-execution-plan.mddocs/strategy/2026-06-25-next-steps-deep-dive-v2.mddocs/architecture/three-impls-arch.mdsplat/configs/2026-07-mcmc-*.tomlsplat/scripts/run-mcmc-*.shruns-logs/mcmc-*-20260721-*.logこの finding が観測された / 言及している実験 run。