Что такое обучение моделей: от правил к примерам
Что такое обучение моделей: от правил к примерам
Представьте, что вам поручили написать программу для фильтрации спама в электронной почте. Как бы вы это сделали?
Скорее всего, вы бы начали составлять список правил. Если в письме есть слово «выигрыш» — это спам. Если адрес отправителя состоит из случайных цифр — это спам. Вы пишете код, запускаете программу, и она отлично работает. Но на следующий день спамеры меняют тактику и пишут «в_ы_и_г_р_ы_ш» или «v1agra». Ваша программа пропускает эти письма. Вы добавляете новые правила. Спамеры снова меняют текст.
Вы попадаете в бесконечную гонку, где вам нужно вручную описывать каждое возможное изменение в мире. А теперь представьте, что вам нужно написать программу, которая отличает фотографию кота от фотографии собаки. Как описать кота правилами? «Если есть усы и треугольные уши»? У собак они тоже бывают. Описать форму глаз в пикселях? При малейшем повороте головы пиксели изменятся, и правило сломается.
Именно здесь традиционное программирование заходит в тупик. И именно для решения таких задач было придумано машинное обучение.
Смена парадигмы: как компьютеры научились учиться
В 1959 году исследователь из IBM Артур Самуэль написал программу для игры в шашки. Самуэль не был чемпионом по шашкам и не мог запрограммировать идеальные выигрышные стратегии (правила). Вместо этого он заставил программу играть тысячи партий самой с собой. Программа запоминала, какие позиции на доске чаще приводили к победе, а какие — к поражению. Вскоре она начала обыгрывать своего создателя.

Самуэль понял нечто фундаментальное и ввел термин «машинное обучение» (Machine Learning). Суть этого открытия — в радикальной смене того, как мы ставим задачу компьютеру.
В традиционном программировании мы даем компьютеру Данные (входящее письмо) и Правила (наш код со списком спам-слов). Компьютер применяет правила к данным и выдает Ответ (спам это или нет).
В машинном обучении мы меняем элементы местами. Мы даем компьютеру Данные (тысячи писем) и заранее известные Ответы (мы сами помечаем, какие из них спам, а какие — нормальные). Компьютер анализирует их и сам выводит Правила.
Машинное обучение — это способ решения задач, при котором мы не пишем четкие инструкции для компьютера, а даем ему примеры, из которых он сам извлекает закономерности.
Что такое «Модель» и как она учится?
В мире искусственного интеллекта постоянно звучит слово «модель». Модель ChatGPT, модель для распознавания лиц, модель для прогноза продаж. Что это физически?
Модель — это результат машинного обучения. Это математическая формула или структура, которая «впитала» в себя правила из ваших примеров.
Процесс ее создания можно сравнить с подготовкой студента к экзамену:
- Датасет (учебник и билеты прошлых лет): Вы собираете исторические данные. Например, 10 000 обращений клиентов в техподдержку, где операторы уже проставили категории: «Оплата», «Технический сбой», «Возврат».
- Обучение (зубрежка и поиск логики): Специальный алгоритм анализирует эти тексты. Он замечает: «Ага, если в тексте есть слова карта, списали, деньги, то в 98% случаев это категория Оплата». Алгоритм настраивает свои внутренние параметры, чтобы минимизировать ошибки.
- Готовая модель (студент на экзамене): Обучение закончено. Теперь у вас есть «умный черный ящик». Вы подаете в него совершенно новый текст от клиента, который модель никогда раньше не видела, и она предсказывает категорию, опираясь на выученный опыт.
Давайте посмотрим, как это выглядит изнутри на простейшем примере. Представьте, что алгоритм пытается отделить спам (красные точки) от важных писем (синие точки), анализируя всего два параметра: количество ссылок в письме и количество восклицательных знаков.
В начале обучения модель проводит границу случайно — и ошибается. Но с каждым шагом (эпохой обучения) она корректирует границу так, чтобы как можно точнее разделить красные и синие точки. Эта финальная граница и есть выученное «правило», которое сохранится внутри модели.
От теории к вашей рабочей задаче
Почему этот подход совершил революцию в бизнесе и технологиях? Потому что он позволяет автоматизировать то, что раньше требовало человеческой интуиции.
Вернемся к вашей цели — решить конкретную рабочую задачу. Допустим, вы работаете с отзывами клиентов. Вам нужно быстро понимать, какие отзывы позитивные, а какие требуют срочного вмешательства менеджера.
Писать правила вручную бесполезно: сарказм («Отличная работа, посылка шла всего полгода!») сломает любой поиск по ключевым словам. Но если вы соберете таблицу из 1000 прошлых отзывов и разметите их как «позитив» и «негатив», алгоритм машинного обучения сам уловит тонкие взаимосвязи слов, контекст и даже скрытый сарказм. Обученная модель будет работать круглосуточно, сортируя новые отзывы за миллисекунды.
Вам не нужно быть математиком, чтобы это использовать. Сегодня процесс обучения моделей сильно упростился. В следующей главе мы докажем это на практике: вы своими руками обучите модель компьютерного зрения прямо в браузере, не написав ни единой строчки кода.