Обучение архитектуры NAS (Neural Architecture Search) работает следующим образом: 2
- Определяется пространство поиска возможных топологий сети, которое состоит из списка предопределённых операций (например, свёрточных слоёв, рекуррентных, пулинга и других) и их связей. 2
- Контроллер выбирает из пространства поиска список возможных кандидатных архитектур. 2
- Архитектуры-кандидаты обучаются и ранжируются на основе их производительности на валидационном тесте. 2
- Ранжирование используется для корректировки поиска и получения новых кандидатов. 2
- Процесс итерирует до достижения определённого условия и предоставления оптимальной архитектуры. 2
Для начала работы с NAS можно использовать, например, следующие библиотеки:
- NASLib. 7 Модульная и гибкая среда, которая предоставляет интерфейсы к современным пространствам поиска и оптимизаторам NAS. 7
- Ax. 5 Библиотека на основе PyTorch, которая позволяет эффективно исследовать компромиссы (например, между производительностью модели и её размером или задержкой) в NAS. 5
- Neural Network Intelligence (NNI). 9 Фреймворк от Microsoft, который поддерживает различные методы NAS. 2
Выбор библиотеки зависит от личных предпочтений и потребностей разработчика.