Автоматическое обучение машин

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску

Автоматическое обучение машин (AutoML) — это процесс автоматизации сквозного процесса применения обучения машины к задачам реального мира. В типичном приложении обучения машины практический работник должен применить подходящие методы предварительной обработки данных, конструирования признаков, выделения признаков и выбора признаков[en], которые делают набор данных пригодным для обучения машин. После этих шагов работник должен осуществить выбор алгоритма[en] и оптимизацию гиперпараметров для максимизации прогнозируемой производительности конечной модели обучения машин. Поскольку многие из этих шагов не могут осуществить люди, не будучи экспертами, был предложен AutoML как основанное на искусственном интеллекте решение для всё возрастающей необходимости применения обучения машин[1][2]. Автоматизация сквозного процесса применения обучения машин даёт преимущество получения более простых решений, более быстрого создания таких решений и моделей, которые часто превосходят модели, построенные вручную.

Цели автоматизации[править | править код]

Автоматическое обучение машин может иметь целью различные стадии процесса обучения машины:[2]

  • Автоматическая подготовка данных[en] и сбор и сохранение данных (из сырых данных и разнообразных форматов)
    • Автоматическое определение типа столбца; например, булевские данные, дискретные численные данные, непрерывные числовые значения или текст
    • Автоматическое определение смысла столбца; например, цель/метка, поле районирования, числовой признак, текстовая категория или свободный текст
    • Автоматическое обнаружение задач; например, двоичная классификация, регрессия, выделение кластеров или ранжирование
  • Автоматическое конструирование признаков
  • Автоматический выбор модели
  • Оптимизация гиперпараметров алгоритма обучения и характеризации
  • Автоматический выбор каналов по времени, памяти и ограничений сложности
  • Автоматический выбор метрик оценки / процедур валидации
  • Автоматическая проверка задач
    • Определение утечки
    • Определение ошибок в конфигурации
  • Автоматический анализ полученных результатов
  • Пользовательские результаты и визуализация для автоматического обучения машин

Примеры[править | править код]

Программное обеспечение различных стадий AutoML:

Оптимизация гиперпараметров и выбор модели[править | править код]

  • H2O AutoML осуществляет автоматическую подготовку данных, настройку гиперпараметров путём случайного поиска и даёт многоуровневые сборки в распределённой платформе обучения машин.
  • mlr является пакетом на языке R, который содержит некоторые техники оптимизации гиперпараметров для задач обучения машин.

Полная оптимизация каналов[править | править код]

  • Auto-WEKA[3] является уровнем байесовской оптимизации гиперпараметров поверх системы WEKA.
  • auto-sklearn[4] является уровнем байесовской оптимизации гиперпараметров поверх системы scikit-learn[en].
  • Firefly.ai облачная система для автоматической генерации моделей обучения машин
  • TPOT[5][6] является библиотекой на языке Python, которая автоматически создаёт и оптимизирует полные каналы обучения машин, используя генетическое программирование.
  • TransmogrifAI[7][8] является библиотекой на языке/фреймворке Scala/SparkML, созданная компанией Salesforce для автоматического очищения данных, конструирования признаков, выбора модели и оптимизации гиперпараметров
  • RECIPE[9] является фреймворком, опирающимся на основанном на грамматике генетическом программировании. Система создаёт индивидуализированные каналы классификации для системы scikit-learn[en].

Поиск архитектуры глубокой нейронной сети[править | править код]

  • devol — это пакет на языке Python, который осуществляет поиск архитектуры глубокой нейронной сети, используя генетическое программирование.
  • Google AutoML для выбора архитектуры модели глубокого обучения.
  • Auto Keras — это пакет на языке Python с открытым кодом для поиска архитектуры нейронной сети.

См. также[править | править код]

Примечания[править | править код]

  1. "Auto-WEKA: Combined Selection and Hyperparameter Optimization of Classification Algorithms" in KDD '13 Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining.: 847-855. 
  2. 1 2 Hutter F, Caruana R, Bardenet R, Bilenko M, Guyon I, Kegl B, and Larochelle H. AutoML 2014 @ ICML. AutoML 2014 Workshop @ ICML. Дата обращения 28 марта 2018.
  3. Kotthoff, Thornton, Hoos, Hutter, Leyton-Brown, 2017, с. 1-5.
  4. Feurer, Klein, Eggensperger, Springenberg, Blum, Hutter, 2015, с. 2962--2970.
  5. Olson, Urbanowicz, Andrews, Lavender, Kidd, Moore, 2016, с. 123-137.
  6. Olson, Bartley, Urbanowicz, Moore, 2016, с. 485-492.
  7. Shubha Nabar. Open Sourcing TransmogrifAI – Automated Machine Learning for Structured Data - Salesforce Engineering (англ.). Salesforce Engineering (16 August 2018). Дата обращения 16 августа 2018.
  8. Kyle Wiggers. Salesforce open-sources TransmogrifAI, the machine learning library that powers Einstein. VentureBeat (16 августа 2018). — «Once TransmogrifAI has extracted features from the dataset, it’s primed to begin automated model training. At this stage, it runs a cadre of machine learning algorithms in parallel on the data, automatically selects the best-performing model, and samples and recalibrates predictions to avoid imbalanced data.». Дата обращения 16 августа 2018.
  9. de Sá, Pinto, Oliveira, Pappa, 2017, с. 246–261.

Литература[править | править код]