Последнее время о машинном обучении много говорят, пишут обзорные статьи, публикуют новости, освещают для широкой публики исследования и проводят конференции. У гигантов рынка вроде Google, IBM и Amazon свои есть платформы для исследований, небольшие стартапы тоже заявляют о применении решений на базе искусственного интеллекта. Технологии машинного обучения применяют в маркетинге, медицине, аналитике и менеджменте. Но несмотря на это немногие кроме специалистов действительно понимают, что это на самом деле, зачем и как его применять. Давайте разбираться вместе.
Что такое машинное обучение
Машинное обучение — это раздел искусственного интеллекта. В дискуссиях об искусственном интеллекте вообще и о машинном обучении в частности обычно смешиваются нейросети, машинное и глубокое обучение. Зачастую возникает путаница с терминами, поэтому давайте остановимся на них подробнее.
Представьте себе город. Его название — Искусственный интеллект. Дома в городе разные и каждый из них — раздел искусственного интеллекта. Один из домов — машинное обучение. В нём несколько квартир, одна из них — нейросети. А глубокое обучение — один из жильцов этой квартиры
Иерархия самых распространённых терминов из области искусственного интеллекта
Машинное обучение предполагает самообучение и развитие компьютерной системы по подготовленным заранее данным. Машина получает набор данных и учится распознавать их по определённым признакам и выполнять с ними определённые операции. В итоге исследователи стремятся добиться от искусственного интеллекта способности находить ответы на вопросы и выполнять задачи.
К счастью, совсем не обязательно становиться учёным, чтобы использовать машинное обучение. Мы уже используем машинное обучение в повседневной жизни — при обработке фотографий, подборе кино на вечер, поиске лучшего маршрута в навигаторе и др.
Графический редактор Adobe Photoshop настолько популярен, что его название стало нарицательным в русском и английском языках. Так вот знайте: инструменты выделения областей, коррекции цветов или тона кожи и некоторые другие работают с высокой точностью именно благодаря машинному обучению
Просим программу выделить на фотографии области с красным цветом
Программа послушно подсвечивает красные яблоки и скрывает синие сливы
Возможно, фотография — совсем не ваша область. Но уж готовить еду вам точно приходилось. Создание уникального рецепта также можно поручить компьютеру, нужно только раздобыть исходные данные: найти большую кулинарную книгу в цифровом варианте или собрать сайты с рецептами.
В одном из ресторанов Москвы искусственному интеллекту доверили создать меню. Конечно, машина предложила несколько нереализуемых рецептов, однако были и вполне съедобные блюда, ничуть не хуже блюда дня от шеф-повара. Создатели ресторана планируют обучить машину рекомендовать гостям блюда с учётом медицинских противопоказаний: аллергии, хронических заболеваний и др. Для этого гостям нужно будет установить приложение ресторана и авторизоваться в нём
Сначала был создан внешний облик бренд-шефа, а потом уже — её «мозг». Источник: she.wrf.su
При этом надо понимать, что машинное обучение и программирование — не одно и то же. Программисту нужно продумать логику программы и прописать все варианты условий задачи и решений к ним. В машинном обучении мы приносим входные данные и соответствующий им результат, а компьютер выстраивает между ними логику. В случае успеха мы сможем давать машине похожие задания, а она будет за нас решать их быстрее и тем самым сэкономит силы, время и моральные ресурсы.
Виталий — владелец онлайн-кинотеатра. Он хочет сделать свой сервис удобнее для пользователей. Решить эту задачу с точки зрения программирования могут несколько человек, но им придётся учесть предпочтения всех посетителей сервиса. Есть другой способ — нанять специалиста по машинному обучению и предоставить статистику: какие фильмы пользователи досматривают, лайкают, комментируют и сохраняют в избранном. Компьютер сам найдёт закономерности для каждого пользователя и порекомендует ему новые фильмы. Такие алгоритмы уже используют ютуб, твич, кинопоиск, ivi.ru и другие онлайн-кинотеатры, видеохостинги и стриминговые платформы
Чем охотнее вы ставите оценки фильмам, тем точнее алгоритм подберёт фильмы для вашего раздела с рекомендациями
Как происходит машинное обучение
Компьютер не понимает, чему его пытаются обучить. Для вычислительной системы мир состоит из нулей и единиц. И прежде чем решать задачу, системе нужно научиться понимать её условие.
Машинное обучение можно сравнить с формированием мозга ребёнка. Новорожденный видит мир и ничего в нём не понимает. Поначалу он просто «считывает» действия взрослых, запоминает и копирует. А если действия повторяются, он уже может их интерпретировать и выстраивать причинно-следственные связи. И вот он уже улыбается в ответ на улыбку взрослого и замирает при виде нахмуренного лица
То есть на основе входных данных вычислительная система вырабатывает некое подобие аналитического мышления. Она считывает данные, как-то их классифицирует, видит закономерности и запоминает.
Искусственному интеллекту не так важно, придётся ли в итоге управлять транспортным средством или оценивать степень зрелости овощей и фруктов. Компьютер учится, но если что-то идёт не так, приходится его переучивать и тогда машина пытается избежать ошибок.
Так, шаг за шагом, машины прогрессируют. Иногда присутствие наблюдателя-человека необходимо, как в примере выше с рецептами. Однако в отличие от человека, компьютер лишён эмоций, усталости и когнитивных искажений, поэтому зачастую справляется с задачами лучше.
Исследования в области машинного обучения уже сегодня привели к способности нейросетей распознавать на снимках ранние стадии раковых опухолей лёгких, мозга и других органов. Кроме того, нейросети умеют точнее рассчитывать дозировку препаратов при химиотерапии, что снижает влияние побочных эффектов на организм
Какие есть виды машинного обучения
Методов обучения компьютера различным действиям достаточно много, но среди них можно выделить 4 основных вида:
- классическое обучение,
- ансамблевые методы,
- обучение с подкреплением,
- нейросети и глубокое обучение.
При выборе метода обучения стоит учитывать тип входных данных и сложность задачи
Классическое обучение
Самые старые и простые методы машинного обучения с середины XX века, которые изначально применяли для поиска закономерностей в цифрах и расчёта близости точек в пространстве. Специалисты делят такие методы на две категории.
С учителем. Программа-учитель, совсем как в школе, рассказывает машине, какие перед ней данные, как отличить одни от других и чем они похожи. При этом данные уже поделены по признакам, поэтому обучение происходит быстрее.
Для этой категории характерны два типа задач:
- Классификация — разделение данных по определённому признаку или категории. Круг отличается от квадрата, а слон от жирафа, но по определённым признакам можно сгруппировать круг и квадрат в геометрические фигуры, а слона с жирафом — в животных.
Так компьютеры фильтруют спам в почтовых клиентах, разделяют статьи по темам и языкам в поисковиках или подбирают для пользователей «Яндекс.Музыки» и Spotify композиции, похожие на их любимые
- Регрессия — та же классификация, только по числовым признакам. Машина находит зависимость одних числовых данных от других и затем может предсказывать: если на входе одно число, значит на выходе будет другое.
Так компьютер прогнозирует динамику акций компании по спросу на товары, стоимость автомобиля в зависимости от пробега и загруженность дорог в определённое время суток
Алгоритмы Яндекс.Пробок учитывают статистику, чтобы помочь вам рассчитать время и не опоздать
Без учителя. Второй способ медленнее: компьютеру не сообщают признаки и он ищет закономерности в данных самостоятельно. Это как если бы Золушка не знала, чем отличаются ячмень и просо и прежде чем отделять их друг от друга по заданию злой мачехи, ей пришлось бы разобраться в характерных особенностях двух злаков.
Здесь на сцену выходят:
- Кластеризация — разделение данных по признакам, которые показались похожими машине.
Кластеризацию применяют для анализа текстов, сегментирования пользователей в маркетинговых целях и даже пресечения мошеннических действий
- Уменьшение размерности или обобщение — объединение нескольких признаков в более общие или абстрактные классы.
При наличии объектов с похожими признаками, вы объединяете их в одну категорию: например, если у одних автомобилей более острые углы кузова, категория будет «автомобили 90-х», а с более плавными линиями — «современные автомобили»
- Поиск правил — машина анализирует поток данных и находит комплементарные — те, что часто встречаются вместе.
Проанализировав потребительские корзины, компьютер находит часто покупаемые вместе товары. Так он делает вывод, что один товар можно рекомендовать в пару к другому и подсказывает выгодное расположение товаров в зале или на сайте магазина
К выбранному каркасу кровати каталог «Икеи» предлагает запасные рейки и матрас
Ансамблевые методы
Ансамбли — способ, при котором несколько нестабильных методов машинного обучения объединяют для исправления ошибок друг друга.
Ансамбли используют для определения лиц людей и объектов во время работы камеры смартфонов, а также при сортировке поисковой выдачи под конкретный запрос пользователя. Высокая точность и скорость работы приближает метод к нейросетям
В зависимости от входных данных результат может быть непредсказуем. Тем не менее, качество такого подхода на голову выше любого из упомянутых ранее методов, если собирать ансамбли одним из трёх способов.
Бустинг. Метод последовательного обучения алгоритмов. После обработки одного набора данных, машине дают следующий. В него специально добавляют данные, результат которых отличается от нужного и алгоритм пытается подобрать решение. Точность метода специалисты называют крайне высокой, но есть и минус — отсутствие параллельного выполнения операций, что существенно замедляет скорость обработки данных.
Бустинг используют для сортировки поисковой выдачи в «Яндексе», а в медицине он повышает точность прогнозов в области сердечно-сосудистых и онкологических заболеваний
Беггинг. Один и тот же алгоритм обучают на случайных выборках данных, возможно, повторных. Алгоритм оценивает данные и результатом выдаёт набравшие наибольшее количество баллов. Преимущество такого метода перед бустингом в параллельных операциях — скорость обработки возрастает колоссально.
Распознавание лиц и очерчивание их рамкой на экране телефона — результат работы беггинга. Из-за быстроты работы мы даже не задумываемся, насколько сложен процесс
Система распознавания лиц в камере мобильного определяет даже лица персонажей комиксов
Стекинг. Данные пропускают через несколько слабых алгоритмов, после чего результаты прогоняют через ещё один, решающий. Часто последний в цепочке метод — регрессия. Цель метода — обучить слабых учеников, однако на практике точность всё равно низкая и подход используют редко.
Метод стекинга можно применить для коррекции показаний счётчика посещений сайта. Однако даже здесь стоит оговориться, что схема работает только при использовании изначально слабых методов
Обучение с подкреплением
Метод предполагает обучение машины путём проб и ошибок. За «правильные» действия компьютер награждают, за «неправильные» — штрафуют. Да, вам не показалось: всё это очень похоже на дрессировку собак, а компьютер в данном случае — буквально собака Павлова.
Первоначально ситуации моделируют в виртуальной среде, после чего искусственный интеллект продолжает учиться в реальном мире.
Метод применяют для обучения искусственного интеллекта в играх и автоматической торговле, роботов-пылесосов и автопилота автономного транспорта
Чем больше проб и ошибок, тем больше вознаграждений в ситуациях, которые компьютер примеряет на вновь происходящие события. И поступает он в итоге согласно сценарию, который принесёт максимальное вознаграждение.
Нейросети и глубокое обучение
Как происходит обучение нейросетей, объясним на котиках. Кот Карасик заказал в интернет-магазине «Забава» набор игрушек: мячик с кошачьей мятой внутри, удочку-дразнилку и верёвочную мышь. И теперь он лежит и с нетерпением ждёт свои игрушки, чтобы вдоволь порезвиться.
Карасик ждёт курьера прямо в подъезде, чтобы быть ближе к своим новым игрушкам
Через несколько минут в одном из пунктов выдачи заказов курьер забирает очередную коробку и отправляется в путь. Он спускается в специальное курьерское метро, у которого любопытная схема — на ней мы остановимся подробнее.
Входы в метро расположены вдоль одной улицы, на которой есть только пункты выдачи заказов магазина «Забава» — по одному у каждого входа в подземку. Выходы в метро расположены вдоль единственной улицы с жилыми домами, в одном из которых живёт Карасик. Между входами и выходами есть ещё несколько выстроенных в линию станций, с которых нельзя подняться наружу — лишь продолжить движение до конечной точки.
В метро нет веток — на каждой станции дежурит регулировщик, который должен знать список заказов на сегодня, соответствующие им пункты назначения и кратчайшие маршруты от своей станции к выходам. По содержимому коробки регулировщик подскажет курьеру, на какую станцию следующего слоя ему лучше направиться, чтобы добраться до нужного выхода.
И вот курьер доезжает до конечной станции и передаёт Карасику коробку. Кот хватает её, бежит распаковывать и обнаруживает, что там вовсе не его игрушки. В коробке вместо заветной мышки и удочки с перьями — пирамидки и погремушки для младенца Кеши, который живёт через 3 дома, возле другого выхода из метро.
Карасику не нравятся игрушки — они напоминают, как хозяин мальчишкой таскал его за хвост
Задача доставить заказы по верным адресам не выполнена. Это случилось потому, что система курьерской службы новая и только настраивается. Теперь курьеру нужно вернуться обратно через все станции, которые он проехал и сказать регулировщикам, что они направили его не туда. И курьеру с заказом Карасика придётся сделать то же самое. И бедные курьеры будут кататься так до момента, пока регулировщики не обучатся и не доведут их до нужных выходов.
Пока курьеры пытаются доехать до нужного выхода, где-то грустит один Карасик
В этом примере станции — это нейроны, улицы, вдоль которых они расположены — слои, а наборы игрушек — данные. А способ, которым система сама себя корректирует — это метод обратного распространения ошибки. Чем чаще данные проходят через нейроны, тем точнее результат, который выдаст на выходе нейросеть.
Нейросети распознают и синтезируют речь, переводят тексты и определяют объекты на фото и видео, поэтому их используют чаще других подходов из-за высокой точности ответов
Ещё 10 лет назад развитие нейросетей застопорилось из-за недостаточной вычислительной мощности компьютеров. Однако как только преграда исчезла, появилось глубокое обучение, которое вывело работу с данными на новый уровень.
Глубокое обучение — подвид машинного обучения. Оно отличается от классических видов типами обрабатываемых данных и методами их обработки. Дело в том, что классические алгоритмы требовали обозначений, добавленных в данные специалистом перед обучением. С приходом глубокого обучения необходимость в специалисте пропала: машина самостоятельно разбирается, что к чему относится во входных данных.
Архитектур нейронных сетей довольно много, а мы рассмотрим наиболее популярные: свёрточные и рекуррентные.
Свёрточные. Не так давно элементы объектов прописывали вручную. В примере с котом и курьером это означало бы, что у курьера всякий раз была с собой подробная спецификация на игрушки: какого они размера и цвета, есть ли на них перья и умеют ли они пищать и издавать другие звуки. Однако даже при минимальном изменении элементов объектов нейросеть переставала их определять. Вскоре исследователи поняли, что достаточно дать нейросети большое количество данных и она сама найдёт закономерности.
Большинство задач, связанных с обработкой фотографий и видео или распознаванием объектов на них, предоставляют решать именно свёрточному типу нейросетей
Рекуррентные. На момент появления такие сети каждый раз запускали как первый: память в нейронах отсутствовала. Нейронам рекуррентных сетей добавили память, поэтому на каждом новом цикле обучения они не допускали предыдущих ошибок. Но в таком случае получался переизбыток данных. Поэтому нейроны научили определять ненужную для обучения информацию и забывать её.
Перевод текста, синтез речи и написание музыки достались рекуррентной архитектуре. Голосовые помощники Amazon Alexa или Яндекс.Алиса — яркий пример рекуррентных нейросетей. Если среди навыков помощника нет нужного вам, вы можете обучить его и запускать определённый сценарий по кодовому слову
Яндекс.Алиса помогает пользователям в управлении делами, бытом и досугом
Как неспециалисту получить доступ к машинному обучению
Гиганты IT-индустрии предоставляют частным и корпоративным пользователям облачные платформы с готовой инфраструктурой и технологиями машинного обучения: Yandex.Cloud, Google Cloud, SberCloud и др.
Кроме того, существуют интернет-ресурсы с открытыми данными для обучения:
- Портал открытых данных РФ — доступные данные для всех желающих из разных сфер.
- Open data science — международное сообщество открытых данных для машинного обучения.
- Kaggle — платформа для проведения соревнований и одновременно соцсеть для дата-сайентистов и специалистов по машинному обучению. С 2017 года принадлежит Google.
Люди из разных сфер могут использовать предоставляемые ресурсы в своих целях. И вот мы добрались до самого интересного — посмотрим, на что в действительности способно машинное обучение.
Какие прикладные задачи реально решить машинным обучением
Машинное обучение используют в решении широкого круга задач в самых разных областях — порой неожиданных: от сельского хозяйства и медицины до видеопродакшена и бизнеса. Мы расскажем о некоторых из областей применения этих технологий.
Сельское хозяйство. В России появилась действительно умная сельхозтехника, которая сокращает время работы и нагрузку на операторов.
Cognitive Technologies разработали автопилот для зерноуборочных комбайнов. Камера получает изображение кромки урожая, а нейросеть обрабатывает его и корректирует движение комбайна. Автопилот различает культуры и распознаёт препятствия, к тому же система полностью автономна и не требует подключения ни к интернету, ни к GPS
Медицина. В медицине машинному обучению нашли широкое применение: в диагностике, консультировании, хирургических операциях, разработке новых препаратов, мониторинге эпидемиологической обстановки и др.
Российские IT-продукты на базе машинного обучения Webiomed помогают врачам ставить диагнозы, прогнозировать сценарии развития заболеваний, составлять рекомендации по лечению и избегать врачебных ошибок, которые могут стоить пациентам здоровья и жизни
Экология. Машинное обучение приходит на помощь и в борьбе за экологию.
Вот три истории неочевидного применения машинного обучения
1. Очищение мирового океана от мусора. Rosalia Project разрабатывают робототехнические решения для очистки мирового океана от мусора. Робот находит хлам на дне, распознаёт через камеру и натренированную нейросеть и собирает роборукой. Оператору-человеку не нужно быть в воде — он находится на поверхности и может управлять роботом, находящимся на глубине до 1 км даже подо льдом
Рука робота Гектора захватывает мусор подобно щипцам. Источник rozaliaproject.org
2. Изучение миграции китов. Дэниел де Леон, студент Калифорнийского политехнического университета, обучил систему машинного обучения TensorFlow от Google распознавать сигналы, издаваемые редкими китами, с точностью 98,05%. Машина может отличить звуки, издаваемые разными китами, время, громкость и продолжительность каждого сигнала. Эта система позволяет учёным отслеживать влияние человека на пути миграции китов и экосистему океана в целом
Учёные обучают машину отличать звуки синего кита от финвала. Источник: Google
3. Борьба с браконьерством. Налду Тембе руководит коренным племенем на севере Бразилии и борется с вырубкой дождевого леса Амазонии. Его люди устанавливают на кронах деревьев устройства на базе старых смартфонов с микрофонами, всё той же TensorFlow и солнечных батарей. Устройства улавливают звуки в лесу, а нейросеть учится распознавать среди них бензопилы и грузовики. Как только похожие звуки появляются, система оповещает людей, отобранных в службу безопасности и те выезжают предотвращать деятельность браконьеров
Система определяет браконьеров по характерным звукам и отправляет координаты лесникам. Источник: Google
Фото и видео. Обработка фото и видео с машинным обучением занимает на порядок меньше времени. Также можно научить нейросеть увеличивать изображение и прорисовывать детали без потери качества.
«Яндекс» обработал советские мультфильмы своей технологией на базе двух нейросетей — DeepHD. Она устраняет изъяны плёнки и повышает чёткость изображения. Благодаря этому на больших экранах хорошо выглядят квинтет из Бремена, Дюймовочка, Маугли, котёнок Гав, Умка и другие герои мультфильмов
Бизнес. Бизнесу тоже выгодны доступные ресурсы машинного обучения: для анализа действий пользователей сайта, их предыдущих покупок и подбора товаров, предсказания вероятных финансовых результатов бизнес-решений, поиска целевой аудитории проекта и автоматизации процессов.
В конце 2020 года «Лента» запустила рекламную кампанию в одной соцсети и тестировала в течение месяца платформу на основе искусственного интеллекта. Платформа выявляла предпочтения пользователей, в результате чего эффективность таргетированной рекламы выросла в сравнении с классическими инструментами в 2,5 раза. При этом снизился показатель отказов, а значит машина тщательнее отбирала целевую аудиторию
За машинным обучением стоит будущее. Уже сейчас появляются компании, которые разрабатывают протезы для парализованных людей, управляемые через нейроинтерфейс. Постановка диагноза на ранних стадиях болезней, организация движения в городах, проверка работоспособности систем дронами вместо людей — всё это делает жизнь удобнее и проще.
Как научиться обучать компьютеры
Чтобы обучать компьютеры решению важных для вас задач, можно перечитать тонну книг, а можно пройти онлайн-курсы. Преимущество курсов в том, что вы не утонете в море сложных технических деталей, а на кейсах и практике освоите проверенные методы решения своих профессиональных задач. Мы подобрали курсы по некоторым направлениям применения машинного обучения для разных сфер.
Если вы работаете в сфере здравоохранения или стремитесь в неё попасть, советуем поступить на факультет дата-сайенса в медицине от GeekBrains.
Факультет дата-сайенса в медицине от GeekBrains
Курс подойдёт новичкам и опытным медработникам. Вы научитесь проверять статистические гипотезы для клинических исследований, применять методы машинного обучения для постановки диагноза, анализа изображений рентгена, КТ и МРТ и узнаете, как персонализировать лечение. Школа даёт бесплатный доступ к инструментам и гарантию трудоустройства.
Есть и отдельный курс для специалистов сферы маркетинга.
Курс «Дата-сайенс для маркетинг-директора» от D’SKUL
Курс для рядовых сотрудников и руководителей отдела маркетинга. Вы узнаете, как поднять эффективность маркетинга через машинное обучение. Вы сможете повысить точность маркетинговых исследований, оптимизировать рекламный бюджет и скорректировать маркетинговую стратегию. Вы на практике разберётесь, как управлять проектом внедрения технологий в своей компании.
Ну а если вы бизнесмен — смело приходите на курс по аналитике с применением машинного обучения.
Курс «Аналитика для руководителей» от Нетологии
Курс для топ-менеджеров и предпринимателей. Вы узнаете, как применить технологии в комплексе: в маркетинге, управлении продуктом, менеджменте, аналитике и финансах. Вы сможете оптимизировать проект, скорректировать стратегию его развития и повысить качество бизнес-решений.
Больше курсов по машинному обучению — в нашем каталоге. И помните: не так страшно машинное обучение, как его малюют.
1 коммент
Аналогия с котом в целом понятна, хотя если бы не интересовался этой темой раньше, возможно отвлёкся бы на сопереживание коту вместо основной темы. Примеры альтернативного использования понравились – оригинально, полезно.