[Перевод] Поиск оптимальной библиотеки AutoML

Программа перевода самородков

Поиск оптимизированных библиотек AutoML

За последние несколько лет было проведено много исследований о том, как автоматизировать создание моделей машинного обучения. В настоящее время в отрасли существует множество библиотек с открытым исходным кодом, которые обеспечивают функциональность AutoML. Каковы отношения между этими библиотеками и, что более важно, как они соотносят свои плюсы и минусы? Для этого нам нужна независимая команда для тестирования всех программных пакетов в контролируемых условиях на основе обширных наборов данных.

Статья Марка-Андре Целлера и Марко Ф. Хубера,Benchmark and Survey of Automated Machine Learning Frameworks, все бенчмарки выполнены. Мы нашли их протокол тестирования очень интересным, и именно им мы хотели поделиться здесь. Пожалуйста, обрати внимание:

В целом, все алгоритмы, кроме поиска по сетке, производят модели с одинаковой производительностью.

训练最佳模型要求损失最小(Credit Pexels)

Определение AutoML

Во-первых, определите, что именно входит в AutoML, который мы собираемся обсудить. Это очень широкий термин, который может означать все в проекте машинного обучения, от очистки данных и разработки функций до поиска гиперпараметров, развертывания, производства и последующих добавочных обновлений и развертывания моделей.

В этой статье мы обсудим инструменты AutoML, которые могут создавать рабочие процессы для предварительной обработки данных, выбора модели и настройки гиперпараметров.

Мы можем разбить этот процесс на следующие этапы: поиск структуры и выбор комбинированного алгоритма и поиск гиперпараметров (CASH), как показано на рисунке 1.

图 1: 机器学习管道的自动创建可以分为对管道结构的搜索以及组合的算法选择和超参数优化。[1]

В этой статье они делят инструмент на следующие части: те, которые выполняют CASH и поддерживают линейный конвейер, как показано на рисунке 2, и те, которые могут искать более сложные конвейеры, включая параллельные ветви и реорганизацию данных, как показано на рисунке. 3. Это поиск структуры на рисунке 1.

图 2: 固定管道的示例,包括数据预处理以及模型选择和调整。这是本文中基准的所有 CASH 工具创建的管道。[1]

图 3: 专为特定任务设计的更复杂管道的示例。这种类型的管道是由本文中基准的 AutoML 平台创建的。[1]

В ходе своих экспериментов они обнаружили, что алгоритм CASH работает лучше. Здесь мы сосредоточимся на этих инструментах.

Обзор алгоритма

Алгоритмы, которые можно использовать для поиска гиперпараметров, резюмируются следующим образом:

Поиск по сетке и случайный поиск

Сначала самый простой способ: сделать значения гиперпараметровпоиск по сеткеОперация проста и может помочь вам быстро найти лучшие параметры модели.

Далееслучайный поиск, который генерирует случайную комбинацию гиперпараметров в пределах указанного распределения и диапазона.

Как показано на рисунке 4, это имеет то преимущество, что оптимальное решение не теряется (если они находятся между двумя точками сетки), а при бесконечном запуске будет сколь угодно близко к оптимальному решению, что аналогично поиску по сетке.

Как для поиска по сетке, так и для случайного поиска авторы выбрали реализацию scikit-learn.

图 4: 在超参数搜索中使用固定的网格可能会丢失某些超参数的最佳值,这中情况在高维搜索中变得更加明显。[2]

Оптимальный поиск на основе модели последовательности

Итак, у нас есть ряд методов оптимизации модели (SMBO). Цель алгоритма состоит в том, чтобы извлечь уроки из оценки по мере ее завершения, подобно тому, как специалисты по данным структурируют поиск гиперпараметров. Эти алгоритмы изучают суррогатную модель после каждой оценки, а затем используют функцию запроса для запроса суррогатной модели, чтобы выбрать следующую точку оценки. Запрос суррогатной модели выполняется намного быстрее, чем обучение модели для получения реальных значений производительности.

Методы оптимизации на основе моделей направлены на изучение области оптимального решения в пространстве поиска и поиск наилучшей модели.

экспериментПредположим, есть простая двумерная квадратичная функция с минимальными значениями X_0 = 50 и X_1 = -50. При использовании байесовской оптимизации после первой оценки и изучения суррогатной модели на основе 10 случайных конфигураций последующие оценки начинают постепенно сходиться к минимуму. Эта целевая функция изображена слева на рис. 5, а справа — выбор точек последовательности определяется выражениемscikit-optimizeПолучается байесовский метод и гауссовский процесс в выборе — по мере увеличения количества итераций от фиолетового к красному оно будет продолжать приближаться к минимуму.

图 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: 本文 [1] 中测试的所有 CASH 求解器的标准化性能都得到了扩展,其中 0.5 到 1.5 之间的区域被拉伸以提高可读性。

Удивительно, но они обнаружили, что все инструменты работают одинаково, кроме поиска по сетке!

После десяти итераций все алгоритмы, кроме поиска по сетке, превосходят базовый уровень случайного леса, а на рис. 6 показана окончательная производительность всех алгоритмов после 325 итераций.

Любопытно, что способ определения сетки, используемой для поиска по сетке, также является автоматическим, и параметры случайных лесов по умолчанию не отображаются в сетке, что хуже, чем ненастроенные случайные леса, полная сеть включена в приложение к этой статье.

Удивительные различия в экспериментах

Авторы также подчеркивают, что некоторые наборы данных демонстрируют значительную дисперсию только при изменении случайного начального числа. Это также то, где мы находимсяDataikuЭто также наблюдается в проведенных тестах, демонстрирующих важность повторения экспериментов.

Это хорошо видно на рис. 7, где грубая и средняя точность показаны вместе. Для набора данных с наибольшей дисперсией (диабет) результаты случайного поиска отличаются более чем на 20%!

图 7: 使用不同随机种子的每次运行的精度,以及种子之间差异最大的 40 个数据集的平均值。[1]

Резюме автора

Автор заключает

В целом, все алгоритмы, кроме поиска по сетке, производят модели с одинаковой производительностью.

Они также пришли к выводу, что абсолютная разница в точности для большинства наборов данных составляет менее 1%, поэтому нецелесообразно ранжировать эти алгоритмы только на основе производительности. Для будущего ранжирования алгоритмов следует учитывать другие критерии (такие как накладные расходы модели или масштабируемость).

Точность в сторону: скорость сходимости как критерий выбора

Хотя конечной целью является получение наилучшей возможной модели, на самом деле существуют другие ограничения на вычислительные ресурсы и время, особенно когда мы используем большие объемы данных в отрасли, может оказаться невозможным обучить сотни моделей.

В этом случае важно учитывать, насколько быстро алгоритм может приблизиться к оптимальной модели. Такие критерии, как накладные расходы модели, важны, когда ресурсов достаточно для обучения сотен моделей, но если вы можете позволить себе обучить, скажем, только 20 моделей, тоскорость сходимостибудет очень важным критерием.

Чтобы лучше проиллюстрировать это, обратитесь к кривой на рис. 8 ниже.

существуетOpenML dataset HiggsВыше четыре алгоритма поиска используются для оптимизации четырех гиперпараметров только одного алгоритма (случайного леса). Наносятся оптимальные потери для каждой итерации. Первая вертикальная линия представляет 20-ю итерацию.

До этого момента все алгоритмы оптимизации на основе моделей больше не выполняли случайный поиск, а выбирают точки для оценки на основе своих собственных моделей. Между 50 итерациями здесь и второй вертикальной линией мы видим большую разницу между производительностью моделей, найденных этими алгоритмами, по сравнению с тем, когда все алгоритмы завершили 325 итераций для сходимости.

图 8: 使用四种不同的搜索算法调整简单随机森林的四个超参数而获得的每次迭代损失,每种迭代算法发现的模型的最佳损失之间的差异随着迭代次数的减少而更加明显。

Итак, если вы можете позволить себе обучить только 20 моделей, выберите алгоритм, основанный на оценке дерева Парзена, например, вOptunaАлгоритм, реализованный в , будет иметь лучшую модель.

Ссылаться на

  1. Целлер, М. А. и Хубер, М. Ф. Сравнительный анализ и обзор автоматизированных платформ машинного обучения (2019).
  2. Bergstra, J. & Bengio, Y. Random search for hyper-parameter optimization. J. Mach. Learn. Res. 13, 281–305 (2012).
  3. Казаличчио, Г., Хаттер, Ф., Мантовани, Р. Г. и Ваншорен, Дж. Пакеты сравнительного анализа OpenML и OpenML100, 1–6.arXiv:1708.03731v1
  4. Казаличчио, Г., Хаттер, Ф. и Мантовани, Р. Г. Наборы для сравнительного анализа OpenML, 1–6arXiv:1708.03731v2
  5. Gijsbers, P. et al.Тест AutoML с открытым исходным кодом, 1–8 (2019).

Если вы обнаружите ошибки в переводе или в других областях, требующих доработки, добро пожаловать наПрограмма перевода самородковВы также можете получить соответствующие бонусные баллы за доработку перевода и PR. начало статьиПостоянная ссылка на эту статьюЭто ссылка MarkDown этой статьи на GitHub.


Программа перевода самородковэто сообщество, которое переводит высококачественные технические статьи из Интернета сНаггетсДелитесь статьями на английском языке на . Охват контентаAndroid,iOS,внешний интерфейс,задняя часть,блокчейн,продукт,дизайн,искусственный интеллектЕсли вы хотите видеть более качественные переводы, пожалуйста, продолжайте обращать вниманиеПрограмма перевода самородков,официальный Вейбо,Знай колонку.