|
|
| Строка 1: |
Строка 1: |
| - | {{well|Статья написана с использованием LLM '''DeepSeek V3''' и проверена участником [[Участник:Artyom Savov|Artyom Savov]] 18:21, 30 июня 2026 (MSD)}} | + | == Промпт 1 == |
| - | {{TOCright}}
| + | {{tip| |
| | + | Напиши вики-статью на русском языке «Методы оптимизации в машинном обучении». Ты специалист в области машинного обучения и вычислительной математики, профессор в ведущем техническом университете и популяризатор науки. Расположи методы оптимизации в порядке исторического развития, нарастания их алгоритмической сложности и вычислительных затрат (от базовых градиентных методов до современных адаптивных оптимизаторов и методов второго порядка). |
| | | | |
| - | '''Методы оптимизации в машинном обучении''' — совокупность алгоритмов, предназначенных для поиска параметров модели, минимизирующих заданную [[Функция потерь|функцию потерь]] (Loss Function). Поскольку современные модели, особенно глубокие [[Нейронная сеть|нейронные сети]], могут содержать миллиарды параметров и обучаются на огромных наборах данных, выбор оптимизатора определяет не только скорость сходимости, но и итоговое качество обобщения.
| + | Для каждого метода приведи примеры практических задач и архитектур нейронных сетей, где он применяется лучше всего. Для каждого метода опиши его главные уязвимости и ограничения (например, застревание в локальных минимумах, проблема затухающих/взрывающихся градиентов, чувствительность к гиперпараметрам). Также укажи, какие модификации и усилия предпринимаются разработчиками и исследователями для преодоления этих ограничений (например, использование инерции, адаптивного шага обучения, регуляризации весов). |
| | | | |
| - | Данный обзор прослеживает эволюцию подходов: от классического детерминированного градиентного спуска до современных адаптивных схем, стохастических квазиньютоновских аппроксимаций и алгоритмов, оптимизирующих геометрию ландшафта потерь.
| + | Целевая аудитория — это студенты и инженеры в области анализа данных и машинного обучения, в том числе начинающие. Статья должна быть информативна и полезна именно им для совершенствования в своей профессии (понимания, какой оптимизатор выбрать для конкретной задачи). Статья должна быть полезна как новичку (понятно даются определения, популярно объясняется математическая интуиция «на пальцах»), так и профессионалу (есть полезные ссылки, приводятся актуальные научные результаты, упоминаются современные оптимизаторы, такие как AdamW, Lion или Sophia). |
| | | | |
| - | == Предварительные сведения и постановка задачи ==
| + | Для вики-энциклопедии по машинному обучению важна связность. Поэтому математические концепции, термины из области машинного обучения, названия алгоритмов и параметров должны быть оформлены как внутренние ссылки, обязательно с англоязычным термином в скобках, например: [[Стохастический градиентный спуск]] (Stochastic Gradient Descent) или [[Скорость обучения]] (Learning Rate). |
| | + | }} |
| | | | |
| - | Пусть параметрическое семейство функций задано вектором весов <tex>\theta \in \mathbb{R}^d</tex>. Качество аппроксимации на обучающей выборке оценивается посредством дифференцируемой функции потерь <tex>L(\theta)</tex>. Задача минимизации формулируется как поиск вектора параметров:
| + | == Промпт 2 == |
| - | ::<tex>\theta^* = \arg\min_{\theta} L(\theta).</tex> | + | {{tip| |
| | + | Обнови текст статьи, точечно интегрировав следующие исправления без нарушения структуры и академического стиля: |
| | | | |
| - | В контексте [[Машинное обучение|машинного обучения]] <tex>L(\theta)</tex> представляет собой [[Эмпирический риск|эмпирический риск]] — усреднение потерь по конечному множеству объектов. Итерационный процесс обновления параметров в большинстве методов первого порядка подчиняется схеме:
| + | Введение: добавь теоретические скорости сходимости и разграничение между выпуклой оптимизацией (глобальный оптимум) и невыпуклой в глубоком обучении (локальный оптимум/обобщающая способность). |
| - | ::<tex>\theta_{t+1} = \theta_t - \eta_t \cdot g_t,</tex> | + | NAG: замени классическую формулу на модифицированную схему Суцкевера (Sutskever et al., 2013), используемую в PyTorch. |
| - | где <tex>\eta_t</tex> — [[Скорость обучения|скорость обучения]] (Learning Rate), а <tex>g_t</tex> — вектор направления, строящийся на основе текущих и ретроспективных значений градиента функции потерь.
| + | Adam: укажи роль увеличения epsilon до 10⁻⁶...10⁻⁵ для стабилизации обучения больших моделей в FP16/BF16. |
| | + | Lion: добавь критическую важность Cosine LR Schedule для подавления осцилляций знакового обновления вокруг оптимума. |
| | + | Квазиньютоновские методы: поясни, что стохастичность мини-батчей ломает уравнение секущих (secant equation) в L-BFGS из-за разной природы шума на шагах k и k+1. Добавь Hessian-Free (Martens, 2010) как исторический мост к K-FAC. |
| | + | Sophia: уточни, что аппроксимируется диагональ матрицы Гаусса-Ньютона (или информации Фишера), что гарантирует неотрицательность знаменателя. |
| | + | }} |
| | | | |
| - | Принципиальное отличие оптимизации в глубоком обучении от классической выпуклой оптимизации заключается в ландшафте целевой функции. В невыпуклых пространствах высокой размерности алгоритм сталкивается со следующими барьерами:
| + | == Промпт 3 == |
| - | * '''Плотность седловых точек и плато:''' В пространствах большой размерности локальные минимумы с высоким значением функции потерь встречаются редко; основной причиной замедления сходимости становятся [[Седловая точка|седловые точки]], окруженные областями с исчезающе малым градиентом.
| + | {{tip| |
| - | * '''Плохая обусловленность ландшафта:''' Образование «оврагов», где кривизна поверхности в разных направлениях различается на несколько порядков, приводит к осцилляциям градиента и замедлению продвижения вдоль дна оврага.
| + | Всё отлично, только добавь небольшой раздел "Оптимизация в минимаксных задачах". Перед таблицой. Объём 3-4 абзаца. Укажи основные методы, включая экстраградиентный и зеркальные спуски. |
| - | * '''Затухание и взрыв градиентов:''' При увеличении глубины архитектур последовательное умножение матриц весов при обратном проходе может приводить к экспоненциальному убыванию или росту нормы градиента.
| + | Сохрани академический вики‑стиль и внутренние ссылки, а так же покажи связь с предыдущими оптимизаторами. |
| - | * '''Дилемма оптимизации и обобщения:''' Минимизация эмпирического риска до нулевых значений на обучающей выборке не гарантирует оптимум на тестовых данных. Главной целью становится поиск широких локальных минимумов, обеспечивающих высокую [[Обобщающая способность|обобщающую способность]] (Generalization).
| + | }} |
| - | | + | |
| - | == Эволюция методов первого порядка == | + | |
| - | | + | |
| - | === От пакетного спуска к стохастическому ===
| + | |
| - | | + | |
| - | Классический пакетный градиентный спуск (Batch Gradient Descent), восходящий к О. Коши (1847), вычислеляет точный градиент по всему объёму обучающей выборки:
| + | |
| - | ::<tex>\theta_{t+1} = \theta_t - \eta \nabla_\theta L(\theta_t).</tex>
| + | |
| - | При росте объёма данных этот подход становится вычислительно невозможным. Решением стал стохастический градиентный спуск (Stochastic Gradient Descent, SGD), предложенный Г. Роббинсом и С. Монро (1951), где точный градиент аппроксимируется градиентом на случайно выбранном подмножестве объектов — [[Мини-батч|мини-батче]]:
| + | |
| - | ::<tex>\theta_{t+1} = \theta_t - \eta \hat{g}_t,</tex>
| + | |
| - | где <tex>\mathbb{E}[\hat{g}_t] = \nabla_\theta L(\theta_t).</tex>
| + | |
| - | | + | |
| - | Размер мини-батча выступает критическим гиперпараметром: уменьшение размера батча вносит стохастический шум в оценку градиента. Этот шум действует как регуляризатор, позволяя алгоритму покидать неглубокие локальные минимумы и седловые точки, смещая траекторию в сторону более широких и устойчивых минимумов.
| + | |
| - | | + | |
| - | === Инерциальные методы (Momentum, NAG) ===
| + | |
| - | | + | |
| - | Для подавления осцилляций в овражистых ландшафтах Б. Т. Поляк (1964) предложил метод тяжелого шарика (Momentum). Алгоритм накапливает историю изменений в векторе скорости <tex>v_t</tex>:
| + | |
| - | ::<tex>v_t = \beta v_{t-1} + \eta \hat{g}_t, \qquad \theta_{t+1} = \theta_t - v_t,</tex>
| + | |
| - | где <tex>\beta \in [0, 1)</tex> задаёт экспоненциальное сглаживание. Инерция суммирует сонаправленные компоненты градиента и взаимно уничтожает противоположно направленные, ускоряя движение по дну оврагов.
| + | |
| - | | + | |
| - | Ю. Е. Нестеров (1983) модифицировал этот подход (Nesterov Accelerated Gradient, NAG), предложив вычислять градиент в «предсказанной» точке <tex>\theta_t - \beta v_{t-1}</tex>. Для глубокого обучения И. Суцкевером (2013) была разработана математически эквивалентная схема, адаптированная под фреймворки автоматического дифференцирования, вычисляющая градиент в текущей точке, но корректирующая шаг за счёт заглядывания вперёд:
| + | |
| - | ::<tex>v_t = \mu v_{t-1} + \hat{g}_t, \qquad \theta_{t+1} = \theta_t - \eta \,(\hat{g}_t + \mu v_t).</tex>
| + | |
| - | | + | |
| - | === Адаптивное масштабирование шага ===
| + | |
| - | | + | |
| - | Потребность в индивидуальной скорости обучения для каждого параметра привела к созданию AdaGrad (Duchi et al., 2011). Метод делит базовую скорость обучения на корень из суммы квадратов прошлых градиентов:
| + | |
| - | ::<tex>\theta_{t+1,i} = \theta_{t,i} - \frac{\eta}{\sqrt{G_{t,ii} + \varepsilon}} \hat{g}_{t,i},</tex>
| + | |
| - | где <tex>G_{t,ii} = \sum_{\tau=1}^t \hat{g}_{\tau,i}^2.</tex>
| + | |
| - | | + | |
| - | AdaGrad эффективен при обработке разреженных признаков (например, в [[Word2Vec]]), однако монотонный рост знаменателя <tex>G_{t,ii}</tex> приводит к преждевременной остановке обучения в глубоких сетях.
| + | |
| - | | + | |
| - | Ограничение было снято в RMSProp (Hinton, 2012) и AdaDelta (Zeiler, 2012) за счёт замены бесконечной суммы экспоненциальным скользящим средним:
| + | |
| - | ::<tex>v_t = \beta_2 v_{t-1} + (1 - \beta_2) \hat{g}_t^2, \qquad \theta_{t+1} = \theta_t - \frac{\eta}{\sqrt{v_t + \varepsilon}} \hat{g}_t.</tex>
| + | |
| - | | + | |
| - | Объединение идеи адаптивного шага RMSProp и инерции Momentum реализовано в оптимизаторе Adam (Kingma & Ba, 2015). Он отслеживает оценки первого (<tex>m_t</tex>) и второго (<tex>v_t</tex>) моментов градиента с коррекцией смещения к нулю на начальных итерациях:
| + | |
| - | ::<tex>\hat{m}_t = \frac{m_t}{1-\beta_1^t}, \qquad \hat{v}_t = \frac{v_t}{1-\beta_2^t}, \qquad \theta_{t+1} = \theta_t - \frac{\eta}{\sqrt{\hat{v}_t} + \varepsilon} \hat{m}_t.</tex>
| + | |
| - | | + | |
| - | === Проблема весового распада в адаптивных методах (AdamW) ===
| + | |
| - | | + | |
| - | И. Лощиков и Ф. Хуттер (2019) обнаружили, что стандартная L2-регуляризация при совместном использовании с Adam работает некорректно. В классическом SGD добавление штрафа <tex>\lambda \theta</tex> к функции потерь эквивалентно математическому вычитанию доли веса (Weight Decay) на каждом шаге. В Adam градиент штрафа масштабируется делителем <tex>\sqrt{\hat{v}_t}</tex>, из-за чего параметры с большими историческими градиентами штрафуются слабее, чем параметры с малыми градиентами. Оптимизатор AdamW изолирует регуляризацию, перенося вычитание веса напрямую в финальное уравнение обновления:
| + | |
| - | ::<tex>\theta_{t+1} = \theta_t - \eta \left( \frac{\hat{m}_t}{\sqrt{\hat{v}_t} + \varepsilon} + \lambda \theta_t \right).</tex>
| + | |
| - | Это исправление стабилизировало предобучение архитектур [[Трансформер (архитектура)|Transformer]] и [[Vision Transformer]] (ViT).
| + | |
| - | | + | |
| - | === Экономичные знаковые методы (Lion) ===
| + | |
| - | | + | |
| - | С целью снижения накладных расходов по памяти при обучении сверхкрупных моделей И. Чен и др. (2023) с помощью символьного AutoML обнаружили оптимизатор Lion (EvoLved Sign Momentum). В отличие от AdamW, Lion хранит только первый момент градиента, а вместо точной величины нормированного шага использует его знак:
| + | |
| - | ::<tex>c_t = \beta_1 m_{t-1} + (1 - \beta_1) \hat{g}_t, \qquad \theta_{t+1} = \theta_t - \eta \cdot \mathrm{sign}(c_t),</tex>
| + | |
| - | ::<tex>m_t = \beta_2 m_{t-1} + (1 - \beta_2) \hat{g}_t.</tex>
| + | |
| - | Фиксированная норма обновления действует как регуляризатор, внося дополнительный шум на этапе стохастической оценки. Метод критичен к выбору расписания обучения: без использования косинусного снижения скорости (Cosine LR Schedule) знаковое обновление склонно к осцилляциям в окрестностях оптимума.
| + | |
| - | | + | |
| - | == Методы второго порядка и аппроксимации кривизны ==
| + | |
| - | | + | |
| - | Использование матрицы вторых производных (гессиана <tex>H</tex>) позволяет учитывать кривизну ландшафта и совершать шаг Ньютона:
| + | |
| - | ::<tex>\theta_{t+1} = \theta_t - H_t^{-1} g_t.</tex>
| + | |
| - | В классической выпуклой оптимизации квазиньютоновский метод L-BFGS (Liu & Nocedal, 1989) аппроксимирует обратный гессиан по истории изменений градиентов, требуя <tex>O(md)</tex> памяти. Однако в глубоком обучении в стохастическом режиме L-BFGS разрушается: шум разности градиентов на последовательных мини-батчах нарушает уравнение секущих (<tex>H_{t+1}s_t = y_t</tex>), делая оценку кривизны нестабильной.
| + | |
| - | | + | |
| - | === Hessian-Free оптимизация ===
| + | |
| - | Мостом к масштабируемым методам второго порядка в нейросетях стал Hessian-Free подход (Martens, 2010). Алгоритм не формирует матрицу <tex>H</tex> явно, а использует численный метод произведения гессиана на вектор (техника Перлмуттера):
| + | |
| - | ::<tex>H v = \left. \frac{\partial}{\partial \alpha} \nabla_\theta L(\theta + \alpha v) \right|_{\alpha=0}.</tex>
| + | |
| - | Это позволяет находить направление шага из квадратичной подзадачи с помощью метода сопряжённых градиентов во внутреннем цикле оптимизации.
| + | |
| - | | + | |
| - | === Структурные аппроксимации (K-FAC, Shampoo) ===
| + | |
| - | Современные методы аппроксимируют кривизну, опираясь на структуру самой сети:
| + | |
| - | * '''K-FAC (Kronecker-factored Approximate Curvature):''' Martens & Grosse (2015) предложили аппроксимировать матрицу Фишера (выступающую как замена гессиана) для каждого слоя в виде Кронекерова произведения двух матриц меньшей размерности, построенных на основе ковариации активаций и градиентов активаций. Это делает операцию обращения вычислительно доступной.
| + | |
| - | * '''Shampoo:''' Gupta et al. (2018) обобщили идеи адаптации на тензорную структуру весов слоёв. Вместо независимого масштабирования каждого параметра Shampoo вычисляет левую и правую матрицы вторых моментов для тензора весов, сохраняя пространственные корреляции между градиентами.
| + | |
| - | | + | |
| - | === Sophia: адаптация второго порядка для языковых моделей ===
| + | |
| - | Разработанный Х. Лю и др. (2024) оптимизатор Sophia решает проблему вычислительной сложности за счёт редкого (раз в <tex>k</tex> шагов) вычисления диагонали матрицы Гаусса-Ньютона (или эмпирической [[Информация Фишера|информационной матрицы Фишера]]). Sophia учитывает локальную кривизну, предотвращая замедление в оврагах, но ограничивает максимальный шаг с помощью операции клиппинга:
| + | |
| - | ::<tex>\theta_{t+1} = \theta_t - \eta \cdot \mathrm{clip}\left( \frac{m_t}{\max(\hat{h}_t, \varepsilon)} , \rho \right),</tex>
| + | |
| - | где <tex>\hat{h}_t</tex> — экспоненциально сглаженная диагональная оценка кривизны.
| + | |
| - | | + | |
| - | == Мета-оптимизация: Lookahead и двухуровневые схемы ==
| + | |
| - | | + | |
| - | Оптимизатор Lookahead (Zhang et al., 2019) предлагает мета-структуру «два шага вперёд, один шаг назад», которая может быть развёрнута над любым базовым оптимизатором (SGD, AdamW). Lookahead синхронизирует два множества весов — «быстрые» (<tex>\theta</tex>) и «медленные» (<tex>\phi</tex>).
| + | |
| - | | + | |
| - | Быстрые веса обновляются базовым оптимизатором на протяжении <tex>k</tex> итераций, после чего медленные веса линейно интерполируются в направлении быстрых, а быстрые веса сбрасываются к новому состоянию:
| + | |
| - | ::<tex>\phi_{t+1} = \phi_t + \alpha (\theta_{t+k} - \phi_t), \qquad \theta_{t+k+1} = \phi_{t+1}.</tex>
| + | |
| - | Такая схема эффективно снижает дисперсию стохастических шагов, стабилизирует траекторию в невыпуклых ландшафтах и ослабляет чувствительность к ручному подбору расписания Learning Rate.
| + | |
| - | | + | |
| - | == Оптимизация с учётом геометрии ландшафта (SAM) ==
| + | |
| - | | + | |
| - | Принципиальным сдвигом в парадигме оптимизации глубоких сетей стало появление метода SAM (Sharpness-Aware Minimization, Foret et al., 2021). Классические методы ищут точку с минимальным значением эмпирического риска, что часто приводит к попаданию в узкие, крутые минимумы, чувствительные к сдвигу распределения на тестовых данных. SAM максимизирует обобщающую способность, решая минимаксную задачу — поиск окрестности параметров, в которой вся область имеет низкое значение потерь:
| + | |
| - | ::<tex>\min_{\theta} L^{\mathrm{SAM}}(\theta) = \min_{\theta} \max_{\|\epsilon\|_2 \le \rho} L(\theta + \epsilon).</tex>
| + | |
| - | | + | |
| - | Для решения этой задачи на каждой итерации SAM выполняет два шага:
| + | |
| - | # '''Поиск худшего возмущения:''' С помощью линейной аппроксимации первого порядка находится вектор <tex>\epsilon^*(\theta)</tex>, максимизирующий локальные потери в пределах сферы радиуса <tex>\rho</tex>:
| + | |
| - | #::<tex>\epsilon^*(\theta) \approx \rho \frac{\nabla_\theta L(\theta)}{\|\nabla_\theta L(\theta)\|_2}.</tex>
| + | |
| - | # '''Градиентный шаг:''' Вычисляется финальный градиент в возмущённой точке, и исходный вектор параметров обновляется:
| + | |
| - | #::<tex>g^{\mathrm{SAM}} = \nabla_\theta L(\theta + \epsilon^*(\theta)), \qquad \theta_{t+1} = \theta_t - \eta g^{\mathrm{SAM}}.</tex>
| + | |
| - | | + | |
| - | SAM удваивает вычислительную стоимость одной итерации (требуется два прохода — прямой и обратный — для вычисления <tex>\nabla_\theta L(\theta)</tex> и <tex>\nabla_\theta L(\theta + \epsilon^*)</tex>), однако гарантирует сходимость к плоским минимумам, что напрямую транслируется в устойчивость к шуму в данных.
| + | |
| - | | + | |
| - | == Оптимизация в минимаксных задачах ==
| + | |
| - | | + | |
| - | В задачах состязательного обучения, таких как [[Генеративно-состязательная сеть|GAN]], целевой ландшафт имеет седловую природу. Алгоритм ищет точку равновесия Нэша — минимум по параметрам генератора <tex>\theta_G</tex> и максимум по параметрам дискриминатора <tex>\theta_D</tex>:
| + | |
| - | ::<tex>\min_{\theta_G} \max_{\theta_D} L(\theta_G, \theta_D).</tex>
| + | |
| - | | + | |
| - | Прямое применение одновременного градиентного спуска-подъёма (Simultaneous GDA) часто приводит к расходимости. Если обозначить объединённый вектор параметров как <tex>\phi = [\theta_G, \theta_D]^\top</tex>, а векторное поле градиентов как <tex>V(\phi) = [\nabla_{\theta_G} L, -\nabla_{\theta_D} L]^\top</tex>, то шаг GDA записывается так:
| + | |
| - | ::<tex>\phi_{t+1} = \phi_t - \eta V(\phi_t).</tex>
| + | |
| - | На седловых поверхностях векторное поле <tex>V</tex> имеет сильную вращательную компоненту, из-за которой траектории GDA экспоненциально раскручиваются наружу (феномен схлопывания моды).
| + | |
| - | | + | |
| - | Для стабилизации динамики применяются специализированные методы, модифицирующие вычисление градиента:
| + | |
| - | | + | |
| - | * '''Экстраградиентный метод (Extragradient, EG):''' Делает промежуточный шаг («заглядывание вперёд») для оценки градиента, после чего выполняет основное обновление из исходной точки. Это компенсирует вращение векторного поля:
| + | |
| - | ::<tex>\phi_{t+1/2} = \phi_t - \eta V(\phi_t), \qquad \phi_{t+1} = \phi_t - \eta V(\phi_{t+1/2}).</tex>
| + | |
| - | | + | |
| - | * '''Оптимистичный шаг (Optimistic GDA / Optimistic Adam):''' Аппроксимирует экстраградиент, используя градиент с предыдущего шага как предсказание. Экономит один прямой проход сети:
| + | |
| - | ::<tex>\phi_{t+1} = \phi_t - \eta \big( 2V(\phi_t) - V(\phi_{t-1}) \big).</tex>
| + | |
| - | | + | |
| - | * '''Разномасштабные шаги (TTUR, Two Time-Scale Update Rules):''' Дискриминатор и генератор обучаются с разными скоростями (<tex>\eta_D > \eta_G</tex>). Это позволяет максимизирующему игроку быстрее адаптироваться к изменениям, стабилизируя минимизацию функции ценности игры:
| + | |
| - | ::<tex>\theta_{G, t+1} = \theta_{G, t} - \eta_G \nabla_{\theta_G} L, \qquad \theta_{D, t+1} = \theta_{D, t} + \eta_D \nabla_{\theta_D} L.</tex>
| + | |
| - | | + | |
| - | Использование стандартных адаптивных методов (Adam, Lion) в минимаксных задачах без этих модификаций усугубляет нестабильность. Накопленный в них момент первого порядка сохраняет устаревшую информацию о вращении, заставляя алгоритм систематически проскакивать седловые точки.
| + | |
| - | | + | |
| - | == Сводная таблица рекомендаций ==
| + | |
| - | | + | |
| - | {| class="wikitable" border="1"
| + | |
| - | |-
| + | |
| - | ! Оптимизатор !! Порядок !! Расход памяти на параметр !! Ключевое свойство !! Основная область применимости
| + | |
| - | |-
| + | |
| - | | '''SGD + Momentum''' || 1-й || <tex>1 \times \theta</tex> || Инерционное сглаживание осцилляций || Классическое компьютерное зрение (ResNet)
| + | |
| - | |-
| + | |
| - | | '''Adam''' || 1-й || <tex>2 \times \theta</tex> || Адаптивный шаг для каждого параметра || Прототипирование, [[Генеративно-состязательная сеть|GAN]]
| + | |
| - | |-
| + | |
| - | | '''AdamW''' || 1-й || <tex>2 \times \theta</tex> || Изолированное затухание весов || Архитектуры [[Трансформер (архитектура)|Transformer]], LLM, диффузионные модели
| + | |
| - | |-
| + | |
| - | | '''Lion''' || 1-й || <tex>1 \times \theta</tex> || Знаковое обновление, экономия памяти || Масштабирование больших моделей (ViT, LLM)
| + | |
| - | |-
| + | |
| - | | '''Lookahead''' || Мета || Зависит от базового || Двухуровневая интерполяция весов || Стабилизация нестабильных процессов обучения
| + | |
| - | |-
| + | |
| - | | '''SAM''' || Ландшафт || <tex>1 \times \theta</tex> (+2x вычисления) || Минимизация кривизны (поиск плоских минимумов) || Борьба с переобучением, робастное обобщение
| + | |
| - | |-
| + | |
| - | | '''K-FAC''' || Аппрокс. 2-й || Слоистые матрицы Фишера || Кронекерова факторизация кривизны || Ускорение сходимости по числу итераций
| + | |
| - | |-
| + | |
| - | | '''Sophia''' || Аппрокс. 2-й || <tex>2 \times \theta</tex> (редкое обновление) || Диагональная оценка матрицы Гаусса-Ньютона || Предобучение больших языковых моделей
| + | |
| - | |}
| + | |
| - | | + | |
| - | == Заключение и перспективы ==
| + | |
| - | | + | |
| - | Эволюция методов оптимизации в машинном обучении следует по пути от простых градиентных спусков к сложным адаптивным и квазиньютоновским алгоритмам, которые одновременно учитывают инерцию, индивидуальную кривизну параметров и ограничения по памяти. Выбор конкретного оптимизатора сегодня — это баланс между скоростью сходимости, качеством обобщения и вычислительным бюджетом. Актуальные исследования сосредоточены на методах, которые извлекают пользу из информации второго порядка (Sophia, Shampoo) или автоматически найденных правил обновления (Lion), а также на теоретическом осмыслении связи оптимизации и обобщения в глубоких сетях.
| + | |
| - | | + | |
| - | == Литература ==
| + | |
| - | | + | |
| - | * Robbins, H., Monro, S. (1951). ''A Stochastic Approximation Method''. Annals of Mathematical Statistics.
| + | |
| - | * Polyak, B.T. (1964). ''Some methods of speeding up the convergence of iteration methods''. USSR Computational Mathematics and Mathematical Physics.
| + | |
| - | * Nesterov, Y. (1983). ''A method of solving a convex programming problem with convergence rate <texO(1/k^2)</tex>''. Soviet Mathematics Doklady.
| + | |
| - | * Sutskever, I., Martens, J., Dahl, G., Hinton, G. (2013). ''On the importance of initialization and momentum in deep learning''. ICML.
| + | |
| - | * Duchi, J., Hazan, E., Singer, Y. (2011). ''Adaptive Subgradient Methods for Online Learning and Stochastic Optimization''. JMLR.
| + | |
| - | * Kingma, D.P., Ba, J. (2015). ''Adam: A Method for Stochastic Optimization''. ICLR.
| + | |
| - | * Loshchilov, I., Hutter, F. (2019). ''Decoupled Weight Decay Regularization''. ICLR.
| + | |
| - | * Chen, X., et al. (2023). ''Symbolic Discovery of Optimization Algorithms''. NeurIPS.
| + | |
| - | * Martens, J. (2010). ''Deep learning via Hessian-free optimization''. ICML.
| + | |
| - | * Martens, J., Grosse, R. (2015). ''Optimizing neural networks with Kronecker-factored approximate curvature''. ICML.
| + | |
| - | * Liu, H., et al. (2024). ''Sophia: A Scalable Stochastic Second-order Optimizer for Language Model Pre-training''. ICLR.
| + | |
| - | * Zhang, M., et al. (2019). ''Lookahead Optimizer: k steps forward, 1 step back''. NeurIPS.
| + | |
| - | * Foret, P., Kleiner, O., Mobahi, H., Neyshabur, B. (2021). ''Sharpness-Aware Minimization for Efficiently Improving Generalization''. ICLR.
| + | |
| - | | + | |
| - | [[Категория:Машинное обучение]]
| + | |
| - | [[Категория:Оптимизация]]
| + | |
| - | [[Категория:Энциклопедия анализа данных]]
| + | |