Что такое машинное обучение? Практическое объяснение для владельцев бизнеса
Сегодня машинное обучение упоминается в каждой презентации для инвесторов и в каждом продуктовом роадмапе, а значит, для большинства слушателей этот термин перестал означать что-то конкретное. Это проблема, если именно вам решать, тратить ли на него реальный бюджет. Поэтому вот простая версия — без туманных формулировок.
Определение по существу
Машинное обучение — это способ создавать программы, которые выявляют закономерности в данных, а не следуют правилам, вручную прописанным человеком. Традиционная программа — это список инструкций: если это, то то. Модель машинного обучения устроена иначе: вы показываете ей тысячи примеров входных данных и правильных ответов, и она сама вырабатывает внутренние правила, как от одного перейти к другому.
Вот и вся идея. Всё остальное — нейросети, обучение, модели, веса — это подробности того, как именно происходит поиск закономерностей.
Конкретный пример
Допустим, вы хотите выявлять мошеннические транзакции. Старый подход: инженер садится и пишет правила — отмечать всё, что больше $500, всё, что совершено с нового устройства, всё, что происходит в три часа ночи. Это работает, пока схемы мошенничества не поменяются, — а потом кто-то должен это заметить и переписать правила.
Подход машинного обучения: вы передаёте модели транзакции за несколько лет, каждая из которых помечена как «мошенничество» или «не мошенничество». Модель находит сочетания признаков — сумма, место, устройство, время, частота операций, — которые действительно связаны с мошенничеством в ваших собственных данных, а не в чьих-то представлениях о том, как оно выглядит. Когда схемы меняются, вы переобучаете модель на свежих данных, а не переписываете логику вручную.
В чём оно действительно сильно
- Распознавание закономерностей в «грязных» данных. Для изображений, аудио, произвольного текста и поведенческих данных трудно написать явные правила. Машинное обучение справляется с ними хорошо, потому что ему нужны не правила, а примеры.
- Прогнозы на основе истории. Какие клиенты, скорее всего, уйдут, какие лиды, вероятно, конвертируются, сколько товара понадобится в следующем месяце — всё, где прошлое неплохо подсказывает будущее.
- Персонализация в масштабе. Рекомендации товаров, ранжирование результатов поиска, настройка ленты — задачи, где «правильный ответ» свой для каждого пользователя и постоянно меняется.
В чём оно не сильно
Эту часть большинство презентаций пропускает. Машинное обучение плохо подходит, когда:
- Исторических данных мало. Модель, обученная на нескольких сотнях примеров, обычно работает хуже, чем хорошо продуманный набор правил.
- Правила простые и стабильные. Если правило «отмечать любой платёж больше $10 000» закрывает 95% вашей реальной проблемы, вам нужна не модель, а условный оператор.
- Нужно объяснять каждое решение. Некоторые модели могут сказать, почему приняли то или иное решение; многие — нет, по крайней мере в понятной человеку форме. Если регулятору или клиенту нужна реальная причина, это важно.
- Ошибки дорого стоят и их трудно исправить. Модель никогда не бывает права на 100%. Если неверный прогноз в вашем продукте ведёт к реальным финансовым последствиям или угрозе безопасности, нужен человек в контуре принятия решений, а не полная автоматизация.
Как понять, нужно ли оно вам
Честная проверка: сможет ли толковый сотрудник, глядя на те же данные, за полдня сформулировать приличный набор правил? Если да — пишите правила: это быстрее разработать, проще отладить и легче объяснить клиенту, чем модель. Машинное обучение оправдывает свою стоимость, когда закономерности слишком сложны или меняются слишком быстро, чтобы человек успевал за ними вручную, и когда у вас действительно есть исторические данные для обучения.
В Burncode обычно именно с этого разговора всё начинается, ещё до первой строки ИИ-кода: действительно ли задаче нужна модель или лучше подойдёт старая добрая логика, которую дешевле создать и которой проще доверять. Если модель нужна, мы встраиваем её в сам продукт, под конкретное решение, которое она должна принимать, а не прикручиваем универсальную ИИ-функцию только потому, что она значится в роадмапе.