Auto-Keras — это открытая библиотека для автоматизированного поиска архитектуры модели (AutoML). Библиотека позволяет вычисления параллельно на CPU и GPU и адаптируется под лимиты памяти. Разработчики предлагают новый метод для подбора нейросетевой архитектуры, который основан на байесовской оптимизации.
Задача поиска архитектуры нейросети (NAS) предполагает автоматический подбор архитектуры нейросети. Однако существующие алгоритмы (например, NASNet и PNAS) часто требуют значительных вычислительных ресурсов. Исследователи формулируют задачу морфизма нейросети (network morphism), когда функциональность нейросети сохраняется, но архитектура нейросети подбирается другая. Предлагаемый метод состоит из кернела с нейросетью и оптимизационного алгоритма, основанного на деревьях.
В чем идея метода
Ключевая идея предлагаемого метода в том, чтобы исследовать пространство поиска архитектур с помощью алгоритма байесовской оптимизации (BO). Традиционно байесовская оптимизация состоит из цикла с 3 шагами: обновление, генерация и наблюдение. В контексте поиска нейросетевой архитектуры цикл состоит из следующих шагов:
- Обновление: обучается гауссовский процесс на существующих архитектурах и их результатах;
- Генерация: генерируется новая архитектура через оптимизацию функции исследования (acquisition function);
- Наблюдение: записать результаты новой архитектуры
- Повторить цикл
Как устроена библиотека
Процесс работы Auto-Keras состоит из 5 шагов:
- Пользователь обращается к API библиотеки;
- Модуль поисковика (Searcher) генерирует нейросетевые архитектуры на CPU;
- Граф строит реальные нейросети с параметрами на RAM, основываясь на архитектурах с шага 2;
- Нейросеть копируется на GPU для обучения;
- Обученные нейросети сохраняются на устройствах для хранения и поисковик обновляется в соответствии с результатами сгенерированных нейросетей;
- Шаги 2-5 повторяются, пока система не превысит лимит на время
Сравнение методов на базовых задачах
Исследователи сравнивают предложенную модель (AK) с остальными AutoML методами на задачах MNIST, CIFAR-10 и Fashion-MNIST. Методы включают в себя: прямолинейные методы (случайный поиск и жадный поиск), традиционные методы (SPMT и SMAC), state-of-the-art методы (SEAS и NASBOT) и вариации предложенного алгоритма (с поиском в ширину and модель без network morphism). Ниже видно, что вариации предложенного алгоритма (AK, AK-DP) находят модели более высокого качества.