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

Ограничения

16. Преимущества и ограничения

Преимущества

Преимущество Описание Обоснование
Детерминированная геометрия kernel/padding выводятся из node_sizes — нет «зависших» форм Гарантирует корректность форварда после любой мутации
Кэш ExecutionPlan DAG компилируется один раз → $O( E
VRAM-контроллер Адаптивное деление batch → устойчивость к OOM на любом GPU Позволяет запускать эволюцию на GPU с 4–8 ГБ VRAM
Archive mixing Половина следующей популяции из исторического архива Сохраняет топологическое разнообразие при сходимости
Инкрементальная сложность Начинает с минимальных топологий, NEAT-стиль Избегает катастрофически сложных начальных архитектур
Два уровня оптимизации Эволюция (топология) + GD (веса) NAS + fine-tune в едином framework
Гибкое API fitness вычисляется снаружи → легко интегрировать в любой pipeline Расширяемость без изменения ядра
Воспроизводимость Seed + JSON val-индексы Точное повторение экспериментов

Ограничения

Ограничение Описание Возможное улучшение
Линейное тело (baseline) Без активаций тело — аффинная функция от входа Включить activation=relu (уже поддержан)
Фиксированные C=3 каналы Малая ёмкость feature extraction allow_variable_channels=True с [8,16,32]
Нет weight sharing Каждый геном обучается независимо → \(P \times\) вычислительная стоимость Supernet / one-shot NAS
Union crossover Не учитывает относительный fitness родителей Weighted crossover по fitness ratio
Нет speciation Нет механизма видов из оригинального NEAT Ниши по fitness или топологическому расстоянию
Binary head не обучается Порог принятия решения фиксирован (soft: sweep) Обучаемый head с BCE в genome
Нет ранней остановки Все поколения выполняются независимо от сходимости Convergence detection + early stop
Нет регуляризации L2/dropout не применяются к conv-весам Weight decay в Adam (finetune, periodic_gd)