Эта статья изначально была написана Гопалом Сингхом и размещена в блоге Neptune.

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

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

Результаты? Читай ниже!

Над какой областью машинного обучения вы работаете?

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

Мы разделили категории на:

  1. Компьютерное зрение
  2. Обучение с подкреплением
  3. НЛП
  4. Прогнозирование
  5. Табличный
  6. Другой

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

Согласно отчету за 2019 год, в ближайшие 5 лет 80% ваших данных будут неструктурированы, и мы можем использовать эти данные для построения моделей машинного обучения для таких задач, как анализ настроений, распознавание именованных сущностей, сегментация тем, обобщение текста и т. д. извлечение отношений — вы называете это.

Учитывая достижения в технологии НЛП, скоро появятся новые варианты использования.

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

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

В проведенных опросах 26 из 31 команды подтвердили, что все они работали с НЛП для работы с текстовыми данными.

Почти все команды работали почти во всех областях, кроме обучения с подкреплением.

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

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

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

Например, AlphaGo, первый агент ИИ, победивший чемпиона мира Ли Седоля в GO, в течение нескольких дней непрерывно обучался, играя в миллионы игр, накапливая тысячи лет знаний в тех симуляциях, которые оценивается примерно в 3 миллиона долларов только за вычислительную мощность.

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

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

С какими моделями вы работаете?

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

  1. Глубокое обучение
  2. Усиленные деревья (LightGBM, XGBoost, Catboost)
  3. Линейная регрессия
  4. Другой

Модели глубокого обучения оказались здесь победителями, которые очень часто используются 14 командами.

По крайней мере, 29 из 31 команды в какой-то момент работали с моделями глубокого обучения.

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

Глубокое обучение, как правило, лучше всего работает с неструктурированными данными, и, по данным Gartner, 80% корпоративных данных неструктурированы в виде текстов, изображений, PDF-файлов и т. д.

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

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

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

На чем вы в настоящее время обучаете свои модели машинного обучения?

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

Мы можем разделить их на 4 категории.

  1. Локальный компьютер (ноутбук или ПК)
  2. Локальный кластер
  3. Большое облако (AWS, GCP, Azure)
  4. Выделенное облако машинного обучения (Sagemaker, Floydhub)

Наименее используемая инфраструктура, которую мы видим здесь, — это выделенное облако машинного обучения (SageMaker, Floydhub), а наиболее используемая здесь — локальный компьютер и большое облако (AWS, GCP, Azure).

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

За исключением выделенного облака машинного обучения (SageMaker, Floydhub), мы видим, что в какой-то момент использовалось обучение модели на всех платформах, будь то локальная машина, большое облако или локальный кластер. Это не так уж удивительно — обычно прототип запускают локально с меньшими затратами, чтобы сэкономить на процессе проб и ошибок в облаке — в конце концов, каждая секунда стоит реальных денег.

Мы видим, что наиболее часто используемой инфраструктурой для обучения прогностической модели является Big Cloud (Azure, AWS, GCP).

Иногда у вас может быть ограниченный объем ОЗУ и графического процессора для обучения прогностической модели, и вы просто не можете обновить свою систему по своей прихоти, чтобы удовлетворить потребности вашей системы; вот где облачные сервисы вступают в игру. Или вы хотите закончить обучение за час, а не за неделю — деньги ведь не единственная ценность.

Какие ваши любимые инструменты/фреймворки/библиотеки для создания моделей машинного обучения и управления ими?

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

Наиболее часто используемые библиотеки учеными-данными

Scikit-learn

Scikit-learn — это библиотека с открытым исходным кодом для задач машинного обучения каждого специалиста по данным в любой корпорации или стартапе. Он построен на основе нескольких существующих пакетов Python, таких как Numpy, Scipy и Matplotlib.

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

Такие компании, как J.P. Morgan, Spotify, Inria, Hugging Face, и т. д.. используют scikit-learn для своих рабочих процессов машинного обучения.

ТензорФлоу

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

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

Такие компании, как Nvidia, Snapchat, Qualcomm, Apple Inc. используют TensorFlow для своих приложений на основе ИИ.

ПиТорч

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

Такие компании, как Microsoft, Airbnb и OpenAI, похоже, используют возможности ИИ с помощью PyTorch. OpenAI даже прекратила использование TensorFlow для образовательных исследований в области обучения с подкреплением.

Наиболее часто используемые инструменты учеными данных

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

Юпитер Блокнот

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

Века

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

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

Искра MLlib

Apache spark предлагает API-интерфейс машинного обучения под названием MLlib для задач машинного обучения, таких как классификация, кластеризация, частое сопоставление с образцом, система рекомендаций, регрессия и т. д.

Последние мысли

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

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

И это круто в сегодняшнем раздутом и накаченном слове.

Дополнительные ресурсы:

Если вы хотите узнать больше о различных инструментах, библиотеках и фреймворках ML, проверьте категорию ML Tools в блоге Neptune. Там вы найдете множество сравнений и списков лучших инструментов для конкретных задач.

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