Градиентный спуск
Градиентный спуск — итерационный алгоритм оптимизации, на каждом шаге вычисляющий градиент функции потерь по параметрам модели и обновляющий параметры в направлении, противоположном градиенту. Это фундаментальный механизм обучения всех современных нейронных сетей.
Градиентный спуск — численный метод нахождения минимума дифференцируемой функции, в машинном обучении применяемый для минимизации функции потерь L(θ) по параметрам модели θ. На каждом шаге параметры обновляются по правилу θ ← θ − η·∇L(θ), где η (learning rate, скорость обучения) — гиперпараметр, определяющий размер шага. Интуитивно алгоритм работает как спуск с горы в густом тумане: на каждом шаге делается шаг в сторону наибольшего локального уклона вниз.
На практике вместо полного градиентного спуска (по всем примерам выборки сразу) применяется стохастический вариант (SGD) и его версия mini-batch SGD, где градиент вычисляется по случайному подмножеству данных (batch). Это снижает вычислительную стоимость каждого шага и вносит полезный шум, помогающий избежать локальных минимумов. Современные оптимизаторы — Adam, AdaGrad, RMSprop — адаптируют скорость обучения для каждого параметра отдельно, что значительно ускоряет сходимость.
Градиентный спуск лежит в основе обучения всех современных нейронных сетей: алгоритм обратного распространения ошибки (backpropagation) применяет цепное правило дифференцирования для эффективного вычисления градиента по всем параметрам многослойной сети. Без этого механизма обучение LLM с сотнями миллиардов параметров было бы вычислительно неосуществимо.
В 2024–2026 годах исследователи изучают альтернативы и усовершенствования классического градиентного спуска: методы второго порядка (использующие матрицу Гессе), оптимизатор Lion от Google (2023), а также подходы без обратного распространения ошибки для экономии памяти. Тем не менее AdamW и его варианты остаются де-факто стандартом для обучения трансформерных моделей всех масштабов.