Files
caption-test/conf/gtauav_baseline.gin
pikaliov c25bd64357 Diagnostic baseline: disable DSS + hard mining, fresh output dir
Previous baseline run collapsed to ~random retrieval (R@1 0.6% at epoch 8,
train loss trending up 4.2 → 4.5). Hypothesis: at bs=8, DSS packs
visually-identical drones into a batch where InfoNCE asks the model to
discriminate them, and the hard-mining queue amplifies that hardness —
together they prevent convergence from a near-random start.

Override the new baseline config to run with the simpler regime:
  sampler_type = "mutex"    (disable DSS, keep only the no-false-negative guarantee)
  hard_mining_k = 0         (use full queue as uniform negatives, no per-query top-K)

Fresh `out/gtauav/baseline_mutex` output dir so results stay separate from
the failed run's mixed logs.

Other architecture changes (shared DINOv3 WEB, MONA in last 12 blocks,
grad_accum=8) kept — verify they work with simple sampling before
layering DSS/mining back on.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-04-24 22:30:30 +03:00

22 lines
990 B
Plaintext

# GTA-UAV Baseline: no text fusion (gate forced to 1.0).
# query = drone_only -> InfoNCE vs satellite
# Reference R@1 for delta computation.
#
# Diagnostic mode (2026-04-24): DSS and hard-negative mining disabled after
# the previous run collapsed (R@1 = 0.6% at epoch 8, train loss growing).
# Hypothesis: DSS packs visually-identical drones at bs=8 and the hard-mining
# queue amplifies that hardness — together they prevent convergence from a
# nearly-random start. Run with mutex-only sampling and the full queue as
# uniform negatives first, restore the extras incrementally once baseline
# converges.
include 'conf/gtauav_balanced.gin'
TrainConfigGTAUAV.baseline_mode = True
TrainConfigGTAUAV.output_dir = "out/gtauav/baseline_mutex"
TrainConfigGTAUAV.use_gradcam = False
# ---- Diagnostic overrides ----
TrainConfigGTAUAV.sampler_type = "mutex" # was "dss" — disable hard-batch construction
InfoNCELoss.hard_mining_k = 0 # was 512 — use full queue without per-query top-K