Машинное обучение
Типы 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%
Предварительные знания
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 (обнаружение аномалий)** - поиск необычных точек: мошенничество, сбои оборудования, вторжения в сеть
| Supervised | Unsupervised | |
|---|---|---|
| Данные | Размеченные (x, y) | Неразмеченные (только x) |
| Цель | Предсказать метку y | Найти скрытую структуру |
| Оценка качества | Сравнить с правильным ответом | Нет "правильного" ответа |
| Пример задачи | Спам / не спам | Найти группы клиентов |
| Типичные алгоритмы | Linear Regression, Random Forest, Neural Networks | K-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