Два трека градиентного дообучения¶
Периодическое градиентное дообучение (periodic GD) меняет веса, но не топологию. Чтобы не потерять «чистую» NEAT-линию, после первого GD-события популяция расширяется и размножается двумя независимыми пулами.
Два пула
Пусть \(P\) — исходный размер, \(\Delta=\) gd_lineage_expand_slots.
[
|\mathcal{P}{\mathrm{never}}| = P, \qquad
|\mathcal{P}| = \Delta, \qquad
|\mathcal{P}| = P + \Delta
]
(в script 11 C/D: }\(P=64\), \(\Delta=64\) → 128). Флаг GenomeLineage.gd_lineage наследуется потомками.
Размножение: CnnNeat.evolve_dual_track — без градиентного дообучения (never-GD) родители не скрещиваются с Линия градиентного дообучения (GD-lineage) (отдельные очереди). Приспособленность (fitness) сравнивается в общем ranking, но слоты квотируются.
После GD: кэш Меркла инвалидирует только геномы с реально изменившимися весами (accept/reject по L1). Конус без градиентного дообучения можно восстановить из оперативной памяти после приостановки.

Классификация: GD lineage.