Итеративный шаг против градиента функции потерь — базовый алгоритм обучения.
- новые веса после шага
- текущие веса
- скорость обучения: длина шага. Слишком большая — расходимость, слишком малая — вечное обучение
- градиент функции потерь — направление её наискорейшего роста; минус перед ним разворачивает шаг вниз
Ключевые тезисы
- Полный батч даёт точный градиент, но одну итерацию на проход по данным.
- Шаг обучения определяет, сойдётся процесс или разойдётся.
- В невыпуклом ландшафте находит локальный минимум — и этого обычно достаточно.
Подробный разбор
3 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Идея и три способа минимизировать функцию
Перебор, аналитика, численный спуск — и почему в ML выбирают третье.
Обучение модели — это поиск параметров, минимизирующих функцию ошибки. Способов три: перебрать значения (невозможно при ), решить аналитически (не всегда существует) или спускаться численно.
- скорость обучения — длина шага оптимизатора
- веса модели — то, что подбирается при обучении
- номер или количество: индекс шага, число соседей, кластеров или позиций
- функция потерь — то, что минимизируется при обучении
- градиент: вектор частных производных
Аналогия: вы стоите в тумане на склоне и хотите спуститься. Видите только уклон под ногами — идёте в сторону наибольшего спуска, делаете шаг, снова смотрите. Размер шага и есть learning rate.
2Вывод градиента для MSE
Полный расчёт, который лежит в основе обучения линейной регрессии.
- истинное значение целевой переменной
- объект: вектор признаков
- веса модели — то, что подбирается при обучении
- число объектов в выборке
- функция потерь — то, что минимизируется при обучении
- суммирование по всем перечисленным элементам
- транспонирование: строка вместо столбца
- истинное значение целевой переменной
- объект: вектор признаков
- веса модели — то, что подбирается при обучении
- число объектов в выборке
- функция потерь — то, что минимизируется при обучении
- суммирование по всем перечисленным элементам
- частная производная — чувствительность к одному аргументу
- истинное значение целевой переменной
- число объектов в выборке
- функция потерь — то, что минимизируется при обучении
- градиент: вектор частных производных
- транспонирование: строка вместо столбца
Признаки , текущие веса дают предсказание 60 000 при факте 75 000. Ошибка умножается на каждый признак: вес при стаже сдвигается сильнее, если стаж у объекта большой.
3Learning rate: главный гиперпараметр
Три режима поведения и как их распознать по кривой обучения.
| Симптом на кривой потерь | Диагноз | Действие |
|---|---|---|
| падает очень медленно, почти прямая | η слишком мало | увеличить в 3–10 раз |
| падает, потом скачет вокруг уровня | η великовато для финальной стадии | добавить расписание затухания |
| растёт или уходит в NaN | η слишком велико | уменьшить на порядок, добавить warmup |
Практика: запускайте короткий «LR range test» — обучение с экспоненциально растущим шагом. Точка, где потери начинают расти, задаёт верхнюю границу; берут примерно вдесятеро меньше.
Связанные темы
Оптимизаторы · Градиенты и производные
Optimization85%
Оптимизация · ОсновыПоиск параметров, минимизирующих функцию потерь. Свойства задачи — выпуклость, гладкость, обусловленность — определяют, насколько это просто.
Optimizers85%
Оптимизаторы · Глубокое обучениеПравила обновления весов по градиенту: от чистого SGD до адаптивных методов.
SGD85%
Стохастический градиентный спуск · Оптимизация обученияГрадиент оценивается по мини-батчу: быстрее, шумнее и, как оказалось, полезнее для обобщения.
Momentum85%
Момент · Оптимизация обученияНакопление экспоненциального среднего градиентов — движение по инерции сквозь колебания.
Adam85%
Adam · Оптимизация обученияАдаптивный метод: хранит средние градиента и его квадрата, подбирая шаг для каждого параметра.
AdamW85%
AdamW · Оптимизация обученияAdam с корректно отделённым weight decay — регуляризация применяется к весам, а не к градиенту.
RMSProp85%
RMSProp · Оптимизация обученияНормирует шаг на скользящее среднее квадратов градиента, выравнивая масштаб обновлений.
Learning Rate Scheduling85%
Расписание скорости обучения · Оптимизация обученияИзменение шага по ходу обучения: большой в начале для исследования, малый в конце для точной настройки.
Batch size85%
Размер батча · Оптимизация обученияЧисло объектов на одно обновление весов: влияет на скорость, память и качество обобщения.
Calculus80%
Математический анализ · ОсновыПроизводные показывают, как изменится ошибка при малом изменении параметра. Именно это делает возможным градиентное обучение.
Gradient80%
Градиент · Математический справочникВектор частных производных, указывающий направление наибыстрейшего роста функции.
Hessian80%
Гессиан · Математический справочникМатрица вторых производных, описывающая локальную кривизну функции.
Backpropagation80%
Обратное распространение ошибки · Глубокое обучениеЭффективное вычисление градиентов по всем параметрам сети за один обратный проход с помощью правила цепочки.
Numerical Methods80%
Численные методы · ОсновыКомпьютер считает приближённо. Понимание точности float, устойчивости и обусловленности спасает от NaN и «необъяснимых» расхождений.