Машинное обучение: как искусственный интеллект становится умнее

Разбираемся, что такое машинное обучение и как оно помогает ИИ становиться умнее.
Что это и как работает
История
Методы
Типы задач
Вопросы и ответы
Что это и как работает
История
Методы
Типы задач
Вопросы и ответы
Еще
ML-разработчик занимается машинным обучением
Машинное обучение относится к разделу искусственного интеллекта, где компьютер учится решать задачи без прямых инструкций программистаИсточник: Hi-Tech Mail

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

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

  • В отличие от традиционного программирования с жестким алгоритмом действий, ML использует подход «данные + результат = алгоритм».

  • Первые шаги к машинному обучению сделаны в 1950-х: тест Тьюринга, нейрокомпьютер «Марк-1», программа для игры в шашки, обучавшая сама себя. 

  • Основные методы обучения: с учителем (размеченные данные), без учителя (поиск структур в неразмеченных данных), с подкреплением (обучение пробами и ошибками), ансамблевые методы и нейросети.

  • Типы задач в ML: классификация (отнесение к категориям), регрессия (предсказание чисел), кластеризация (группировка без подсказок), ранжирование, обнаружение аномалий, рекомендательные системы, сокращение размерности.

Что такое машинное обучение и как оно работает

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

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

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

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

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

Мужчина занимается машинным обучением компьютера
Машинное обучение помогает модели решать новые типовые задачиИсточник: Unsplash

История машинного обучения

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

В 1950 году Алан Тьюринг предложил тест для оценки интеллекта компьютера: если человек в переписке не может отличить машину от другого человека, значит, компьютер мыслит.

В 1958 году ученый Фрэнк Розенблатт создал «Марк-1» — первый компьютер, работавший на основе искусственной нейросети. Устройство могло распознавать образы и даже пыталось предсказывать погоду. Коллеги подвергли технологию суровой критике: развитие нейросетей надолго затормозилось. 

Термин «машинное обучение» ввел Артур Самуэль из IBM в 1959 году. Он разработал программу для игры в шашки, которой не требовался партнер: она могла играть сама с собой и учиться на своем опыте. Это был первый случай, когда компьютер показал поведение, на которое его не программировали специально.

В конце 80-х годов аспиранты университета Карнеги — Меллона спроектировали машину для игры в шахматы ChipTest. Она стала прототипом суперкомпьютера Deep Blue, который в 1996 году впервые обыграл чемпиона мира по шахматам. До этого алгоритмы уступали человеку — они хорошо просчитывали ходы, но не обладали интуицией. Deep Blue, благодаря мощности и более сложным алгоритмам, смог проанализировать огромное количество вариантов и одержать победу.

После этого история машинного обучения пошла по нарастающей. В 2011 году Google основал подразделение Google Brain для исследований в области ИИ. Через три года собственные платформы машинного обучения появились у Amazon и Microsoft. Тогда же была разработана система DeepFace, научившаяся распознавать лица на фотографиях с точностью 97%.

В 2020 году алгоритм AlphaFold от DeepMind решил одну из сложнейших биохимических задач — смоделировал процесс сворачивания белка. Над этой проблемой ученые бились больше 50 лет, и ее решение открыло новые возможности для лечения болезни Паркинсона, Альцгеймера и других заболеваний.

Методы машинного обучения

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

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

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

Есть также полу-обучение — когда у части данных есть метки, а у части нет. 

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

У робота проходит машинное обучение без учителя
Есть несколько основных методов машинного обучения: с учителем, без него, с подкреплением, ансамблевое и глубокоеИсточник: Freepik

Ансамблевые методы. Несколько алгоритмов объединяются в группу и исправляют ошибки друг друга. 

  • Стекинг обучает разные модели по отдельности и передает их результаты финальному алгоритму. 

  • Беггинг многократно обучает одну модель на случайных выборках и усредняет ответы.

  • Бустинг выстраивает алгоритмы последовательно, где каждый новый уделяет особое внимание ошибкам предыдущего.

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

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

Качество модели обычно измеряют числами — например, точностью, f‑мерой или средней ошибкой: чем выше эти метрики на новых данных, тем увереннее можно сказать, что модель нашла настоящую закономерность, а не просто запомнила примеры.

Точность (accuracy) показывает долю правильных предсказаний модели из всех, а f‑мера балансирует точность и полноту, чтобы избежать обмана при редких событиях — например, когда модель хорошо ловит спам, но не пропускает важные письма. Эти метрики помогают точно настроить параметры модели и понять ее сильные/слабые стороны.

Типы задач в машинном обучении

Ноутбук с ИИ решает задачи во время машинного обучения
Задачи, решаемые во время машинного обучения, делят по типам Источник: Freepik

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

  • Классификация. Нужно отнести объект к одному из заранее известных классов. Спам или не спам, кошка или собака, доброкачественная опухоль или злокачественная. Один из самых распространенных типов задач. 

  • Регрессия. Требуется предсказать числовое значение. Сколько будет стоить квартира через год, какой будет температура завтра, сколько товаров продастся в следующем месяце.

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

  • Ранжирование. Выстроить объекты в порядке релевантности. Так работают поисковые системы: они оценивают миллионы страниц и показывают самые подходящие первыми.

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

  • Рекомендательные системы. Предсказать, какие товары, фильмы или музыку предпочтет пользователь. Яндекс Музыка, VK Видео, интернет-магазины — все они используют машинное обучение, чтобы предлагать персонализированный контент.

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

Вопросы и ответы

Ответили на вопросы о машинном обучении.

Чем отличается машинное обучение от нейросетей?

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

Можно ли заниматься машинным обучением без мощного компьютера?

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

Где применяется машинное обучение в повседневной жизни?

Везде: распознавание лиц в камере смартфона, рекомендации VK и Яндекса, Алиса и другие голосовые помощники, антивирусы, поиск в интернете, фильтрация спама, даже поиск опасных сосулек на крышах многоэтажек в крупных городах.