Что такое ml в программировании
Перейти к содержимому

Что такое ml в программировании

  • автор:

Что такое ml в программировании

Робин Милнер

История

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

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

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

Краткий обзор языка

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

Как и в языке LISP, программа на ML состоит из определений нескольких функций. Каждая функция имеет статически определяемый тип и может возвращать значения любого типа. Поскольку ML является аппликативным языком, то хранение переменных в нем осуществляется иначе, чем в языках С или FORTRAN. В ML имеется только ограниченная форма присваивания. Функциональное выполнение программы на ML подразумевает, что параметры функций передаются по значению с созданием новой копии любого сложного объекта, используя кучу.

Комментарии в ML обозначаются следующим образом: (*. *). В отличие от многих других языков в ML комментарии могут быть вложенными. Как уже говорилось, в ML реализовано большинство свойств языков программирования, которые мы рассматриваем в этой книге. Он позволяет создавать записи и абстрактные типы данных, а также создавать и обрабатывать исключения. Возможности ввода-вывода в ML не очень велики, что обусловлено областью его применения — большинству исследователей не требуется обрабатывать многочисленные базы данных с использованием сложных форматов. Синтаксис этого языка достаточно лаконичен по сравнению с синтаксисом C++ или Ada.

Пример

fun factorial n = let fun fac (0, acc) = acc | fac (n, acc) = fac (n - 1, n*acc) in if (n < 0) then raise Fail "negative argument" else fac (n, 1) end

Учитель для робота: чем занимается ML-инженер

Фото: Shutterstock

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

Об эксперте: Юлия Молчанова, специалист по машинному обучению в компании «Газпром-Медиа Дата» и автор модулей курса Data Science.

Рекомендации на YouTube, Google-переводчик, чат-бот в банковском приложении — мы взаимодействуем с искусственным интеллектом практически каждый день. Чтобы алгоритм был полезным для бизнеса и конечного потребителя, для начала его нужно научить учиться. Этим занимается ML-инженер.

Кто такой ML-инженер

ML-инженер или Machine Learning Engineer — это специалист, который создает и обучает алгоритмы работы с большими данными. ML-инженер работает в сфере Data Science рядом с дата-сайентистом, дата-аналитиком и дата-инженером. Задачи ML-инженера — сугубо практические. Он учит компьютер находить взаимосвязи данных и на их основе принимать решения. Именно ML-инженеров стоит благодарить за «умные ленты» в социальных сетях, алгоритмы рекомендаций на музыкальных стримингах, которые подбирают контент под наши интересы. Сервисы перевода типа Google Translate и боты-помощники типа Олега банка «Тинькофф» и Алисы «Яндекса» — тоже частично заслуга ML-инженеров.

Фото:Unsplash

Чем занимается ML-инженер

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

Юлия Мочалова, специалист по машинному обучению в компании «Газпром-Медиа Дата»: «Профессия ML-инженера включает в себя как аналитическую, так и инженерную деятельность. В широком смысле задача ML-инженера — создать полный цикл жизнедеятельности данных от обработки признаков из разных источников и построения модели, до выкатки ее в продакшн и настройки автоматизированного периодического запуска. Например, ML-инженер может написать пайплайн на основе данных о поведении пользователя сети, чтобы прогнозировать его интерес к покупке того или иного товара. Мой обычный рабочий день состоит из задач по разработке новых моделей или улучшению существующих. Помимо этого в день проходит 1–2 встречи с командой и обсуждение текущих проблем и успехов. Также я уделяю время тому, чтобы осваивать новые инструменты. Последний изученный — новая версия фреймворка для распределенных вычислений Apache Spark».

Тренды профессии

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

Фото:Shutterstock

Второй тип компаний, которые нуждаются в ML-инженерах, не могут существовать без машинного обучения. На ML построен основной функционал их продукта. Пример такого сервиса — переводчик Google Translate, который постоянно копит базу и совершенствуется. В этом сегменте ML-инженер может поработать над SaaS-системами и мобильными приложениями, созданием алгоритмов для роботов и систем автопилотирования. Рост количества данных и необходимость использовать их на пользу бизнесу привели к резкому всплеску спроса на инженеров по машинному обучению. По итогам 2021 года ML-инженеры заняли второе место в рейтинге специалистов, которых не хватает мировой IT-индустрии. Для востребованных специалистов всегда создают привлекательные условия, в том числе зарплатные. По данным исследовательского сервиса Glassdoor, средняя зарплата ML-инженера — $123 тыс. в год. Это чуть больше $10 тыс. в месяц.

Зарплаты ML-инженеров варьируются от $67 000 в год до $228 000 в год, в среднем специалисты получают $123 296

Зарплаты ML-инженеров варьируются от $67 000 в год до $228 000 в год, в среднем специалисты получают $123 296 (Фото: Glassdoor)

В России медианная зарплата специалистов — ₽165 тыс., джуниоры получают от ₽80 тыс., мидлы — от ₽200 тыс., а сеньоры — до ₽330 тыс.

Юлия Мочалова: «Один из плюсов профессии: работать можно практически в любых сферах. Применять алгоритмы и настраивать автоматизированные процессы анализа данных можно в любых компаниях, где есть данные и желание извлечь из них пользу (прибыль). Сегодня вы можете работать в ритейле, а затем уйти в биоинформатику».

В 2022 году LinkedIn включил профессию ML-инженера в список наиболее перспективных. Сейчас на на hh.ru доступно более двух тысяч вакансий ML-инженера.

Откуда пришла профессия

Изначально компьютеры выполняли задачи, алгоритм решения которых был понятен человеку. Позже стало понятно, что машины могут находить решения, алгоритм которых неизвестен человеку. Прототип искусственного интеллекта создали в 1946 году, а термин «машинное обучение» появился в 1959 году. Компьютеры с тех пор постоянно совершенствуются. Искусственный интеллект даже смог обыграть известного шахматиста: в 1997 году Гарри Каспаров проиграл суперкомпьютеру Deep Blue. Ученые убедились, что машины можно обучать, так и появилась профессия Machine Learning Engineer как ответвление в области Data Science. Профессия начала развиваться с увеличением числа самых разных нейросетей и ростом их возможностей. Сегодня нейросети могут написать диплом, текст, сценарий и даже код, нарисовать иллюстрацию, выполнить тестовое задание для собеседования и провести психологическую консультацию. Обучением нейросетей занимается ML-инженер. Подборка треков под ваш вкус от музыкального сервиса или рекомендации от бота-помощника в банковском приложении — это тоже результаты его работы.

Какие навыки нужны ML-инженеру

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

Hard skills

  • Математическая база: понимание векторов и матриц, производных, теории вероятности и статистики.
  • Знание Python. Именно на нем чаще всего пишут модели для машинного обучения.
  • Умение работать с фреймворками Tensorflow, PyTorch.
  • Алгоритмическое мышление: понимать, как работают разные типы алгоритмов и структуры данных. Это поможет писать собственные алгоритмы.
  • Навыки работы с Flask, Docker, Pip, PyTest. Это сервисы создания и развертывания веб-приложений. Понадобятся, когда готовые ML-модели нужно будет преобразовать в продукт для тестирования, а позже — эксплуатации.

Soft skills

  • Аналитическое мышление, логика. В работе с алгоритмами без них не обойтись.
  • Навыки коммуникации. ML-инженер чаще всего работает в команде, поэтому важно уметь общаться с коллегами. Также коммуникативные навыки пригодятся в общении с бизнесом: когда нужно будет получить задачу, понять, какие метрики вы должны показать руководству по итогу, презентовать свою работу.
  • Проактивность. В машинном обучении важно не только создать модель, но и сделать ее эффективной: чтобы она училась как можно быстрее, выходила на новый уровень с минимальными затратами ресурсов. Искать решения самостоятельно, оптимизировать работу модели — это часть экспертизы ML-инженера.

Юлия Мочалова:

«ML-инженеру в работе часто приходится учиться и решать нетиповые задачи. Например, получить данные из нового источника, для этого могут понадобиться определенные библиотеки и инструменты. Например, я недавно изучала особенности чтения данных из Kafka. Также можно столкнуться с необходимостью реализовать и применить непопулярный алгоритм из статьи. В первом случае помогает, как ни странно, умение гуглить и иногда опыт коллег. Во втором — отлично пригождается математическая база, позволяющая разбираться в формулах и применять их к данным.

Основными навыками для ML-инженера является умение программировать на одном из популярных языков, сейчас это Python. Отличным дополнением станет опыт в backend-разработке, знание технологий для распределенной обработки данных (MapReduce, Spark/PySpark) и конечно, уверенное знание SQL. Важные софт-скиллы: умение работать в команде, креативность и гибкость в подходе к задачам, так как они могут быть разными даже в рамках одного проекта».

Как стать ML-инженером

Machine Learning Engineer — это профессия, которую сложно освоить с нуля. Хорошему инженеру нужна как минимум серьезная база математики, поэтому чаще всего в ML приходят из смежных специальностей: дата-инженер, дата-сайентист, дата-аналитик.

Набор инструментов и навыков ML-инженера очень широк, чтобы их освоить нужно много времени и мотивации. Понять, насколько эта работа может быть вам интересна, можно на бесплатных базовых курсах, например, на Stepik или Mooc.

Погрузиться в работу с фреймворками можно на YouTube-канале TensorFlow, а добрать базовые знания в высшей математике для программистов — у Джона Крона (видео на английском). За актуальными проектами, курсами и мероприятиями можно следить в профессиональных сообществах, таких как ods.ai и Kaggle.

Юлия Мочалова:

«С точки зрения вертикального роста, ML-инженер может стать тимлидом или вырасти до руководителя продукта. Перспектива горизонтального развития — дата инженер. Если машинное обучение наскучит, всегда можно заняться организацией хранения и обработки данных в чистом виде, работая с хранилищами и настраивая ETL-процессы».

Чтобы понять, насколько вам это интересно, можно попробовать пройти бесплатные курсы, например, «Анализ данных с использованием Python» от Coursera.

Специалистов в области искусственного интеллекта готовят в московских МТУСИ, РГГУ, МФТИ. Здесь можно получить необходимые знания — по статистике, математике, информатике, программированию. Но чтобы войти в профессию, лучше окончить специализированные курсы, например, по языку программирования Python.

Задачи и инструменты ML и их практическое применение

Машинное обучение – распространившийся термин, но не все понимают его верно. В этом материале эксперты направления аналитических решений ГК «КОРУС Консалтинг» Алена Гайбатова и Екатерина Степанова расскажут, что же на самом деле такое machine learning (ML), в каких случаях эту технологию стоит использовать в проектах, а также где машинное обучение активно применяется на практике.

Как работают с данными

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

Итак, общее название технологии – искусственный интеллект. Он бывает двух типов – сильный (он же общий) и слабый. Мы не будем особенно обсуждать сильный ИИ, так как это решения уровня Терминатора. Мы к нему потихонечку приближаемся, но до сих пор он существует только в виде собранных вместе фрагментов слабого ИИ (как, например, в «умных» колонках).

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

Второй – так называемые data-driven системы, которые извлекают логику работы из каких-то исторических данных. У этого типа есть много терминов-синонимов, которые возникали с течением времени:

  • модные в 90-е и нулевые data mining и knowledge discovery from database (KDD),
  • data science, вошедший в обиход ближе к 2010-м,
  • big data популярная ныне. Единственное исключение, точнее дополнение, которое привносит именно этот термин – наличие огромного количества сложноструктурированных данных.

Для разных задач – разные алгоритмы

В соответствии с двумя типами слабого ИИ выводы из данных мы можем сделать вручную (при экспертных системах) и с помощью машинного обучения. Оно же в свою очередь подразделяется на два типа: классический ML и deep learning (с использованием глубоких нейронных сетей с большим количеством слоев).

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

Классификаторы

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

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

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

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

Регрессоры

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

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

Кластеризация

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

Самый популярный алгоритм кластеризации – метод ближайших соседей. Cнова к кошкам. Мы хотим разбить наших зверей на 4 группы. Наши объекты – снова точки на плоскости. Мы выбираем случайным образом центры наших групп, затем смотрим расстояние от центра группы до точек, ближайших к этому центру группы. После мы смещаем центры таким образом, чтобы расстояние до точек своей группы оказывалось меньше, чем до точек другой группы. Через нескольких итераций у нас получатся хорошо разделенные группы.

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

Нейронные сети

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

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

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

Обучение с подкреплением

Это и есть тот самый сильный искусственный интеллект, о котором мы уже говорили выше. К примеру, по этому принципу работают беспилотные автомобили.

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

Мы также пользуемся алгоритмами Uplift, нейролингвистического программирования и рекомендательными моделями. Uplift позволяет понять, нужно ли коммуницировать с объектом, НЛП использует алгоритмы для анализа текста (к примеру, на этом принципе работает функция подсказки слов в смартфоне), а рекмодели могут быть персонализированными и не персонализированными.

Теория – на практике

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

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

Одна из самых успешных отраслей в плане применения машинного обучения – это розничная торговля. Cвязано это с тем, что в ней много регулярных процессов

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

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

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

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

Еще две отрасли, в которых распространены проекты на базе искусственного интеллекта, это банки и телекоммуникации. Это и управление клиентскими рисками (кредитный скоринг), и оптимизация регулярных рассылок клиентам. Задачи, стоящие в этих проектах, разношерстны – от предсказания оттока клиентов до маркировки клиентов, от кросс-сейл кредитов и депозитов до предсказания крупных транзакций.

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

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

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

  • artificial intelligence
  • machine learning
  • ml
  • ai
  • машинное обучение
  • искусственный интеллект
  • Программирование
  • Анализ и проектирование систем
  • Data Mining
  • Big Data
  • Data Engineering

ML-разработка

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

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

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

Видеозвонки в SberJazz
Общайтесь с друзьями и близкими везде, где есть Интернет
Попробовать сейчас

Что такое Machine Learning

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

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

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

Итог Machine Learning — определённая модель, которая при правильно введённых параметрах способна решать задачи на уровне, близком к человеческому.

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

Потребность в машинном обучении

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

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

Зачем и когда учить машины?

Способы машинного обучения делят на три общих типа:

  • С учителем, или supervised learning. Цель — помочь компьютеру понять, почему процесс происходит именно так, выявить закономерности, последовательность действий в системе. Ответ известен заранее, поэтому алгоритм концентрируется на этапах его получения. Итоговая модель способна строить прогнозы.
  • Без учителя, или unsupervised learning, — позволяет машине научиться самостоятельно выявлять закономерности при обработке массива загруженных данных. По выявленным закономерностям компьютер способен работать над задачами с новыми данными.
  • C подкреплением, или reinforcement learning, — даёт машине возможность среди различных сценариев выбрать оптимальный. Иными словами, это метод проб и ошибок, при котором компьютер определяет последствия выбора и их связь с результатом.

Любой из способов приводит к разработке рабочего механизма, который оказывается в чём-то эффективнее человека:

  • не устаёт, работает круглосуточно;
  • совершает меньше ошибок;
  • обрабатывает большие объёмы информации;
  • оценивает данные непредвзято.

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

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

Машинное обучение: принципы и задачи

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

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

Основа Machine Learning — работа с тремя составляющими:

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

Machine Learning характеризуется тремя признаками:

  • Инновационность. ML становится точкой роста и новым этапом развития в любой экономической сфере.
  • Специфичность. Машинное обучение — сугубо IT-направление. Разработкой и внедрением занимаются люди, которые понимают языки программирования и умеют работать с IT-инструментами.
  • Простота. ML позволяет создавать продукты, понятные любому пользователю вне зависимости от возраста, уровня знаний и умения работать с программами.

С помощью разработок Machine Learning бизнес решает задачи разного типа:

  • Кластеризация — распределение данных на типы, группы и другие категории по заданным критериям.
  • Классификация — ответ на вопрос по категории, например, есть ли на фотографии красные предметы.
  • Уменьшение размерности — перевод от большего к меньшему, сжатие информации для дальнейшей визуализации.
  • Регрессия — прогнозирование по различным признакам объектов в выборке, к примеру, прогноз стоимости объекта недвижимости через заданный период.
  • Выявление аномалий — анализ процессов, выделение среди них нетипичных.
  • Идентификация — выделение из общего массива данных только необходимых. Яркий пример — идентификация лица определённого человека среди всех распознанных системой.
  • Прогнозирование — анализ существующих процессов и основанное на нём предсказание показателей через заданное время. Таким образом можно оценивать предположительную эффективность выбранной компанией стратегии развития.

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

Инструменты ML

Применяемые в Machine Learning технологии связаны с тремя общими этапами разработки:

  • система собирает и обрабатывает данные;
  • ведётся обучение на основе полученных данных, формируется обученная модель;
  • оценивается качество работы модели и развёртывается ПО для её использования.

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

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

ML-разработка становится удобнее и доступнее, если все необходимые инструменты собраны на одной платформе. Продукт ML Space позволяет работать над моделями командой в едином пространстве.

Среди преимуществ решения:

  • ML-разработка полного цикла на высокопроизводительной инфраструктуре с использованием мощностей суперкомпьютеров Christofari и Christofari Neo;
  • командная работа на каждом этапе;
  • более 1700 GPU для распределённого обучения и артефактов на маркетплейсах DataHub и AI Services;
  • удобный интерфейс, множество встроенных популярных библиотек, утилит и других привычных инструментов с модулем Environments;
  • Data Catalog для работы с ML-артефактами;
  • инструмент для тестирования и развёртывания Deployments;
  • сервисы автоматического построения моделей, обработки данных AutoML и Pipelines;
  • доступ при разработке к предобученным моделям, датасетам и контейнерам в модуле DataHub.

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

Платформа для совместной ML-разработки полного цикла на базе суперкомпьютеров Christofari и Christofari Neo

Практическое применение ML-технологий

Робототехника

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

Machine Learning позволяет роботам:

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

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

Маркетинг

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

Безопасность

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

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

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

Финансовый сектор и страхование

Один из ярких примеров применения методов Machine Learning в банковском секторе — автоматическая оценка кредитного потенциала заявителя. В страховании интеллектуальный анализ позволяет оценить степень страховых рисков по направлениям. На рынке ценных бумаг разработки ML позволяют прогнозировать рост или падение акций по результатам анализа финансовых новостей и текущих торгов.

Общественное питание

Насущный вопрос сферы общепита — контроль производственных процессов, обслуживания клиентов. Компьютерное зрение как область Machine Learning способно анализировать окружающее пространство, распознавать объекты, действия, перемещения.

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

Медицина

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

Добыча полезных ископаемых

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

ML-модели — новый этап цифровизации бизнеса и жизни человека. Работа с Big Data стала проще, а доступ к технологии получили новые пользователи. Единая платформа для ML-разработки ML Space позволяет создавать собственные персонализированные модели для внедрения в бизнес-процессы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *