- Оригинальный адрес:Hunting for the Optimal AutoML Library
- Оригинальный автор:Aimee Coelho
- Перевод с:Программа перевода самородков
- Постоянная ссылка на эту статью:GitHub.com/rare earth/gold-no…
- Переводчик:zhusimaji
- Корректор:regon-cao,lsvih
Поиск оптимизированных библиотек AutoML
За последние несколько лет было проведено много исследований о том, как автоматизировать создание моделей машинного обучения. В настоящее время в отрасли существует множество библиотек с открытым исходным кодом, которые обеспечивают функциональность AutoML. Каковы отношения между этими библиотеками и, что более важно, как они соотносят свои плюсы и минусы? Для этого нам нужна независимая команда для тестирования всех программных пакетов в контролируемых условиях на основе обширных наборов данных.
Статья Марка-Андре Целлера и Марко Ф. Хубера,Benchmark and Survey of Automated Machine Learning Frameworks, все бенчмарки выполнены. Мы нашли их протокол тестирования очень интересным, и именно им мы хотели поделиться здесь. Пожалуйста, обрати внимание:
В целом, все алгоритмы, кроме поиска по сетке, производят модели с одинаковой производительностью.

Определение AutoML
Во-первых, определите, что именно входит в AutoML, который мы собираемся обсудить. Это очень широкий термин, который может означать все в проекте машинного обучения, от очистки данных и разработки функций до поиска гиперпараметров, развертывания, производства и последующих добавочных обновлений и развертывания моделей.
В этой статье мы обсудим инструменты AutoML, которые могут создавать рабочие процессы для предварительной обработки данных, выбора модели и настройки гиперпараметров.
Мы можем разбить этот процесс на следующие этапы: поиск структуры и выбор комбинированного алгоритма и поиск гиперпараметров (CASH), как показано на рисунке 1.
В этой статье они делят инструмент на следующие части: те, которые выполняют CASH и поддерживают линейный конвейер, как показано на рисунке 2, и те, которые могут искать более сложные конвейеры, включая параллельные ветви и реорганизацию данных, как показано на рисунке. 3. Это поиск структуры на рисунке 1.
В ходе своих экспериментов они обнаружили, что алгоритм CASH работает лучше. Здесь мы сосредоточимся на этих инструментах.
Обзор алгоритма
Алгоритмы, которые можно использовать для поиска гиперпараметров, резюмируются следующим образом:
Поиск по сетке и случайный поиск
Сначала самый простой способ: сделать значения гиперпараметровпоиск по сеткеОперация проста и может помочь вам быстро найти лучшие параметры модели.
Далееслучайный поиск, который генерирует случайную комбинацию гиперпараметров в пределах указанного распределения и диапазона.
Как показано на рисунке 4, это имеет то преимущество, что оптимальное решение не теряется (если они находятся между двумя точками сетки), а при бесконечном запуске будет сколь угодно близко к оптимальному решению, что аналогично поиску по сетке.
Как для поиска по сетке, так и для случайного поиска авторы выбрали реализацию scikit-learn.
Оптимальный поиск на основе модели последовательности
Итак, у нас есть ряд методов оптимизации модели (SMBO). Цель алгоритма состоит в том, чтобы извлечь уроки из оценки по мере ее завершения, подобно тому, как специалисты по данным структурируют поиск гиперпараметров. Эти алгоритмы изучают суррогатную модель после каждой оценки, а затем используют функцию запроса для запроса суррогатной модели, чтобы выбрать следующую точку оценки. Запрос суррогатной модели выполняется намного быстрее, чем обучение модели для получения реальных значений производительности.
Методы оптимизации на основе моделей направлены на изучение области оптимального решения в пространстве поиска и поиск наилучшей модели.
экспериментПредположим, есть простая двумерная квадратичная функция с минимальными значениями X_0 = 50 и X_1 = -50. При использовании байесовской оптимизации после первой оценки и изучения суррогатной модели на основе 10 случайных конфигураций последующие оценки начинают постепенно сходиться к минимуму. Эта целевая функция изображена слева на рис. 5, а справа — выбор точек последовательности определяется выражениемscikit-optimizeПолучается байесовский метод и гауссовский процесс в выборе — по мере увеличения количества итераций от фиолетового к красному оно будет продолжать приближаться к минимуму.
Существуют различные варианты суррогатных моделей, включая гауссовы процессы, случайные леса иПредсказатель дерева Парзена, Выбор автораRoBoи гауссовский процесс,SMACи случайный лес,HyperoptПротестируйте SMBO с помощью Tree Parzen Predictor.
Другие методы поиска
так же может бытьМногорукое бандитское обучение в сочетании с байесовской оптимизацией, выбор параметров класса обрабатывается бандитом и делит пространство на подпространства, называемые гиперразделами, каждое подпространство содержит только параметры, оптимизированные Байесом. Байесовцы и бандиты (BTB).
Другой способ — использовать эволюционные алгоритмы. Существует множество различных алгоритмов на основе популяции, таких какОптимизация роя частиц. используется в этом бенчмаркеOptunityалгоритм.
повышение производительности
В дополнение к этим основным алгоритмам есть много предложений по улучшению этих методов — в основном они направлены на сокращение времени, необходимого для поиска лучшей модели.
низкая точность
Популярным методом является использование оценки низкой точности. Это может быть обучение на выборках данных или обучение модели с меньшим количеством итераций — поскольку это быстрый способ узнать, как работает каждая конфигурация, можно заранее протестировать больше конфигураций и только самые многообещающие. Конфигурация полностью обучена.
Хороший примерhyperband.BOHB— это инструмент, который сочетает в себе гиперполосную и байесовскую оптимизацию и включен в этот тест.
метаобучение
Если у вас уже есть представление о наиболее перспективных областях пространства поиска для изучения, вы можете сузить область поиска с нуля вместо того, чтобы начинать со случайного поиска, что ускорит процесс оптимизации модели. Один из подходов заключается в изучении наиболее важныхГиперпараметры, в различных наборах данных, какие хорошие параметры они обычно имеют для данного алгоритма.
Другой способ — использовать результаты ваших предыдущих поисков гиперпараметров, которые вы могли выполнять в других наборах данных. Если можно определить, что наборы данных похожи, поиск можно начать с использованием лучших гиперпараметров для этой задачи — это называется поиском с горячим запуском.
auto-sklearnРеализована эта схема, дополнительные методы оценки сходства наборов данных могут относиться к ихбумага.
Контрольный эксперимент
Данные для этого эталонного теста представляют собой комбинацию OpenML100[3], OpenML-CC18[4] и AutoML Benchmark[5], в общей сложности137 категориальных наборов данных.
Все библиотеки выполнены325 итераций, так как определено, что этого времени достаточно для сходимости всех алгоритмов, а обучение любой отдельной модели ограничено 10 минутами.
Эти библиотеки имеют13 различных алгоритмов,Всего58 гиперпараметровможно оптимизировать. Производительность каждой конфигурации оценивалась с помощью четырехкратной перекрестной проверки, и эксперимент повторялся 10 раз с разными случайными начальными значениями.
в заключении
Для сравнения точности наборов данных с разным уровнем сложности используются две базовые модели. одинфиктивный классификатор, а другой — простой ненастроенный алгоритм случайного леса. Затем результаты этих тестов используются для нормализации результатов, так что производительность фиктивного классификатора становится равной нулю, а производительность ненастроенного случайного леса становится единицей. Таким образом, любая библиотека превосходит 1, что означает, что она превосходит ненастроенный случайный лес.
Удивительно, но они обнаружили, что все инструменты работают одинаково, кроме поиска по сетке!
После десяти итераций все алгоритмы, кроме поиска по сетке, превосходят базовый уровень случайного леса, а на рис. 6 показана окончательная производительность всех алгоритмов после 325 итераций.
Любопытно, что способ определения сетки, используемой для поиска по сетке, также является автоматическим, и параметры случайных лесов по умолчанию не отображаются в сетке, что хуже, чем ненастроенные случайные леса, полная сеть включена в приложение к этой статье.
Удивительные различия в экспериментах
Авторы также подчеркивают, что некоторые наборы данных демонстрируют значительную дисперсию только при изменении случайного начального числа. Это также то, где мы находимсяDataikuЭто также наблюдается в проведенных тестах, демонстрирующих важность повторения экспериментов.
Это хорошо видно на рис. 7, где грубая и средняя точность показаны вместе. Для набора данных с наибольшей дисперсией (диабет) результаты случайного поиска отличаются более чем на 20%!
Резюме автора
Автор заключает
В целом, все алгоритмы, кроме поиска по сетке, производят модели с одинаковой производительностью.
Они также пришли к выводу, что абсолютная разница в точности для большинства наборов данных составляет менее 1%, поэтому нецелесообразно ранжировать эти алгоритмы только на основе производительности. Для будущего ранжирования алгоритмов следует учитывать другие критерии (такие как накладные расходы модели или масштабируемость).
Точность в сторону: скорость сходимости как критерий выбора
Хотя конечной целью является получение наилучшей возможной модели, на самом деле существуют другие ограничения на вычислительные ресурсы и время, особенно когда мы используем большие объемы данных в отрасли, может оказаться невозможным обучить сотни моделей.
В этом случае важно учитывать, насколько быстро алгоритм может приблизиться к оптимальной модели. Такие критерии, как накладные расходы модели, важны, когда ресурсов достаточно для обучения сотен моделей, но если вы можете позволить себе обучить, скажем, только 20 моделей, тоскорость сходимостибудет очень важным критерием.
Чтобы лучше проиллюстрировать это, обратитесь к кривой на рис. 8 ниже.
существуетOpenML dataset HiggsВыше четыре алгоритма поиска используются для оптимизации четырех гиперпараметров только одного алгоритма (случайного леса). Наносятся оптимальные потери для каждой итерации. Первая вертикальная линия представляет 20-ю итерацию.
До этого момента все алгоритмы оптимизации на основе моделей больше не выполняли случайный поиск, а выбирают точки для оценки на основе своих собственных моделей. Между 50 итерациями здесь и второй вертикальной линией мы видим большую разницу между производительностью моделей, найденных этими алгоритмами, по сравнению с тем, когда все алгоритмы завершили 325 итераций для сходимости.
Итак, если вы можете позволить себе обучить только 20 моделей, выберите алгоритм, основанный на оценке дерева Парзена, например, вOptunaАлгоритм, реализованный в , будет иметь лучшую модель.
Ссылаться на
- Целлер, М. А. и Хубер, М. Ф. Сравнительный анализ и обзор автоматизированных платформ машинного обучения (2019).
- Bergstra, J. & Bengio, Y. Random search for hyper-parameter optimization. J. Mach. Learn. Res. 13, 281–305 (2012).
- Казаличчио, Г., Хаттер, Ф., Мантовани, Р. Г. и Ваншорен, Дж. Пакеты сравнительного анализа OpenML и OpenML100, 1–6.arXiv:1708.03731v1
- Казаличчио, Г., Хаттер, Ф. и Мантовани, Р. Г. Наборы для сравнительного анализа OpenML, 1–6arXiv:1708.03731v2
- Gijsbers, P. et al.Тест AutoML с открытым исходным кодом, 1–8 (2019).
Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.
Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.