Гибкость И Автоматизация В Машинном Обучении

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



Гибкость и автоматизация в машинном обучении

Автоматизация по определению Микелл П.

Гровер — это технология, с помощью которой процесс или процедура выполняется с минимальным вмешательством человека.

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

Автоматизация начинает влиять не только на физический труд, но и на интеллектуальный труд, охватывая относительно новые области, в том числе машинное обучение – автоматизированное машинное обучение (автомл, амл).

При этом автоматизация машинного обучения уже нашла свое применение в ряде коммерческих продуктов (например, Google AutoML, SAP AutoML и других).



Гибкость и автоматизация в машинном обучении



Гибкость и автоматизация в машинном обучении



Гибкость и автоматизация в машинном обучении

Отказ от ответственности Данная заметка не претендует на догматичность в данной области и представляет собой видение автора.



Автоматизированное машинное обучение

Проблемы в области науки о данных и машинного обучения включают в себя множество факторов, которые возникают из-за сложности системы и затрудняют их решение.

К ним относятся ( по словам Чарльза Саттона ):

  • Наличие неопределенности и неизвестности, что вызвано отсутствием априорных знаний о данных и искомых зависимостях.

    Таким образом, всегда присутствует исследовательский элемент.

  • «Смерть от тысячи порезов».

    На практике при построении конвейера обработки данных и последующем моделировании необходимо принять множество больших и малых решений.

    Например, нужно ли нормализовать данные, если да, то каким методом и какие параметры должен иметь этот метод? И т. д.

  • Наличие петель обратной связи, возникающих из-за неопределенности.

    Чем дольше вы погружаетесь в задачу и данные, тем больше вы о ней узнаете.

    Это приводит к необходимости сделать шаг назад и внести изменения в существующие механизмы обработки и анализа.

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

    заведомо не точными.



Гибкость и автоматизация в машинном обучении

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

сложную систему).

Сложная система Как сказал профессор Питер Слот , сложные системы – это не только «налоговые формы» и «романтические отношения», но и широкий спектр вещей и процессов.

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

С одной стороны, наличие этих факторов усложняет как решение задач машинного и глубокого обучения, так и их автоматизацию.

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



Гибкость и автоматизация в машинном обучении

Согласно широко распространенному стандарту CRISP-DM, жизненный цикл проекта анализа данных итеративно состоит из шести основных этапов: понимание бизнеса, понимание данных, подготовка данных и моделирование.

моделирование), оценка качества (оценка) и практическое применение (развертывание, применение).

На практике не все эти этапы сегодня можно эффективно автоматизировать.

Большинство работ или существующих библиотек (h2o, auto-sklearn, autokeras) ориентированы на автоматизацию моделирования и частично на оценку качества.

Однако расширение подхода к автоматизации обработки данных позволяет охватить большее количество этапов (что, например, было использовано в сервисе Google AutoML).



Постановка задачи

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



Гибкость и автоматизация в машинном обучении

или максимизация функции правдоподобия

Гибкость и автоматизация в машинном обучении

, чтобы получить оценки параметров

Гибкость и автоматизация в машинном обучении

на основе существующей выборки – набора обучающих данных

Гибкость и автоматизация в машинном обучении

:

Гибкость и автоматизация в машинном обучении

или

Гибкость и автоматизация в машинном обучении

, Где

Гибкость и автоматизация в машинном обучении

– обучаемые параметры модели (например, коэффициенты в случае регрессии).

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

Например, автоматизировать принятие решений о том, какие методы обработки данных использовать, о выборе модели или их комбинации, а также о выборе гиперпараметров, близких к оптимальным.

Проиллюстрируем это на простом примере, в котором имеется выбор между двумя методами обработки данных ( стандартный скалер И квантильный скалер ) и две модели ( случайный лес И нейронная сеть ), включая выбор некоторых гиперпараметров.

Структуру выбора можно представить в виде дерева:

Гибкость и автоматизация в машинном обучении

Каждый сделанный выбор является параметром системы, а само дерево становится пространством возможных параметров.

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

Гибкость и автоматизация в машинном обучении

или

Гибкость и автоматизация в машинном обучении

, Где

Гибкость и автоматизация в машинном обучении

– необучаемые параметры,

Гибкость и автоматизация в машинном обучении

– отложенный контрольный образец (набор данных для перекрестной проверки).

К основным преимуществам такой автоматизации обучения можно отнести:

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

  • Автоматизация рутины, избавляющая исследователя или разработчика от «тысячи сокращений».

  • «Демократизация» машинного обучения за счет его автоматизации, позволяющей использовать многие методы неспециалистам.

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

  • Полностью автоматические методы не всегда дают гибкое решение по принципу «черного ящика», что снижает контроль за результатом.

  • Пространство параметров ω нелинейно и имеет сложную структуру, что усложняет процесс оптимизации.



От автоматизации к полуавтоматизации

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

Это относительно новое явление в этой области, о чем косвенно свидетельствует быстрый анализ Google Trends:

Гибкость и автоматизация в машинном обучении

Достижение такого компромисса можно грубо сравнить с различными способами переключения передач в автомобильных трансмиссиях (именно способами переключения, а не их внутренним устройством):



Гибкость и автоматизация в машинном обучении

Переключение передач ручное – водитель управляет сцеплением и передачами.

Аналогия: пользователь самостоятельно выбирает методы и создает конвейер.



Гибкость и автоматизация в машинном обучении

Автомат – нет необходимости самостоятельно выбирать передачи, достаточно установить режим.

Аналогия: пользователь получает готовое решение.



Гибкость и автоматизация в машинном обучении

Полуавтоматическое переключение – водитель не управляет сцеплением, но имеет возможность выбирать передачи.

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

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

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

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

В примере используются простые модели из sk-learn и Hyperopt (в которые нам попутно даже удалось внести небольшой вклад в открытый исходный код) для распределения параметров и оптимизации.

   

'preprocessing': { 'scaler': hp.choice('scaler', [ { 'func': RobustScaler, 'params': { 'quantile_range': (10, 90) }}, { 'func': StandardScaler, 'params': { 'with_mean': True }} ]), }, 'model': hp.choice('model', [ { 'func': RandomForestClassifier, 'params': { 'max_depth': hp.choice('r_max_depth', [2, 5, 10]), 'n_estimators': hp.choice('r_n_estimators', [5, 10, 50]) } }, { 'func': MLPClassifier, 'params': { 'hidden_layer_sizes': hp.choice('hidden_layer_sizes', [1, 10, 100]), 'learning_rate_init': hp.choice('learning_rate_init', [0.1, 0.01]) } }, ])

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

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

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



Заключение

Полное отсутствие автоматизации на практике встречается довольно редко, поскольку даже перебор значений одного гиперпараметра в цикле — это уже шаг к автоматизации.

При этом полная автоматизация всего процесса строительства трубопровода сегодня также практически недостижима.

Соответственно, при разработке большинства современных проектов сознательно или неосознанно используются подходы автоматизации.

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

Как мы видим, предлагаемое решение требует участия человека, ограничивая пространство возможных параметров системы.

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

Теги: #Машинное обучение #искусственный интеллект #наука о данных #Интеллектуальный анализ данных #AutoML #автоматическое машинное обучение #полуавтоматическое машинное обучение

Вместе с данным постом часто просматривают:

Автор Статьи


Зарегистрирован: 2019-12-10 15:07:06
Баллов опыта: 0
Всего постов на сайте: 0
Всего комментарий на сайте: 0
Dima Manisha

Dima Manisha

Эксперт Wmlog. Профессиональный веб-мастер, SEO-специалист, дизайнер, маркетолог и интернет-предприниматель.