Перейти к содержанию

MNIST, проверка 5 тысяч, облегчённое градиентное дообучение (скрипт 19)

scripts/ablation/19_mnist_val5k_light_gd_study.py — тот же 3-конфигный OVA A/B и 5-слотовая очередь merge/evolve, что у скрипта 17, но 17 не трогается: отдельный корень runs/ablation/mnist_val5k_light_gd/.

Цель — уменьшить val-overfit и не дать GD спрятать топологию (Mayley).

Бюджет фазы A/B

Ручка 17 19
val 1000 5000 (n₊=500)
pop A / B 256 / 128 50 / 25 (dual-track B → 50)
stagnation 50, любое ε 20, Δ ≥ 0.001 (1 TP)
GD every=5, epochs=10 every=10, epochs=3, max_batches=32
GD applies флаг да/нет счётчик, cap 2

Сила одного прохода Adam:

\[ I = \frac{\text{epochs}}{\text{every}}\cdot \min\bigl(\lceil n_{\text{fold}}/\text{batch}\rceil,\;\text{max\_batches}\bigr) \]

только для элит. every и epochs задают, как часто и как глубоко гладят веса; max_batches режет длину эпохи. periodic_gd_max_applies — сколько принятых (val-gate) GD-событий может накопить линия; дальше геном пропускается. Потомки берут max(родитель, mate). Тот же кап уходит в merge/evolve (--gd-max-applies).

stagnation_min_delta=0.001 = один лишний TP на 500 позитивах: нано-тики из одного TN больше не сбрасывают patience.

python scripts/ablation/19_mnist_val5k_light_gd_study.py
python scripts/ablation/19_mnist_val5k_light_gd_study.py --ova-only
python scripts/ablation/19_mnist_val5k_light_gd_study.py --multiclass-only --only ab_gd

Studio: профиль 19 — MNIST val=5k облегчённое градиентное дообучение (light GD). Скрипт 17 в комбо остаётся как есть.