Введение¶
Раздел задаёт задачу, цели и место метода среди других способов поиска архитектур. Формулы — во вкладке «Модель», запуск и числа — во вкладке «Исследования».
Разделы¶
- Аннотация
- Цели
- Гибридный конвейер
- Словарь терминов
- Обзор литературы
- Сравнение методов поиска архитектур
- Ограничения
- Библиография
1. Аннотация и позиционирование¶
CNN-NEAT решает задачу автоматического поиска архитектур (NAS) свёрточных нейронных сетей эволюционным алгоритмом NEAT [1]. В отличие от классического NEAT [1] для полносвязных сетей, каждое ребро ориентированного ациклического графа — операция Conv2d. Бинарный классификатор не входит в геном и не эволюционирует: представление и решение разделены намеренно.
Задача: CIFAR-10 в постановке «один против остальных» — 10 независимых бинарных задач, по одной на каждый класс. Положительный класс задаётся параметром positive_class ∈ {0,…,9}.
Позиционирование относительно методов NAS:
| Метод | Стратегия поиска | Пространство | GPU-эффективность |
|---|---|---|---|
| CNN-NEAT (данная работа) | Нейроэволюция (NEAT) | Граф свёрток | Адаптивная (контроллер видеопамяти) |
| DARTS [2] | Дифференцируемая релаксация | Ячейки | Высокая |
| ENAS [3] | Контроллер (обучение с подкреплением) и общие веса | Ячейки | Высокая |
| Random NAS [4] | Случайный поиск | Произвольная | Средняя |
| AmoebaNet [5] | Регуляризованная эволюция | Ячейки | Средняя |
Ключевые принципы дизайна:
| Принцип | Описание |
|---|---|
| Граф = архитектура | Топология графа и веса свёрток на рёбрах эволюционируют совместно |
| Классификатор снаружи | Бинарный классификатор (сумма и сигмоида) фиксирован и не входит в геном |
| Детерминированная геометрия | Размеры kernel и padding выводятся из node_sizes и не мутируют произвольно |
| Кэш исполнения | Граф превращается в ExecutionPlan; дополнительно кэш Меркла активаций и кэш отсева |
| Фиксированные каналы (базовый режим) | C_in = C_out = 3; по желанию каналы из множества {3,8,16} |
| Спекулятивное размножение | Конус размножения в оперативной памяти, оценка на GPU идёт с перекрытием |
| Два трека дообучения | После первого периодического дообучения: пул без дообучения и линия дообучения |