#!/bin/bash # ────────────────────────────────────────────────────────────────────────────── # V5 Hierarchical PolicyHead — Ablation Suite # # Runs 4 experiments to validate the hierarchical decomposition: # 1) v5_base: Hierarchical head, default hyperparams # 2) v5_focal: Higher focal emphasis (α=0.85, γ=3.0) # 3) v5_mono: + VideoGroupedSampler + monotonic constraint (λ=0.1) # 4) v5_smooth: + label smoothing (ε=0.05) # # Each experiment: ~12-15min (early stop ~epoch 3, belief cache mode) # Total: ~50-60min # # Results go to checkpoints/Policy/policy_warmstart_v5_*/best # # Usage: # bash training/Policy/run_v5_ablations.sh # ────────────────────────────────────────────────────────────────────────────── set -euo pipefail cd "$(dirname "$0")/../.." SFT_CKPT="checkpoints/SFT/sft_v2/best" LABEL_DIR="data/policy_labels" CACHE_DIR="data/belief_cache" OUTPUT_DIR="checkpoints/Policy" echo "╔══════════════════════════════════════════════════════════╗" echo "║ V5 Hierarchical PolicyHead — Ablation Suite ║" echo "║ 4 experiments × ~15 min ≈ 50-60 min total ║" echo "╚══════════════════════════════════════════════════════════╝" # ── 1) v5_base: Default hierarchical head ──────────────────────────────────── echo "" echo "━━━ [1/4] v5_base: default hierarchical head ━━━" TAG=base \ FOCAL_ALPHA=0.75 FOCAL_GAMMA=2.0 \ ALERT_LOSS_W=1.0 DANGER_LOSS_W=0.5 \ bash training/Policy/train_policy_v5.sh --balanced # ── 2) v5_focal: Stronger focal emphasis ───────────────────────────────────── echo "" echo "━━━ [2/4] v5_focal: α=0.85 γ=3.0 ━━━" TAG=focal \ FOCAL_ALPHA=0.85 FOCAL_GAMMA=3.0 \ ALERT_LOSS_W=1.5 DANGER_LOSS_W=0.5 \ bash training/Policy/train_policy_v5.sh --balanced # ── 3) v5_mono: + video-grouped sampler + monotonic ───────────────────────── echo "" echo "━━━ [3/4] v5_mono: hierarchical + VideoGroupedSampler + mono_λ=0.1 ━━━" TAG=mono \ FOCAL_ALPHA=0.75 FOCAL_GAMMA=2.0 \ ALERT_LOSS_W=1.0 DANGER_LOSS_W=0.5 \ MONO_LAMBDA=0.1 \ bash training/Policy/train_policy_v5.sh --video-sampler # ── 4) v5_smooth: + label smoothing ───────────────────────────────────────── echo "" echo "━━━ [4/4] v5_smooth: hierarchical + label_smoothing=0.05 ━━━" TAG=smooth \ FOCAL_ALPHA=0.75 FOCAL_GAMMA=2.0 \ ALERT_LOSS_W=1.0 DANGER_LOSS_W=0.5 \ LABEL_SMOOTHING=0.05 \ bash training/Policy/train_policy_v5.sh --balanced echo "" echo "╔══════════════════════════════════════════════════════════╗" echo "║ All 4 ablations complete! ║" echo "║ ║" echo "║ Checkpoints: ║" echo "║ ${OUTPUT_DIR}/policy_warmstart_v5_base/best" echo "║ ${OUTPUT_DIR}/policy_warmstart_v5_focal/best" echo "║ ${OUTPUT_DIR}/policy_warmstart_v5_mono/best" echo "║ ${OUTPUT_DIR}/policy_warmstart_v5_smooth/best" echo "║ ║" echo "║ Compare results in each best/policy_meta.json ║" echo "╚══════════════════════════════════════════════════════════╝"