Родословная градиентного дообучения¶
После первого срабатывания периодическое градиентное дообучение (periodic GD) эволюция ведёт две линии:
- без градиентного дообучения (never-GD) — топологический поиск без Adam на весах;
- Линия градиентного дообучения (GD-lineage) — потомки геномов, прошедших хотя бы один принятый GD.
Флаг GenomeLineage.gd_lineage копируется в offspring. gd_apply_count — число
принятых periodic-GD событий на линии (потомки берут max(родитель, mate)).
periodic_gd_max_applies > 0 пропускает геномы, уже достигшие порога; 0 —
безлимит, как в скрипте 17 (dual-track по флагу). evolve_dual_track квотирует слоты: \(P\) без градиентного дообучения + \(\Delta\) GD (gd_lineage_expand_slots).
Accept/reject GD: веса принимаются, только если L1-изменение ненулевое и val-gate не провален (CV-протокол). Иначе геном остаётся без градиентного дообучения.
Математика: dual-track. Используется в скриптах 10 (C/D) и 11 (C/D). Скрипт 19 считает applies и режет линию на periodic_gd_max_applies=2. Скрипт 20 держит два трека (dual-track) expand включённым (в отличие от 18): после первого GD live pop = 2P.