VLAlert / training /Policy /run_v5_ablations.sh
AsianPlayer's picture
Add VLAlert code
1e05592 verified
Raw
History Blame Contribute Delete
4.27 kB
#!/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 "β•šβ•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•β•"