From c25bd643570439071541e3bf0e462898cfdd1b45 Mon Sep 17 00:00:00 2001 From: pikaliov Date: Fri, 24 Apr 2026 22:30:30 +0300 Subject: [PATCH] Diagnostic baseline: disable DSS + hard mining, fresh output dir MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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) --- conf/gtauav_baseline.gin | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/conf/gtauav_baseline.gin b/conf/gtauav_baseline.gin index 3bcadde..26ae7e3 100644 --- a/conf/gtauav_baseline.gin +++ b/conf/gtauav_baseline.gin @@ -1,9 +1,21 @@ # 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" +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