14.07.2022
4662

Что такое машинное обучение. Основы для непосвященных

Андрей Мазур
автор ApiX-Drive
Время прочтения: ~8 мин

В этой статье мы постараемся в доступной и популярной форме ответить на вопрос: “Машинное обучение - что это?”.

Содержание:
1. Кантонский шар IT-технологий
2. Подбираем определение
3. На чем стоит машинное обучение
4. Пути обучения
5. Машинное обучение в бизнесе

***

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

Кантонский шар IT-технологий

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

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

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

Расположим обсуждаемые технологии в таком порядке: искусственный интеллект-машинное обучение-нейронные сети-глубокое обучение.

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

Подбираем определение

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

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

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

Машинное обучение входит в топ самых обсуждаемых технологий


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

В приведенной трактовке нет привязок ни к “искусственному интеллекту”, ни к обучению компьютера, ни к работе головного мозга. Исчезает маркетинговый и рекламный ореол. Машинное обучение становится тем, чем оно является на самом деле - просто одним из направлений развития IT, особо востребованным именно в последние годы. Почему так произошло?

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

На чем стоит машинное обучение

Как в представлении древних мудрецов плоская Земля стояла на трех слонах, так и машинное обучение базируется на трех составляющих:

  • Данные;
  • Признаки;
  • Алгоритмы.

Расскажем вкратце о каждой из них.

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

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

YouTube
Свяжите сервисы между собой без программистов за 5 минут!
Как настроить выгрузку данных из ManyChat в виде сделок в Битрикс24?
Как настроить выгрузку данных из ManyChat в виде сделок в Битрикс24?
Как настроить выгрузку лидов из Вконтакте в виде лидов в Битрикс24?
Как настроить выгрузку лидов из Вконтакте в виде лидов в Битрикс24?

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

Вспомним шаблонные фразы из таких сообщений: “ваша карта заблокирована”, “вам перечислено XXX долларов” и т.д. Возраст является вполне рабочим признаком. Во-первых, пожилые более доверчивы. Во-вторых, вспомним классику мошеннического жанра: “Мама, я в полиции. Срочно нужны деньги”.

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

Существует четыре способа машинного обучения


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

Пути обучения

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

  • Классическое (с учителем и без учителя);
  • С подкреплением;
  • Совместное использование (ансамбль);
  • Нейросети и глубокое обучение.

Как и в предыдущей главе, дадим краткую характеристику каждого способа.

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

Способ “с учителем”: по заранее заданному набору признаков некий внешний разум объясняет компьютеру, что вот это смс-сообщение - мошенническое, а вот - это нейтральное.

Способ “без учителя”: компьютеру задают массив данных без всяких указаний признаков и машина сама должна выявить закономерности. В нашем примере с мошенническими смс-ками система должна без вмешательства человека выявить подозрительные.

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

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

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

Машинное обучение в бизнесе

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

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

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

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


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

  • Веб-сайт вопросов и ответов Quora применяет машинное обучение для определения релевантности ответов поисковому запросу.  Полученные ответы ранжируются по таким критериям как детальность, достоверность.
  • Поисковик для подбора услуг на локальных рынках Yelp использует машинное обучение, для сортировки терабайтов изображений, которые пользователи загружают на сайт. После чего машинное обучение помогает сгруппировать фото по параметрам: меню, интерьер заведения и т.д.  
  • Бесплатное приложение для изучения языков Duolingo использует машинное обучение в методике обучения. Данные, извлеченные из ответов ученика, изучаются системой. После чего приложение прогнозирует срок, на протяжении которого пользователь будете помнить урок. И когда потребуется повторный курс для освежения знаний. 
  • Стриминговый сервис Netflix анализирует на основе машинного обучения предпочтения миллионов своих клиентов. После чего создаются прогнозы о том, каким видео клиенты отдадут предпочтение в дальнейшем.
  • Несколько нестандартный пример использования машинного обучения предложила компания Blue River Technology. Ее специалисты объединили возможности машинного обучения и компьютерного зрения для создания устройства See&Spray, способного различать культурные растения и сорняки. Перемещаясь по полю, установка See&Spray определяет каждое встреченное на пути растение. После идентификации распыляет на него либо гербицид, либо удобрение.

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

***

Apix-Drive — универсальный инструмент, который быстро упорядочит любой рабочий процесс, освободив вас от рутины и возможных денежных потерь. Опробуйте ApiX-Drive в действии и убедитесь, насколько он полезен лично для вас. А пока настраиваете связи между системами, подумайте, куда инвестируете свободное время, ведь теперь его у вас будет гораздо больше.