Что такое машинное обучение: возможности и сценарии применения
Рассказываем о развитии искусственного интеллекта, какие задачи он решает и как начать работать с ним в облаке.
7 октября 2022 г.
15 минут чтения
Машинное обучение (Machine Learning) — это способ обучать компьютеры без программирования и явных инструкций, используя только шаблоны и логические выводы. В данной ситуации машине говорят не «сделай 1+1», а показывают пример и просят сделать «похожее». До какой‑то степени это схоже с логикой поведения человека. Благодаря развитию ML‑подходов машины начинают «делать похожее» с более глубоким уровнем проработки.
Долгое время компьютеры применялись для решения задач, с которыми человек мог справиться и сам. Но постепенно становилось понятно, что преимущество машин — в скорости выполнения операций, быстрой аналитике больших объёмов данных, которые человек вручную обрабатывал бы очень долго. Компьютер может быстро дать результат, нужно только задать правильные условия «на входе». Так появились технологии машинного обучения и искусственный интеллект в широком его понимании.
Часто искусственный интеллект обучается на примерах того, как эта задача решалась человеком (или самой машиной). Наборы таких примеров называются датасетами. Используя датасеты, разработчики обучают алгоритмы классифицировать информацию, строить прогнозы, выделять важные моменты, находить новые пути решения известных задач. Со временем датасеты растут, алгоритмы обучения тоже меняются.
Благодаря развитию технологий машинного обучения Яндекс Музыка научилась самостоятельно находить и добавлять в плейлист песни, которые могут вам понравиться. Сервис анализирует ваши предпочтения, а ещё предпочтения миллионов других пользователей, вкусы которых могут быть похожи на ваши или отличаться. Это развитие технологии, которую когда‑то придумал Netflix и которая полностью изменила логику потребления контента в современном мире.
С такой задачей никогда не справился бы человек — к каждому пользователю невозможно приставить эксперта‑музыковеда, который знаком со всем музыкальным наследием человечества и умеет подбирать произведения под разные вкусы. А для рекомендательной системы Яндекс Музыки это нетрудно благодаря методам машинного обучения и огромной скорости выполнения операций.
Для ML‑проектов часто требуется высокопроизводительная IT‑инфраструктура. Чтобы не тратить время на её создание, настройку и последующее обслуживание, можно использовать облачный сервис Yandex DataSphere. В нём есть необходимые инструменты и динамически масштабируемые ресурсы для полного цикла разработки машинного обучения. Сервис доступен всем пользователям платформы Yandex Cloud. Подробнее о возможностях сервиса рассказали в этом видео:
Подход, при котором машине заранее дают понять, какой ответ будет считаться правильным. Под учителем здесь понимается обучающая выборка с размеченными нужным образом данными либо тот, кто указывает правильные ответы в процессе обучения. На основе предоставленных учителем данных машина сама находит и определяет признаки, позволяющие ей, условно, отличить кошку от собаки или мужчину от женщины. В дальнейшем обученный алгоритм можно перенастроить на решение других задач.
Подход, который актуален ввиду большого количества неразмеченных, хаотично собранных данных. Машина должна сама найти связи между отдельными данными, выявить закономерности, подобрать шаблоны и отсортировать объекты в загруженном датасете. Похожие алгоритмы используются рекомендательными системами интернет-магазинов.
Например, Яндекс Маркет предлагает покупателям товары, которые способны их заинтересовать.
Более сложный подход, при котором модель обучается сама методом проб и ошибок. Задача алгоритма — минимизировать количество ошибок, поэтому последовательность успешных решений и все неправильные решения фиксируются. Так достигается решение задачи наилучшим образом.
Классический пример успешного применения обученной таким способом машины — победа компьютера IBM Watson в игре Jeopardy!
Возможно, самый сложный уровень обучения искусственного интеллекта на данный момент. Машинное и глубокое обучение часто путают. Их относят к отдельным направлениям развития искусственного интеллекта. Но Deep Learning — это подвид машинного обучения, а нейронные сети — подвид глубокого обучения. Глубокое и машинное обучение различаются способами обучения алгоритмов.
Deep Learning — это способ обозначения более глубоких методов обучения с огромным количеством признаков. Например, задумайтесь, как человек отличает кошку от собаки? У кошки есть усы, другая форма ушей, мордочки и так далее. Каждый из этих параметров — по сути признак. Машина учится также, пытаясь на разных примерах найти признаки, по которым одно можно отличить от другого. Этих признаков может быть огромное количество, и этот параметр отличает глубокое обучение от «обычного».
Можно сказать, что модель машинного обучения — это своеобразный чёрный ящик. ИИ предоставляют условия задачи, и он даёт ответ на выходе. Что в этот момент происходило «под капотом» — неизвестно.
Машинное обучение выглядит как поиск условий, при которых обучаемая модель в подавляющем большинстве случаев начинает выдавать корректные ответы. Для Deep Learning используют огромные датасеты и выделяют много ресурсов. Именно модели нейросетей с глубоким обучением сделали возможным появление систем биометрии, чат-ботов и голосовых ассистентов.
Ещё можно вспомнить и так называемые «ансамбли» — несколько алгоритмов машинного обучения, которые объединены в группу и исправляют ошибки друг друга. Ансамбли применяются в компьютерном зрении, поисковых системах, для технологий распознавания лиц.
Существуют три составляющие любого процесса машинного обучения:
Данные. Это примеры решений, статистика, расчёты и другая информация, которая помогает обучать нейросети. Большие наборы данных называют датасетами.
Признаки. О них мы уже говорили выше. Это те вещи, на которые модель должна обратить внимание во время обучения. Чем конкретнее признаки и меньше их количество, тем быстрее проходит обучение. У сложных моделей могут использоваться миллионы параметров.
Алгоритмы. Имеются в виду способы решения задач. У задачи может быть несколько вариантов решения, а машина должна выбрать лучший из них.
Важным свойством машинного обучения является наличие математической связи между входными и выходными данными. Нейросеть не имеет данных об этой взаимосвязи, но может получить их, используя загруженные в неё наборы данных.
Допустим, есть множество однотипных задач, в которых известны условие и правильный ответ (или несколько ответов). Это может быть набор изображений качественных и некачественных деталей на производстве. Нейросеть принимает на вход условие задачи — выбраковку некачественных деталей, пропускает данные сквозь чёрный ящик и даёт на выходе какой‑то ответ. Например, данные о количестве плохих деталей.
В модель можно загружать дополнительные параметры, которые будут влиять на обработку входных данных. Машинное обучение строится так, чтобы добиться максимальной частоты корректных ответов на выходе из модели путём подбора параметров. Когда определены нужные параметры, можно заставить машину верно решать аналогичные задачи, даже если она не знает правильных ответов к ним.
Для ML‑проектов обычно нужны структурированные наборы данных и высокопроизводительная IT‑инфраструктура. Например, созданная Яндексом GPT‑подобная нейросеть YaLM на 100 млрд параметров обучалась 65 дней на 1,7 ТБ текстов из интернета, книг и множества других источников с помощью 800 GPU‑карт NVIDIA A100. Чтобы не тратить время на создание, настройку и последующее обслуживание большого количества оборудования, можно использовать облачный сервис Yandex DataSphere. В нём есть необходимые инструменты и динамически масштабируемые ресурсы для полного цикла разработки машинного обучения. Сервис доступен всем пользователям платформы Yandex Cloud.
Протестируйте инфраструктуру Yandex Cloud. Платформа даёт новым пользователям грант на 4000 рублей. Этими деньгами можно оплатить используемые ресурсы во время пробного периода. Есть и другие программы поддержки компаний. Тестирование поможет понять, насколько платформа и облачные сервисы будут эффективны в бизнес‑процессах вашей компании.
Yandex DataSphere успешно закрывает весь жизненный цикл ML‑моделей для бизнеса. Сервис предлагает бесшовное переключение между разными типами мощностей, позволяя без остановки вычислений и с сохранением прогресса применять разные типы виртуальных машин: CPU и GPU. Например, если процесс обучения модели ИИ идёт слишком долго, можно его остановить и перезапустить на более производительном оборудовании. При этом ничего не теряется — обучение продолжится с того момента, на котором его остановили.
Возможность использования разных вычислительных ресурсов в зависимости от задач и потребление ресурсов только во время вычислений позволяют решить проблемы с «железом» и снизить затраты на оборудование. Подключение распределённых вычислений (Spark, Nirvana) также упрощает процесс обучения моделей ИИ.
С помощью DataSphere компании могут:
собирать и анализировать данные;
создавать десятки ML‑моделей и выбирать из них лучшие;
обучать модели на полных датасетах;
разворачивать модель быстро и без дополнительных затрат.
Благодаря машинному обучению ИИ не просто анализирует данные и находит закономерности, но ещё и строит прогнозы, ставит диагнозы, проводит сложные вычисления, генерирует новые текстовые и графические материалы, изобретает лекарства и сочиняет музыку. Рассмотрим наиболее интересные примеры использования машинного обучения.
Распознавание речи. Технология обработки естественного языка (NLP) для перевода человеческой речи в текст. Например, голосовой помощник Алиса от Яндекса использует технологию распознавания речи, чтобы максимально естественно общаться с человеком и выполнять его команды.
Компьютерное зрение. Технология распознавания изображений и видео, которая используется в медицине, видеоаналитике, контроле качества на производстве, поиске изображений (поиск картинкой — одна из популярнейших функций умной камеры Яндекса) и многих других сферах. Отдельно стоит выделить биометрию — перспективное направление, развивающееся в том числе с помощью Yandex Cloud. Подробнее о компьютерном зрении мы рассказали в этой статье.
Поисковые системы. Нейронные сети использовались для обучения поискового алгоритма Яндекса «Палех», а в 2020 году свет увидел YATI. В нём использовалась архитектура нейросетей‑трансформеров, которая призвана повысить качество понимания смысла текста с точки зрения поисковой системы. Благодаря изменению архитектуры нейросетей и участию толокеров, которые помогли с разметкой данных, новый поисковый алгоритм стал лучше понимать, что именно хотел найти человек.
Беспилотники. Появление беспилотных автомобилей напрямую связано с прогрессом в сфере искусственного интеллекта. Благодаря машинному обучению алгоритмы научились правильно распознавать угрозы и реагировать на них, а исследователи пошли дальше, создав автономные грузовики и гоночные автомобили. Например, студенческая гоночная команда МГТУ им. Н. Э. Баумана проектирует беспилотные гоночные автомобили для международных соревнований Formula Student. Участники команды обучили четыре сети архитектуры YOLOv5 в Yandex Cloud, быстро и без дополнительных сложностей получив точные и эффективные инструменты для решения задач распознавания объектов на трассе.
Рекомендательные системы. Компьютерный алгоритм способен проанализировать накопленные данные о поведении покупателей и выявить закономерности, которые помогут с дополнительной продажей товаров и услуг. Чем лучше обучен ИИ, тем точнее он рекомендует товар в интернет‑магазине, фильм в стриминговом сервисе (например, «Кинопоиске»), друзей в социальной сети.
Если вам интересны технологии машинного обучения — приходите учиться в Яндекс. У нас есть курсы на Практикуме, ШАД, семинары и конференции, которые помогут вам научиться таким интересным вещам и попасть на передовую высоких технологий.
А если вам нужен инструмент для первых проектов или, наоборот, самых сложных вещей, требующих огромного количества вычислительных ресурсов — мы будем рады видеть вас в сервисе Yandex DataSphere, который поможет быстро обучать и разворачивать даже самые сложные модели. Обратите внимание, в Yandex DataSphere существует возможность быстрого развёртывания моделей. Вам не придётся создавать и управлять инфраструктурой — это происходит автоматически. Для большего комфорта разработчикам предлагается интерфейс Jupyter Notebook, одного из популярных инструментов ML‑разработки.
Data Science — ещё одно применение DataSphere. Yandex Cloud предлагает полный набор технических продуктов для решения любых задач в области Data Science. У нас вы можете безопасно хранить и обрабатывать данные, обучать ML‑модели, строить аналитику и визуализировать результаты. Особенно важной для Data Science является возможность переиспользования кода, кастомизации среды разработки или образов под команду, а также удобная передача кода заказчику.
Нужна помощь или совет, связанный с разработкой проекта машинного обучения или другими сервисами Yandex Cloud? Обратитесь к нашим специалистам, чтобы правильно настроить параметры модели, рассчитать стоимость проекта или решить другой вопрос.
Вы также можете воспользоваться услугами партнёров Yandex Cloud, чтобы подобрать технологию для решения задач своего бизнеса.