Машинное обучение

Типы ML: supervised, unsupervised, reinforcement

Артур Сэмюэл и рождение термина

В 1959 году Артур Сэмюэл из IBM написал программу для игры в шашки, которая улучшалась через самообучение. Именно он ввёл термин «machine learning» - как альтернативу «explicit programming». Его определение: «Field of study that gives computers the ability to learn without being explicitly programmed». Через 53 года после этого определения ImageNet moment сделал машинное обучение индустрией с оборотом в сотни миллиардов долларов.

Цели урока

  • Различать supervised, unsupervised и reinforcement learning по структуре данных и обратной связи
  • Определять тип задачи ML по описанию бизнес-задачи
  • Понимать, почему self-supervised learning стал фундаментом GPT и BERT
  • Знать production примеры каждой парадигмы

2012. ImageNet. AlexNet снизил ошибку с 26% до 15% за одну ночь. Supervised learning на 1.2M картинках. Через 5 лет: ResNet-152, 3.57% ошибки - лучше человека. Но GPT-4 не обучался supervised на миллиардах текстов. AlphaGo не получал правильные ходы в качестве меток. Три разных ответа на вопрос «как учиться без явных правил» разделили весь ML.

  • **Gmail spam filter** - supervised learning на миллиардах размеченных писем, 99.9% точность блокировки
  • **Spotify Discover Weekly** - unsupervised clustering 600M+ слушателей по embedding пространству треков
  • **ChatGPT (RLHF)** - PPO обновляет веса языковой модели на основе человеческих сравнений ответов
  • **Tesla Autopilot** - supervised learning на 1.4 млрд миль реальной езды с разметкой дорожных объектов
  • **Google Data Center** - RL-агент снизил расходы на охлаждение на 40%, управляя 120 переменными среды
  • **AlphaFold2 (DeepMind)** - комбинация supervised и self-supervised для предсказания структуры белков, точность 92%

Предварительные знания

  • Что такое Machine Learning

Supervised Learning: обучение с учителем

2012. Торонто. AlexNet срезал ошибку ImageNet с 26% до 15% за одну ночь. 1.2M размеченных картинок, каждая с подписью человека. Это и есть суть **supervised learning**: модель учится на размеченных парах **(x, y)**, где x - входные данные (features), y - правильный ответ (label). Функция f(x) ≈ y. «Учитель» - не человек за экраном, а **сам датасет**.

Supervised learning решает два типа задач: - **Classification (классификация)** - предсказание дискретной категории: спам / не спам, кошка / собака, доброкачественная / злокачественная опухоль - **Regression (регрессия)** - предсказание непрерывного числа: цена квартиры, температура завтра, вероятность оттока клиента

Classification vs Regression

Два типа задач supervised learning

**Classification (дискретные метки):** - Email → спам или не спам - Фото → кошка, собака, птица - Рентген → здоров или болен - Транзакция → мошенничество или легитимная **Regression (непрерывные значения):** - Площадь квартиры → цена (5.2 млн рублей) - Дата и место → температура (22.5 C) - Параметры клиента → вероятность ухода (0.73) - История акций → цена завтра (142.30 USD)

**Как измерить качество?** Для classification - **accuracy** (доля правильных ответов), **precision** и **recall**. Для regression - **MSE** (средний квадрат ошибки) и **MAE** (средняя абсолютная ошибка). Метрики считаются на **test set** - данных, которых модель не видела при обучении. ImageNet top-1 accuracy ResNet-152 - 78.57%. Сравнение производительности моделей всегда идёт на одном test set.

Компания хочет предсказать, какую сумму потратит каждый клиент в следующем месяце. Какой тип задачи supervised learning это представляет?

Unsupervised Learning: обучение без учителя

Spotify не спрашивает пользователей, к какому «музыкальному кластеру» они принадлежат. Алгоритм получает 600 млн слушателей с историей треков - и сам находит структуру. Это **unsupervised learning**: работа с **неразмеченными данными** - только входы **x**, без меток **y**. Паттерны, группы, аномалии - всё обнаруживается без «учителя».

Три основные задачи unsupervised learning: - **Clustering (кластеризация)** - группировка похожих объектов: сегменты клиентов, типы документов, группы генов - **Dimensionality reduction (снижение размерности)** - сжатие 1000 признаков до 50, сохраняя суть: PCA, t-SNE, UMAP - **Anomaly detection (обнаружение аномалий)** - поиск необычных точек: мошенничество, сбои оборудования, вторжения в сеть

SupervisedUnsupervised
ДанныеРазмеченные (x, y)Неразмеченные (только x)
ЦельПредсказать метку yНайти скрытую структуру
Оценка качестваСравнить с правильным ответомНет "правильного" ответа
Пример задачиСпам / не спамНайти группы клиентов
Типичные алгоритмыLinear Regression, Random Forest, Neural NetworksK-Means, PCA, DBSCAN, Autoencoders

Unsupervised learning в производстве

Где это работает прямо сейчас

**Spotify Discover Weekly** - K-Means + collaborative filtering сегментируют слушателей по embedding пространству треков. 30 минут еженедельного плейлиста, точность которого превосходит ручную курацию. **PayPal Fraud Detection** - Isolation Forest и autoencoder на 15 млн транзакций в день. Аномалия = точка, которая «далеко» от нормального поведения без единой метки «мошенничество». **Генетика** - PCA сжимает геном из 20 000 генов до 2-3 компонент. На этих компонентах популяции и родственные связи видны невооружённым глазом.

Главная сложность unsupervised learning - **нет объективной метрики качества**. В supervised сравниваем предсказание с правильным ответом. В unsupervised «правильного ответа» нет. Хорошо ли K-Means разбил клиентов на 3 группы? Может, нужно 5? Или 7? Ответ зависит от бизнес-контекста, а не от математики. Silhouette score помогает, но не решает вопрос.

Интернет-магазин хочет разделить клиентов на группы по поведению, не зная заранее, какие группы существуют. Какой подход подходит?

Reinforcement Learning: обучение с подкреплением

2016. AlphaGo обыграл Ли Седоля 4:1. Задача - 10^170 состояний доски. Supervised learning не мог: нельзя разметить все позиции го. Unsupervised не мог: нет структуры без цели. Решение - **reinforcement learning**: агент учится, взаимодействуя со средой и получая награды или штрафы. Правильный ход не задан. Задана только цель - победить.

Ключевые компоненты RL: - **Agent** - тот, кто принимает решения (робот, игровой бот, алгоритм) - **Environment** - мир, с которым агент взаимодействует (игра, дорога, рынок) - **State** - текущее состояние мира (позиция на доске, скорость машины) - **Action** - действие агента (пойти вправо, ускориться, купить акцию) - **Reward** - числовой сигнал обратной связи (+1 за правильный ход, -100 за проигрыш)

Главная дилемма RL - **exploration vs exploitation**. Найден ресторан с рейтингом 4.2. Вернуться (exploitation - использовать известное) или попробовать новый, который может оказаться на 4.8 или 2.5 (exploration - исследовать неизвестное)? Агент балансирует между использованием проверенных стратегий и поиском лучших. Слишком много exploitation - застрять в локальном оптимуме. Слишком много exploration - никогда не сойтись.

RL в производстве

Прорывные применения reinforcement learning

**AlphaGo (DeepMind, 2016)** - MCTS + policy gradient на 10^170 позициях. Self-play: агент играл миллионы партий сам с собой, постепенно улучшая стратегию. **ChatGPT / InstructGPT** - финальный этап обучения через **RLHF** (Reinforcement Learning from Human Feedback): люди сравнивают ответы, PPO обновляет веса в сторону более полезных ответов. **Boston Dynamics Spot** - ходьба на четырёх ногах через RL в симуляции: тысячи падений, штраф за падение, награда за расстояние. Политика, выученная в симуляции, работает на реальном железе. **Google Data Center Cooling** - DeepMind снизил потребление энергии на охлаждение на 40% через RL-агента, управляющего вентиляторами и чиллерами.

**Ключевое отличие от supervised:** в supervised модель получает правильный ответ **сразу** - вот вход, вот метка. В RL награда может быть **отложенной**: шахматный ход на 10-м ходу может привести к победе на 40-м. Агент должен понять, какие действия привели к успеху - это **credit assignment problem**. RLHF в ChatGPT решает именно его: нужно понять, какая часть ответа заслуживает награды от оценщика.

Робот-пылесос учится убирать квартиру эффективнее. Он получает +1 за каждый убранный квадратный метр и -10 за столкновение с мебелью. К какому типу ML это относится?

Гибридные подходы: semi-supervised и self-supervised

Разметка данных - дорого. Чтобы размечать медицинские снимки, нужны врачи за несколько тысяч долларов в месяц. Но неразмеченных снимков - миллионы. **Semi-supervised learning** комбинирует малое количество размеченных данных и большое количество неразмеченных. Даже без метки данные несут информацию о структуре пространства.

**Self-supervised learning** идёт ещё дальше: модель **сама создаёт задачу из неразмеченных данных**. Прячет часть входа и пытается её восстановить: - **BERT** маскирует 15% слов в предложении и учится их предсказывать: "Кошка сидела на [MASK]" → "подоконнике" - **GPT** предсказывает следующее слово: "Машинное обучение - это" → "подраздел" - **MAE (Masked Autoencoder)** скрывает 75% патчей изображения и восстанавливает его Меток нет - но задача **создана автоматически** из структуры данных.

Self-supervised: фундамент современного AI

Как самообучение изменило индустрию

**GPT-4** обучен self-supervised способом: прочитал триллионы слов из интернета, предсказывая следующее слово. Без единой метки от человека на этапе pre-training. **CLIP (OpenAI)** - contrastive learning: модель учится связывать изображения и текст. 400 миллионов пар «картинка - подпись» из интернета. **SimCLR (Google)** - берёт одно изображение, создаёт две аугментации и учится понимать, что это **одно и то же**. Полностью без меток. Результат: self-supervised модели, дообученные всего на 1% размеченных данных, часто превосходят supervised модели на 100% меток.

ПодходРазмеченные данныеНеразмеченные данныеПример
SupervisedВсе данные размеченыНе используютсяКлассификатор спама
UnsupervisedНет метокВсе данныеK-Means кластеризация
Semi-supervisedМало (1-10%)Много (90-99%)Медицинская диагностика
Self-supervisedНет меток *Все данныеGPT, BERT, CLIP
ReinforcementНет метокНет данных **AlphaGo, робототехника

* Self-supervised **формально** создаёт метки автоматически (маскированное слово = метка), поэтому его иногда относят к supervised. Но ключевое отличие - **разметка бесплатна**, потому что генерируется из самих данных. ** В RL данные генерируются в процессе взаимодействия агента со средой, а не существуют заранее.

Supervised learning всегда лучше unsupervised, потому что использует размеченные данные

Выбор парадигмы зависит от задачи и доступных данных - unsupervised находит структуры, которые supervised не может обнаружить, а self-supervised обучение на неразмеченных данных привело к прорыву в NLP и CV

Ключевые идеи

  • **Supervised learning** - обучение на размеченных парах (вход → ответ): classification предсказывает категорию, regression - число. AlexNet, ResNet, Gmail spam filter
  • **Unsupervised learning** - поиск скрытой структуры в неразмеченных данных: кластеризация, снижение размерности, обнаружение аномалий. Spotify сегментация, PayPal fraud
  • **Reinforcement learning** - агент учится через взаимодействие со средой, балансируя exploration и exploitation. AlphaGo, ChatGPT RLHF, Boston Dynamics
  • **Self-supervised learning** - модель создаёт задачу из структуры данных (маскирование, предсказание токена). Фундамент GPT-4, BERT, CLIP - без единой человеческой метки при pre-training
  • Выбор парадигмы определяется задачей и доступностью разметки, а не предпочтениями
  • Артур Сэмюэл ввёл термин «machine learning» в 1959 году на программе для игры в шашки, которая обучала себя сама
  • Semi-supervised и self-supervised заполняют пробел: когда размеченных данных мало, а неразмеченных - океан

Связанные темы

Типы ML - фундамент для понимания конкретных алгоритмов и задач:

  • Введение в ML — Базовые понятия - что такое модель, данные, обучение и обобщение
  • Linear Regression — Первый алгоритм supervised learning - предсказание числа по признакам
  • K-Means Clustering — Классический алгоритм unsupervised learning - разбиение данных на K кластеров
  • Введение в Reinforcement Learning — Глубокое погружение в RL: Q-Learning, Policy Gradient, value functions

Вопросы для размышления

  • Система рекомендаций для онлайн-магазина - какие типы ML стоит комбинировать? Где supervised, где unsupervised?
  • Почему self-supervised learning стал доминирующим подходом в NLP (GPT, BERT), но в computer vision supervised долго оставался главным? Что изменилось?
  • Если RL может обыграть чемпионов мира в го и Dota 2, почему его не применяют повсеместно вместо supervised learning?

Связанные уроки

  • ml-01-intro — Базовые понятия модели, обучения и generalization
  • ml-09-gradient-descent — Gradient descent обновляет веса внутри supervised pipeline
  • ml-48-rl-intro — Глубокое погружение в RL: Q-Learning, Policy Gradient, MDP
  • aie-03-llm-fundamentals — GPT обучается self-supervised на следующем токене
  • calc-08-chain-rule — Chain rule - математика за backprop в supervised learning
  • stat-01-sampling
Типы ML: supervised, unsupervised, reinforcement

0

1

Войти

GPT и BERT обучены self-supervised способом на неразмеченном тексте, и они превосходят многие supervised модели. Кластеризация клиентов, обнаружение аномалий и снижение размерности - задачи, где supervised подход невозможен в принципе

GPT обучается, предсказывая следующее слово в тексте. К какому типу ML относится этот процесс?