Как нейросеть обучается и что меняется внутри модели?

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

Из чего начинается обучение

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

Веса новой сети обычно инициализируют небольшими случайными числами. Первый прогноз поэтому почти случаен. Это нормально: модель ещё не нашла полезных связей.

Как вычисляется ошибка

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

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

Размер шага задаёт скорость обучения. Слишком большой шаг заставляет модель перескакивать через удачные значения, слишком маленький делает обучение медленным. Современные оптимизаторы могут назначать разный темп отдельным параметрам и изменять его по ходу работы.

Что такое партия и эпоха

Большой набор данных редко пропускают через модель целиком за один раз. Его делят на небольшие партии. Сеть рассчитывает ошибку на одной партии, обновляет веса и переходит к следующей. Когда использованы все обучающие примеры, завершается одна эпоха.

Обучение продолжают несколько эпох. В начале качество обычно растёт быстро, затем улучшения замедляются. Число эпох само по себе не является показателем качества: слишком долгое обучение может привести к запоминанию частностей.

Почему обучение проверяют отдельно

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

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

Обучение не равно накоплению фактов

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

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

Что означает ошибка модели

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

Один пример не определяет модель целиком. Данные подают небольшими партиями, а полный проход по набору называют эпохой. Слишком большой шаг обучения способен перескакивать через удачные значения, слишком маленький – требовать лишних вычислений.

Почему нужна отдельная проверочная выборка

Модель может запомнить учебные примеры и плохо работать на новых. Поэтому часть данных не участвует в изменении весов. Если учебная ошибка падает, а проверочная растёт, начинается переобучение. Разделение делают до экспериментов и не подбирают настройки по финальному тесту.

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

Чем обучение большой модели отличается от настройки

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

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

Обучение не заканчивается одной метрикой

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

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