Что такое машинное обучение. Основы для непосвященных
В этой статье мы постараемся в доступной и популярной форме ответить на вопрос: “Машинное обучение - что это?”.
Содержание:
1. Кантонский шар IT-технологий
2. Подбираем определение
3. На чем стоит машинное обучение
4. Пути обучения
5. Машинное обучение в бизнесе
Машинное обучение вот уже несколько лет входит в топ самых популярных и обсуждаемых технологий. К тому же, очень быстро изменяющих жизнь миллиардов людей. Но только немногие специалисты, тесно связанные с машинным обучением, внятно понимают его суть.
Кантонский шар IT-технологий
Прежде, чем объяснять суть машинного обучения, выясним его место и роль в группе тесно взаимосвязанных IT-технологий.
Машинное обучение очень тесно взаимодействует с искусственным интеллектом, нейронными сетями и глубоким обучением. Но что является подмножеством чего?
Приведу такое образное сравнение. В китайской искусстве есть такой эффектный артефакт как “кантонский шар”. Он представляет собой вырезанную сферу из слоновой кости, внутри которой находятся еще несколько сфер. Причем каждая свободно вращается по отношению к соседним.
Расположим обсуждаемые технологии в таком порядке: искусственный интеллект-машинное обучение-нейронные сети-глубокое обучение.
Внешней сферой такого воображаемого кантонского шара будет искусственный интеллект. Каждая последующая технология в нашем перечне как бы вложена в предыдущую. Итак, машинное обучение — это подмножество искусственного интеллекта. Глубокое обучение — это часть машинного обучения, а нейронные сети - базис для алгоритмов глубокого обучения. Напомню, что простейшая нейросеть состоит из трех слоев - слой ввода данных, слой вывода и размещенный между ними слой обработки данных (скрытый слой). Если в нейросети больше, чем один скрытый слой, то ее называют глубокой. А процесс обучения такой нейросети называют глубоким обучением.
Подбираем определение
Поговорим конкретно о машинном обучении. Возможны несколько определений этого феномена. Во-первых, машинное обучение определяется область информационных технологий, использующая особый вид компьютерных алгоритмов для копирования процессов, происходящие в мозгу человека при обучении. Разумеется, речь идет не о физико-химических процессах, а о математической модели, реализованной в программно-аппаратном комплексе.
Если говорится о воспроизведении обучения человека, то это не более, чем образное выражение. В действительности мы пока не можем соревноваться с природой в этом процессе. Слишком мало знаний о работе головного мозга, слишком слаба аппаратная база - даже при всех очевидных успехах в разработке и производстве чипов.
Приведу еще одно определение. На мой взгляд - более удачное хотя и тяжеловесное. Машинное обучение — извлечение осмысленных данных путем подробнейшего изучения больших массивов информации с помощью алгоритмов предсказывающих неизвестные данные на основе известных.
Иными словами, компьютер просеивает предоставленные ему данные, отыскивает в них закономерности и отвечает на сформулированный человеком вопрос.
В приведенной трактовке нет привязок ни к “искусственному интеллекту”, ни к обучению компьютера, ни к работе головного мозга. Исчезает маркетинговый и рекламный ореол. Машинное обучение становится тем, чем оно является на самом деле - просто одним из направлений развития IT, особо востребованным именно в последние годы. Почему так произошло?
Оказалось, что изначально запрограммированные системы не в состоянии справится с обработкой и анализом колоссальных массивов разношерстных данных. Для обуздания “информационного цунами” требуются новые подходы. Одним из которых и является машинное обучение.
На чем стоит машинное обучение
Как в представлении древних мудрецов плоская Земля стояла на трех слонах, так и машинное обучение базируется на трех составляющих:
- Данные;
- Признаки;
- Алгоритмы.
Расскажем вкратце о каждой из них.
Данные - это то, чем мы будем “кормить” компьютер для выявления закономерностей и взаимосвязей. Данных много не бывает. Чем больше данных - тем качественнее результат (прогноз, классификация и ит.д.). Например, ставится задача отследить мошеннические смс-сообщения. Даже несколько десятков тысяч образцов сообщений ничтожно мало для начала работы. Хватит разве что потренироваться начинающему.
Как собрать требуемый объем данных - это отдельная задача, заслуживающая отдельной публикации. Замечу только, что социальные сети - бесценный источник данных по самым разным вопросам - от вкусовых предпочтений до отношения к событиям в мире. Сотни миллионов постов, лайков и комментариев - просто рай для специалиста по машинному обучению.
Хорошо подобранные для обучения массивы данных (датасеты) стали огромной ценностью, которую их владельцы раскрывают весьма неохотно.
Перейдем к признакам. Можете назвать их иначе - свойства, параметры, характеристики. Применительно к нашему примеру создания фильтра для смс-мошенничества признаком может стать частота появления слова в сообщении, возраст получателя или его семейное положение.
Вспомним шаблонные фразы из таких сообщений: “ваша карта заблокирована”, “вам перечислено XXX долларов” и т.д. Возраст является вполне рабочим признаком. Во-первых, пожилые более доверчивы. Во-вторых, вспомним классику мошеннического жанра: “Мама, я в полиции. Срочно нужны деньги”.
Подобрать набор признаков по которым компьютер будет искать закономерности - очень важное и сложное искусство. Задашь побольше признаков “на всякий случай” - система будет работать неоправданно медленно. Выбросишь какие-то важные признаки - есть риск получить неправильный ответ, упустить какие-то важные закономерности. Поэтому подбор параметров занимает очень большую часть времени в ходе машинного обучения.
Наконец, алгоритм. От него зависит многое. Например, скорость работы, точность результата. Нередко к одной и той же задаче можно применить разные алгоритмы. Здесь уже все зависит от опыта и знаний человека. Но стоит помнить - из некачественных датасетов ничего путного не выйдет. При достойном подборе данных даже более слабый, несовершенный алгоритм даст более надежный результат.
Пути обучения
Существует четыре способа машинного обучения:
- Классическое (с учителем и без учителя);
- С подкреплением;
- Совместное использование (ансамбль);
- Нейросети и глубокое обучение.
Как и в предыдущей главе, дадим краткую характеристику каждого способа.
Классическое машинное обучение - это проверенный, надежный инструмент. Выручает в доброй половине ситуаций, когда есть смысл применить машинное обучение. Классическое обучение больше всех остальных требует вмешательства Homo sapiens. Оно разветвляется на два направления - обучение с учителем и без такового.
Способ “с учителем”: по заранее заданному набору признаков некий внешний разум объясняет компьютеру, что вот это смс-сообщение - мошенническое, а вот - это нейтральное.
Способ “без учителя”: компьютеру задают массив данных без всяких указаний признаков и машина сама должна выявить закономерности. В нашем примере с мошенническими смс-ками система должна без вмешательства человека выявить подозрительные.
Рассмотрим обучение с подкреплением. Русскоязычное устоявшееся название не слишком внятно передает суть такого способа. В обучении с подкреплением речь идет о том, что систему “одобряют” за правильные действия. и “штрафуют” за ошибки. Обучение с подкреплением применяют в ситуации, когда компьютеру нужно не анализировать данные, а действовать в постоянно изменяющейся окружающей среде. Хороший пример такой ситуации - игры и, в частности, видеоигры. Или “наладка мозгов” роботу-пылесосу. Более ответственная и сложная задача - управление ресурсами промышленного предприятия.
Совместное использование (ансамбль) заключается в том, чтобы применить одновременно несколько алгоритмов и обучить их выискивать и исправлять ошибки друг друга. Примеры: обучить несколько алгоритмов, затем передать их решения на вход последнему. Он и выберет лучшее. Другой вариант - последовательное обучение нескольких алгоритмов. Каждый последующий работает с моментами, где ошибся его предшественник.
Нейросети и глубокое обучение - мощный и универсальный способ, способный заменить прочие, описанные выше. Более подробно способ обучения нейросети я описывал в одной из публикаций. Здесь же только упомяну, что обучение нейросети заключается в регулировки силы взаимодействия между элементами составляющими нейросеть (нейронами).
Машинное обучение в бизнесе
Машинное обучение в последние годы стало неотъемлемой составляющей в большинстве направлений бизнеса. Это факт, не требующий доказательств. Более интересным выглядит то, какие подходы в машинном обучении предпочтительны в той или иной сфере.
Так, классическое обучение давно и надежно применяется в борьбе со спамом, мошенничеством в банковской сфере, распознавании текста. Построенные на классическом обучении системы прогнозируют курсы ценных бумаг на биржах, прогнозируют курсы объемы продаж и колебания спроса. Обучение без учителя используется в маркетинге и ритейле для анализа покупаемых товаров, расстановки товарных позиций на стеллажах. Проще сказать, что ритейл не может работать без машинного обучения, чем составлять перечень конкретных примеров.
Об обучении с подкреплением говорилось выше. Поэтому просто повторим сказанное. Помимо беспилотных транспортных средств и видеоигр, этот подход нашел применение в управлении ресурсами предприятий.
Совместная работа (ансамбль) способна работать во всех упомянутых областях, но с большей точностью. Помимо них хорошо проявила себя в поисковых системах, распознавании образов.
Нейросети и глубокое обучение - универсальный инструмент. Просто слишком мощный и дорогой для повсеместного применения. Однако в определенных областях они становятся просто незаменимыми. Например, в машинном переводе или распознавание речи. Ниже приведен перечень показательных примеров использования машинного обучения.
- Веб-сайт вопросов и ответов Quora применяет машинное обучение для определения релевантности ответов поисковому запросу. Полученные ответы ранжируются по таким критериям как детальность, достоверность.
- Поисковик для подбора услуг на локальных рынках Yelp использует машинное обучение, для сортировки терабайтов изображений, которые пользователи загружают на сайт. После чего машинное обучение помогает сгруппировать фото по параметрам: меню, интерьер заведения и т.д.
- Бесплатное приложение для изучения языков Duolingo использует машинное обучение в методике обучения. Данные, извлеченные из ответов ученика, изучаются системой. После чего приложение прогнозирует срок, на протяжении которого пользователь будете помнить урок. И когда потребуется повторный курс для освежения знаний.
- Стриминговый сервис Netflix анализирует на основе машинного обучения предпочтения миллионов своих клиентов. После чего создаются прогнозы о том, каким видео клиенты отдадут предпочтение в дальнейшем.
- Несколько нестандартный пример использования машинного обучения предложила компания Blue River Technology. Ее специалисты объединили возможности машинного обучения и компьютерного зрения для создания устройства See&Spray, способного различать культурные растения и сорняки. Перемещаясь по полю, установка See&Spray определяет каждое встреченное на пути растение. После идентификации распыляет на него либо гербицид, либо удобрение.
Машинное обучение - это не модное поветрие в мире информационных технологий. Это уже навсегда. Владельцам и руководителям бизнесов самых разных направлений следует осознать неотвратимость использования машинного обучения. И здесь самое главное - осознать сами возможности технологии и подобрать оптимальный инструмент под конкретные задачи.
Apix-Drive — универсальный инструмент, который быстро упорядочит любой рабочий процесс, освободив вас от рутины и возможных денежных потерь. Опробуйте ApiX-Drive в действии и убедитесь, насколько он полезен лично для вас. А пока настраиваете связи между системами, подумайте, куда инвестируете свободное время, ведь теперь его у вас будет гораздо больше.