Искусственный интеллект и машинное обучение по-прежнему являются областью с высокими барьерами для входа, требующими опыта и ресурсов, которые немногие компании могут себе позволить самостоятельно: Фей-Фей Ли
Mercari - популярное приложение для покупок в Японии, которое использует AutoML Vision (решение Google AutoML) для классификации изображений. По словам Меркари, они разрабатывают собственную модель машинного обучения, предлагающую названия 12 основных брендов в пользовательском интерфейсе загрузки фотографий.
В то время как их собственная модель, обученная на TensorFlow, достигла точности 75%, AutoML Vision в расширенном режиме с 50 000 обучающих изображений достигла точности 91,3%, что является колоссальным увеличением на 15%. Достигнув таких поразительных результатов, Mercari интегрировала AutoML в свои системы.
Это лишь один из примеров того, как AutoML сегодня коренным образом меняет облик решений на основе машинного обучения, позволяя людям из разных слоев общества разрабатывать модели машинного обучения для решения сложных сценариев.
Автоматизированное машинное обучение: AutoML
За последние годы машинное обучение обеспечило значительные прорывы в различных областях. В таких областях, как финансовые услуги, здравоохранение, розничная торговля, транспорт и другие, так или иначе используются системы машинного обучения, и результаты были многообещающими.
Сегодня машинное обучение не ограничивается приложениями для исследований и разработок, оно проникло в корпоративную сферу. Однако традиционный процесс машинного обучения зависит от человека, и не у всех предприятий есть ресурсы, чтобы инвестировать в опытную команду специалистов по анализу данных. AutoML может быть ответом на такие ситуации.
Автоматическое машинное обучение (AutoML) - это процесс автоматизации сквозного процесса применения машинного обучения к реальным проблемам. AutoML делает машинное обучение доступным в полном смысле слова даже для людей, не имеющих большого опыта в этой области.
Типичная модель машинного обучения состоит из следующих четырех процессов:
Прямо от приема данных до предварительной обработки, оптимизации и последующего прогнозирования результатов, каждый шаг контролируется и выполняется людьми. AutoML в основном фокусируется на двух основных аспектах: сбор / сбор данных и прогнозирование . Все остальные шаги, которые происходят между ними, можно легко автоматизировать, создав модель, которая хорошо оптимизирована и готова делать прогнозы.
Потребность в AutoML
Спрос на системы машинного обучения резко вырос за последние несколько лет. Это связано с успехом ML сегодня в широком спектре приложений. Однако даже с этим явным указанием на то, что машинное обучение может дать толчок развитию определенных предприятий, многие компании с трудом внедряют модели машинного обучения.
Во-первых, им нужно создать команду опытных специалистов по обработке данных, которые будут получать премиальную зарплату. Во-вторых, даже если у вас отличная команда, решение, какая модель лучше для вашей проблемы, часто требует больше опыта, чем знаний.
Успех машинного обучения в широком спектре приложений привел к постоянно растущему спросу на системы машинного обучения, которые могут использоваться неспециалистами в готовом виде ». AutoML стремится автоматизировать максимальное количество шагов в конвейере машинного обучения - с минимальными усилиями человека и без ущерба для производительности модели.
Преимущества
Преимущества AutoML можно резюмировать по трем основным пунктам:
- Повышает продуктивность за счет автоматизации повторяющихся задач. Это позволяет специалисту по данным больше сосредоточиться на проблеме, а не на моделях.
- Автоматизация конвейера машинного обучения также помогает избежать ошибок, которые могут закрасться вручную.
- В конечном итоге AutoML - это шаг к демократизации машинного обучения, сделав доступным для всех возможности машинного обучения.
Глубокое обучение - для экспертов, экспертами. Мы используем наш многолетний опыт, чтобы еженедельно доставлять в ваш почтовый ящик лучшие ресурсы для глубокого обучения.
Фреймворки AutoML
Давайте взглянем на некоторые из популярных фреймворков, которые, как правило, автоматизируют часть или весь конвейер машинного обучения. Это не исчерпывающий список, но я попытался охватить те, которые используются в более широком масштабе.
1. MLBox
MLBox - это мощная библиотека Python для автоматизированного машинного обучения. Согласно официальной документации, эта библиотека предоставляет следующие возможности:
- Быстрое чтение и распределенная предварительная обработка / очистка / форматирование данных.
- Высоконадежный выбор функций, обнаружение утечек и точная оптимизация гиперпараметров
- Современные прогностические модели для классификации и регрессии (Deep Learning, Stacking, LightGBM,…)
- Прогнозирование с интерпретацией модели
- Он уже был протестирован на Kaggle и работает хорошо. (см. Kaggle Соединение двух сигм: запросы на аренду | Рейтинг: 85/2488)
Трубопровод
Основной пакет MLBox содержит 3 подпакета для автоматизации следующих задач:
- Предварительная обработка: для чтения и предварительной обработки данных.
- Оптимизация: для тестирования и перекрестной проверки моделей.
- Прогноз: для составления прогнозов.
Установка
В настоящее время MLBox совместим только с Linux, но очень скоро будет добавлена поддержка Windows и MacOS.
#gcc sudo apt-get install build-essential #cmake pip install cmake pip install mlbox
Демо
Запуск пакета автоматического машинного обучения MLBox для известной задачи регрессии Цены на жилье.
2. Авто-Sklearn
Auto-Sklearn - это пакет автоматизированного машинного обучения, созданный на основе Scikit-learn. Auto-sklearn освобождает пользователя машинного обучения от выбора алгоритма и настройки гиперпараметров. Он включает в себя методы проектирования функций, такие как быстрое кодирование, стандартизация числовых функций, PCA и другие. Модели используют оценки sklearn для задач классификации и регрессии.
Auto-sklearn создает конвейер и оптимизирует его с помощью байесовского поиска. В байесовскую оптимизацию гиперпараметров инфраструктуры машинного обучения добавлены два компонента: метаобучение g для инициализации байесовского оптимизатора и автоматическое построение ансамбля из конфигураций, оцененных во время оптимизации.
Auto-sklearn хорошо работает с небольшими и средними наборами данных, но его нельзя применить к современным системам глубокого обучения, которые обеспечивают высочайшую производительность на больших наборах данных.
Установка
Auto-sklearn в настоящее время работает только на машинах Linux.
#dependencies curl https://raw.githubusercontent.com/automl/auto-sklearn/master/requirements.txt | xargs -n 1 -L 1 pip install #auto-sklearn pip install auto-sklearn
Демо
В следующем примере показано, как подогнать простую регрессионную модель с помощью Auto-Sklearn.
3. Инструмент оптимизации трубопроводов на основе дерева (TPOT)
TPOT - это автоматизированный инструмент машинного обучения Python, который оптимизирует конвейеры машинного обучения с использованием генетического программирования. TPOT расширяет структуру Scikit-learn, но с собственными методами регрессора и классификатора. TPOT работает, исследуя тысячи возможных конвейеров и находя лучший для ваших данных.
TPOT не может автоматически обрабатывать вводимые данные на естественном языке. Кроме того, он также не может обрабатывать категориальные строки, которые должны быть закодированы целым числом перед передачей в качестве данных.
Установка
pip install tpot
Подробные инструкции см. В Инструкции по установке TPOT в документации.
Демо
Демонстрация работы TPOT для классификации цифр MNIST.
4. H2O
H2O - это полностью распределенная платформа машинного обучения с открытым исходным кодом от компании H2O.ai. Благодаря поддержке как R, так и Python, H2O поддерживает наиболее широко используемые алгоритмы статистического и машинного обучения, включая машины с градиентным усилением, обобщенные линейные модели, модели глубокого обучения и многое другое.
H2O включает модуль автоматического машинного обучения, который использует собственные алгоритмы для построения конвейера. Он выполняет исчерпывающий поиск по своим методам проектирования функций и гиперпараметрам модели для оптимизации своих конвейеров.
H2O автоматизирует некоторые из самых сложных рабочих процессов обработки данных и машинного обучения, такие как разработка функций, проверка модели, настройка модели, выбор модели и развертывание модели. В дополнение к этому, он также предлагает автоматическую визуализацию и интерпретируемость машинного обучения (MLI).
Установка
Перейдите по ссылке ниже, чтобы загрузить и установить H2O в свои системы.
Демо
Вот пример, показывающий базовое использование класса H2OAutoML
в Python:
Вывод
Объект AutoML включает таблицу лидеров моделей, которые были обучены в процессе, ранжированные по метрике по умолчанию, основанной на типе проблемы (второй столбец таблицы лидеров). Вот пример таблицы лидеров для задачи бинарной классификации:
5. AutoKeras
Auto-Keras - это библиотека программного обеспечения с открытым исходным кодом, созданная DATA Lab для автоматизированного машинного обучения. Auto-Keras, основанный на структуре глубокого обучения Keras, предоставляет функции для автоматического поиска архитектуры и гиперпараметров для моделей глубокого обучения.
Дизайн API соответствует классическому дизайну Scikit-Learn API; следовательно, им очень просто пользоваться. Текущая версия предоставляет функции для автоматического поиска гиперпараметров в процессе глубокого обучения.
Auto-Keras стремится упростить процесс машинного обучения за счет использования автоматизированных алгоритмов Поиск нейронной архитектуры (NAS). Поиск нейронной архитектуры, по сути, заменяет инженера / специалиста по глубокому обучению набором алгоритмов, которые автоматически настраивают модель.
Установка
Монтажная часть тоже очень проста:
pip install autokeras #only comptible with Python 3.7
Демо
Вот демонстрация библиотеки Auto-Keras в наборе данных MNIST:
6. Cloud AutoML
Cloud AutoML - это набор продуктов для машинного обучения от Google, который позволяет разработчикам с ограниченным опытом в области машинного обучения обучать высококачественные модели, соответствующие их бизнес-потребностям, с помощью новейших технологий трансферного обучения и поиска нейронной архитектуры Google. технология.
Cloud AutoML предоставляет простой графический пользовательский интерфейс (GUI) для обучения, оценки, улучшения и развертывания моделей на основе ваших собственных данных. В настоящее время пакет предоставляет следующие решения AutoML:
Обратной стороной AutoML от Google является то, что он не является открытым исходным кодом и, следовательно, имеет свою цену. В случае AutoML Vision стоимость зависит как от времени, затраченного на обучение модели, так и от того, сколько изображений вы отправляете в AutoML Vision для прогнозов. Стоимость следующая:
7. ТрансмогрифАИ
TransmogrifAI - это автоматизированная библиотека машинного обучения с открытым исходным кодом от Salesforce. Флагманская платформа машинного обучения компании под названием Einstein также работает на TransmogrifAI. Это сквозная библиотека AutoML для структурированных данных, написанная на Scala, работающая поверх Apache Spark. TransmogrifAI особенно полезен, когда вам нужно:
- Быстро обучайте качественные модели машинного обучения с минимальной ручной настройкой
- Создавайте модульные, многоразовые, строго типизированные рабочие процессы машинного обучения
Установка
Есть некоторые предварительные условия, такие как Java и Spark, которые необходимо установить.
#Install JAVA 1.8
#Get Spark 2.3.x
git clone https://github.com/salesforce/TransmogrifAI.git
cd TransmogrifAI && ./gradlew compileTestScala installDist
Прочтите документацию для получения полных инструкций по установке.
Демо
Предсказание выживших на Титанике с помощью TransmogrifAI. См. Весь пример здесь.
Ознакомьтесь с результатами вышеприведенного кода здесь.
Будущее AutoML
По сути, цель AutoML - автоматизировать повторяющиеся задачи, такие как создание конвейера и настройка гиперпараметров, чтобы специалисты по данным действительно могли тратить больше времени на решение текущей бизнес-задачи.
AutoML также стремится сделать технологию доступной для всех, а не для избранных. AutoML и специалисты по данным могут работать вместе, чтобы ускорить процесс машинного обучения, чтобы можно было использовать реальную эффективность машинного обучения.
Успех AutoML зависит в основном от его принятия и достижений в этом секторе. Однако ясно, что AutoML - это большая часть будущего машинного обучения.
использованная литература
- Эффективное и надежное автоматизированное машинное обучение
- Сравнительный анализ автоматизированных систем машинного обучения
Примечание редактора. Heartbeat - это онлайн-публикация и сообщество, созданное авторами и посвященное предоставлению первоклассных образовательных ресурсов для специалистов по науке о данных, машинному обучению и глубокому обучению. Мы стремимся поддерживать и вдохновлять разработчиков и инженеров из всех слоев общества.
Независимо от редакции, Heartbeat спонсируется и публикуется Comet, платформой MLOps, которая позволяет специалистам по данным и группам машинного обучения отслеживать, сравнивать, объяснять и оптимизировать свои эксперименты. Мы платим участникам и не продаем рекламу.
Если вы хотите внести свой вклад, отправляйтесь на наш призыв к участникам. Вы также можете подписаться на наши еженедельные информационные бюллетени (Deep Learning Weekly и Comet Newsletter), присоединиться к нам в » «Slack и подписаться на Comet в Twitter и LinkedIn для получения ресурсов, событий и гораздо больше, что поможет вам быстрее создавать лучшие модели машинного обучения.