Результаты обучения

После урока вы сможете:

Главная мысль. Модель — это не «весь искусственный интеллект» и не сам процесс обучения. Это формализованная зависимость с определённой структурой и конкретными настроенными параметрами, которая преобразует входные данные в результат.

1. Модель, алгоритм и данные — три разные вещи

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

Данные, алгоритм обучения и модельОбучающие данныепримеры, признаки, targetX и yАлгоритм обученияоптимизация / поискподбор параметровОбученная модельструктура + параметрыготова к применениюЧто с чем не следует путатьАлгоритм создаёт конкретную модель, используя данные и выбранную процедуру обучения
Рисунок 1. Данные — материал для обучения; алгоритм — процедура поиска; модель — результат, который затем используют.

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

2. Из чего состоит модель

Для описания модели полезно различать архитектуру и параметры. Архитектура задаёт форму вычисления: какие операции выполняются, как связаны блоки и как вход преобразуется в выход. Параметры — числовые значения внутри этой структуры, которые настраиваются в ходе обучения.

Модель машинного обучения (Machine Learning Model) — вычислительная система, задающая зависимость между входными данными и выходом. В обучаемой модели часть её внутренних значений определяется по данным в процессе обучения.

2.1. Пример: линейная модель

Представим задачу прогноза энергопотребления здания по наружной температуре. Для простоты используем один признак — температуру (x). Линейная модель задаёт прогноз ŷ так:

ŷ = w · x + b

Если (w=-35), то в этой учебной модели увеличение температуры на один градус связано с уменьшением прогноза примерно на 35 условных единиц при прочих равных. Это описание найденной зависимости, а не доказательство причинности. Реальное энергопотребление зависит от площади, режима работы, людей, оборудования, отопления и многих других факторов.

Параметры линейной моделиxŷВходной признакw — наклонизменение прогноза при изменении xb — смещениесдвиг линии по вертикалиПараметры модели задают конкретную линию
Рисунок 2. При фиксированной архитектуре изменение w или b меняет конкретную модель. На рисунке линия показана схематично.

2.2. Параметры и гиперпараметры

Параметры (parameters) — внутренние значения, которые алгоритм настраивает по обучающим данным. В линейной модели это w и b; в нейросети — веса и смещения множества нейронных связей.

Гиперпараметры (hyperparameters) — настройки, которые задают до обучения или выбирают отдельной процедурой. Они управляют процессом обучения или сложностью модели, но обычно не являются коэффициентами, которые оптимизируются тем же шагом на каждой итерации.

Параметры и гиперпараметрыПараметры моделиw, b, веса нейросетиобновляются во время обученияопределяют конкретное поведениеГиперпараметрыlearning rate, глубина дерева, batch sizeзадают настройки обучения / структурывыбираются до или вокруг обученияРазные уровни настройкиГраница зависит от семейства моделей и метода оптимизации
Рисунок 3. Различие функциональное: параметры описывают конкретную обученную модель, гиперпараметры управляют тем, как модель строят и обучают.

Например, learning rate (скорость обучения) определяет размер шага при обновлении параметров оптимизатором. Слишком большой шаг может перескакивать через хорошее решение; слишком маленький — замедлять обучение. Глубина дерева решений ограничивает количество последовательных разбиений и тем самым влияет на сложность дерева.

ХарактеристикаПараметрГиперпараметр
Кто задаёт?Обычно алгоритм обученияИсследователь, конфигурация или процедура подбора
ПримерВес w, смещение bLearning rate, max_depth
РольОпределяет конкретное отображение входа в выходВлияет на процедуру обучения или класс допустимых моделей
Когда меняется?В ходе оптимизацииМежду запусками или по отдельному алгоритму подбора

Это полезное общее правило, но не абсолютная онтология: в разных библиотеках и алгоритмах терминология может немного отличаться. Например, некоторые методы автоматически подбирают гиперпараметры во внешнем цикле оптимизации.

3. Архитектура: почему модели бывают разными

Архитектура отвечает на вопрос: каким способом вычисляется выход? Даже если две модели получают одинаковые входные признаки и решают одну задачу, их внутреннее устройство может существенно отличаться.

3.1. Линейная модель

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

3.2. Дерево решений

Дерево последовательно задаёт вопросы о признаках: например, «температура ниже 5 °C?», затем «число людей больше 20?». Ветвление приводит к листу, где хранится прогноз или класс. Дерево можно визуализировать как набор условий, но при большой глубине оно становится громоздким и склонным подстраиваться под шум.

3.3. Нейронная сеть

Нейронная сеть состоит из вычислительных блоков (нейронов или операций), объединённых в слои. Каждый слой преобразует представление данных. Во время обучения настраиваются веса и смещения. Сети могут приближать сложные зависимости, однако их внутреннее устройство обычно труднее анализировать напрямую.

Три семейства моделейЛинейная модельŷ = w·x + bДерево решенийусловия → ветви → листНейронная сетьслои преобразованийОдна задача — разные вычислительные структуры
Рисунок 4. Схемы упрощены и не отражают все детали конкретных реализаций. Важно увидеть различие принципов построения.
СемействоКак устроеноСильная сторонаОграничение
Линейные моделиВзвешенная сумма признаковПростота и прозрачностьОграниченная форма зависимости
Деревья решенийПоследовательность условийНаглядные правилаГлубокие деревья могут переобучаться
Нейронные сетиСлои параметризованных преобразованийСложные нелинейные зависимостиВысокие требования к данным и вычислениям, сложность интерпретации

4. Обучение и применение — разные этапы

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

Inference (инференс, применение обученной модели) — вычисление результата для новых входных данных с использованием уже найденных параметров. В обычном режиме инференса модель не переобучается автоматически на каждом запросе.

Training и InferenceTRAINING · обучениеОбучающиеданныеАлгоритм +оптимизаторНастройка параметровсохранениеINFERENCE · применениеНовыеданныеОбученнаямодельВычисление прогнозаПереобучение или обновление — отдельный управляемый процесс, а не обычный инференс
Рисунок 5. Во время обучения параметры изменяются. Во время стандартного инференса модель использует сохранённые параметры для вычисления результата.

4.1. Что сохраняют после обучения

Часто сохраняют не только веса, но и конфигурацию архитектуры, сведения о preprocessing, словари категорий, нормализаторы, токенизаторы, версии библиотек и метаданные эксперимента. Если забыть нормализатор или порядок признаков, модель может получить на вход данные в ином формате и выдать бессмысленный результат.

Checkpoint — контрольная точка, сохранённое состояние модели или обучения. Serialization — сериализация, то есть преобразование состояния объекта в формат, который можно сохранить и позже восстановить. Конкретный формат зависит от библиотеки и требований безопасности.

5. Модель — не вся AI-система

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

Граница модели внутри AI-системыВходданныеПроверкаpreprocessingМОДЕЛЬпараметры +архитектураПостобработкаправилаРешениепользовательтолько центральный компонент — обученная модельЛоги, мониторинг, обратная связь и контроль качества охватывают весь путь
Рисунок 6. Модель — центральный вычислительный компонент, но сбой может возникнуть на любом участке конвейера.

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

Инженерное правило. Когда AI-система ошибается, не следует автоматически обвинять нейросеть. Проверяйте всю цепочку: входные данные → preprocessing → модель → postprocessing → интерфейс и действие.

6. Практический разбор: три модели для одной задачи

Пусть требуется оценить суточное энергопотребление здания по наружной температуре, числу людей и времени суток. Рассмотрим три варианта.

  1. Линейная регрессия. Получает числовые признаки и вычисляет взвешенную сумму. Её параметры — коэффициенты признаков и смещение.
  2. Дерево решений. Делит пространство признаков на области с помощью последовательных условий. Гиперпараметр max_depth ограничивает глубину дерева.
  3. Небольшая нейронная сеть. Преобразует входной вектор через несколько слоёв. Параметрами выступают веса и смещения, а гиперпараметрами — например, число слоёв, ширина слоёв и learning rate.

Все три модели могут решать одну задачу, но будут по-разному представлять закономерности. Нельзя объявить одну из них лучшей только по названию или сложности. Нужны корректное разделение данных, выбранная метрика, сравнение с базовым решением и проверка на новых примерах — этим займёмся в 1.2.4 · 1.2.6 · 1.4.3 · 1.5.1–1.5.7.

7. Эксперимент: меняем гиперпараметр дерева

Исследовательский вопрос

Как максимальная глубина дерева решений влияет на сложность модели и её способность обобщать?

  1. Возьмите один и тот же набор данных и зафиксируйте способ разделения на обучающую и проверочную части.
  2. Обучите дерево с max_depth = 1, затем 2, 3 и 5.
  3. Для каждого варианта запишите количество уровней и число листьев.
  4. Сравните, как меняются ошибки на обучающей и проверочной выборках.
  5. Не меняйте одновременно глубину, данные и метрику — иначе будет трудно понять причину эффекта.

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

8. Минимальный эксперимент на Python

Ниже пример показывает, как создаётся линейная модель, как её обучают и как применяют. Код использует библиотеку scikit-learn. Он демонстрационный: реальные данные энергопотребления здесь не используются.

import numpy as np
from sklearn.linear_model import LinearRegression

# Температура (один признак) и условное энергопотребление
X = np.array([[-10], [-5], [0], [5], [10], [15]])
y = np.array([2100, 1950, 1780, 1600, 1450, 1280])

# Создаём архитектуру модели и обучаем параметры
model = LinearRegression()
model.fit(X, y)

# Получаем параметры обученной модели
print("Вес:", model.coef_[0])
print("Смещение:", model.intercept_)

# Inference: прогноз для нового значения температуры
new_temperature = np.array([[7]])
prediction = model.predict(new_temperature)
print("Прогноз:", prediction[0])

Разбор кода.

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

9. Ограничения и типичные заблуждения

10. Словарь урока

01МодельModel

Вычислительная зависимость, преобразующая входные данные в результат.

02АрхитектураArchitecture

Структура модели и порядок выполняемых ею операций.

03ПараметрParameter

Внутреннее значение, которое алгоритм настраивает по обучающим данным.

04ГиперпараметрHyperparameter

Настройка структуры модели или процедуры обучения, выбираемая отдельно от обычного обновления параметров.

05ВесWeight

Параметр, определяющий вклад признака или связи в вычисление.

06СмещениеBias

Дополнительный параметр, сдвигающий значение выхода модели.

07ОбучениеTraining

Процесс настройки параметров модели на обучающих данных.

08ИнференсInference

Применение обученной модели к новым входным данным.

09Предварительная обработкаPreprocessing

Преобразование данных до передачи их модели.

10Сдвиг распределенияDistribution shift

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

11Контрольная точкаCheckpoint

Сохранённое состояние модели или процесса обучения.

12ПостобработкаPostprocessing

Преобразование результата модели после вычисления.

11. Самопроверка с проверкой ответов

Вопрос 1

Что является результатом алгоритма обучения?

Вопрос 2

Какие значения обычно относятся к параметрам линейной модели?

Вопрос 3

Меняются ли параметры модели при обычном инференсе?

Вопрос 4

Что может входить в комплект для воспроизводимого применения модели?

Вопрос 5

Верно ли утверждение: «Чем больше нейронная сеть, тем лучше она для любой задачи»?

Вопрос 6

Какие компоненты могут находиться вокруг модели в рабочей AI-системе?

12. Итоги и переход к 1.2.4 · 1.2.6 · 1.4.3 · 1.5.1–1.5.7

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

Следующий вопрос: как проверить, что модель не просто запомнила обучающие примеры, а действительно работает на новых данных? В 1.2.4 · 1.2.6 · 1.4.3 · 1.5.1–1.5.7 мы разберём train/validation/test, baseline, метрики регрессии и классификации, дисбаланс классов и утечку данных.

Источники и дополнительное чтение