Add causal person track GRU residual experiment

This commit is contained in:
Xin Wang
2026-09-07 00:30:23 +08:00
parent 9fc4577aea
commit 4aed4697a5
15 changed files with 1185 additions and 43 deletions
+25
View File
@@ -1899,6 +1899,31 @@ acceptance rule using Sessions 1--3. LLM-adjudicated candidates are deliberatel
kept in a separate JSONL until pilot precision is accepted; they are not yet
silently merged into the training arrays.
## Anonymous person-track GRU residual
The first person-temporal experiment is implemented as
`--local-fusion track-gru-residual`. It preserves an exactly initialized
`G+A+pooled-V` head and learns a zero-gated correction from shared causal GRU
states over temporary person tracks. IDs route history only; they are not model
inputs. Source-clip boundaries, gaps over the configured maximum and unknown
IDs reset history. Existing local Qwen sidecars can be reused without
re-extraction.
Run the matched pooled/track development protocol with:
```bash
CUDA_VISIBLE_DEVICES=0 bash run_easycom_track_gru_residual.sh all 0
```
Use separate GPUs for additional seeds, then summarize the common result root
with `summarize_local_baselines.py --paired-deltas`. After method selection is
frozen, `bash run_easycom_track_gru_residual.sh test 0 1 2` evaluates the saved
checkpoints once on Sessions 1--3. The exact causal contract,
EgoSpeak code comparison, L20 smoke command and stopping rule are in
[`docs/easycom_track_gru_residual.md`](docs/easycom_track_gru_residual.md).
This is a frozen-backbone side branch, not an internal Thinker modification or
an EgoSpeak MiniROAD reproduction.
## Candidate improvement: explicit working and long memory
Motivated by EgoSpeak's separation of long-term and working memory, test an