моя контактная информация
Почтамезофия@protonmail.com
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Стохастическая оптимизация является жизненно важным компонентом машинного обучения, и в ее основе лежит алгоритм стохастического градиентного спуска (SGD), метод, который широко используется с момента его первого предложения более 60 лет назад. За последние восемь лет мы стали свидетелями новой интересной разработки: методов уменьшения дисперсии для методов стохастической оптимизации. Эти методы уменьшения дисперсии (методы VR) хорошо работают в сценариях, которые допускают несколько итераций обучающих данных, демонстрируя более быструю сходимость, чем SGD, как в теории, так и на практике. Такое увеличение скорости подчеркивает растущий интерес к методам виртуальной реальности и быстрое накопление результатов исследований в этой области. В этой статье рассматриваются ключевые принципы и основные достижения в методах VR для оптимизации ограниченных наборов данных с целью информирования читателей, не являющихся экспертами. Мы фокусируемся в первую очередь на средах выпуклой оптимизации и предоставляем справочную информацию для читателей, интересующихся расширениями минимизации невыпуклых функций.
Ключевые слова Оптимизация машинного обучения;
В области исследований машинного обучения основной и важный вопрос заключается в том, как адаптировать модели к огромным наборам данных. Например, мы можем рассмотреть типичный случай линейной модели наименьших квадратов:
x ∗ ∈ arg min x ∈ R d 1 n ∑ i = 1 n ( ai T x − bi ) 2 x^* в argmin_{x в mathbb{R}^d} frac{1}{n} sum_{i=1}^{n} (a_i^T x - b_i)^2Икс∗∈аргИкс∈ргминн1я=1∑н(аяТИкс−бя)2
В этой модели мы имеем ддг параметры, которые представлены векторами x ∈ R dx в mathbb{R}^dИкс∈рг данный.А пока у нас есть под рукой ннн точки данных, включая векторы признаков ai ∈ R d a_i в mathbb{R}^dая∈рг и целевое значение bi ∈ R b_i в mathbb{R}бя∈р .Процесс адаптации модели заключается в корректировке этих параметров таким образом, чтобы прогнозируемый результат модели ай Т х а_й^Т хаяТИкс в среднем как можно ближе к целевому значению би б_ибя。
В более широком смысле мы могли бы использовать функцию потерь фи ( х ) f_i(x)фя(Икс) Чтобы измерить предсказания модели и iiя Насколько близки точки данных:
x ∗ ∈ arg min x ∈ R df ( x ) : = 1 n ∑ i = 1 nfi ( x ) x^* в argmin_{x в mathbb{R}^d} f(x) := frac{1}{n} sum_{i=1}^{n} f_i(x)Икс∗∈аргИкс∈ргминф(Икс):=н1я=1∑нфя(Икс)
функция потерь фи ( х ) f_i(x)фя(Икс) Если оно больше, это означает, что прогнозы модели сильно отклоняются от данных; фи ( х ) f_i(x)фя(Икс) Модель, равная нулю, идеально соответствует точкам данных.функция ф ( х ) ф(х)ф(Икс) Отражает средние потери модели по всему набору данных.
Проблемы, подобные форме (2), приведенной выше, применимы не только к линейным задачам наименьших квадратов, но и ко многим другим моделям, изучаемым в машинном обучении. Например, в модели логистической регрессии мы решаем:
x ∗ ∈ arg min x ∈ R d 1 n ∑ i = 1 n log ( 1 + e − biai T x ) + λ 2 ∥ x ∥ 2 2 x^* в argmin_{x в mathbb{R}^d} frac{1}{n} sum_{i=1}^{n} log(1 + e^{-b_i a_i^T x}) + frac{lambda}{2} |x|_2^2Икс∗∈аргИкс∈ргминн1я=1∑нвотг(1+е−бяаяТИкс)+2λ∥Икс∥22
Здесь мы имеем дело с bi ∈ { − 1 , + 1 } b_i в {-1, +1}бя∈{−1,+1} Для задачи бинарной классификации прогноз основан на ай Т х а_й^Т хаяТИкс символы.В формулу также введен регуляризационный член λ 2 ∥ x ∥ 2 2 frac{lambda}{2} |x|_2^22λ∥Икс∥22 чтобы избежать переобучения данных, где ∥ х ∥ 2 2 |х|_2^2∥Икс∥22 выражать ххИкс Квадрат евклидовой нормы .
В большинстве моделей обучения с учителем процесс обучения может быть выражен в виде (2), включая регуляризованный метод наименьших квадратов L1, машину опорных векторов (SVM), анализ главных компонентов, условные случайные поля и глубокие нейронные сети и т. д.
Ключевой проблемой в современных примерах проблем является количество точек данных. ннн Наверное, очень большой. Мы часто имеем дело с наборами данных, размер которых выходит далеко за пределы терабайта и которые могут поступать из самых разных источников, таких как Интернет, спутники, удаленные датчики, финансовые рынки и научные эксперименты. Для работы с такими большими наборами данных обычно используют алгоритм стохастического градиентного спуска (SGD), который использует лишь небольшое количество случайно выбранных точек данных на каждой итерации. Кроме того, в последнее время резко возрос интерес к методам стохастического градиента уменьшения дисперсии (VR), которые имеют более высокую скорость сходимости, чем традиционные методы стохастического градиента.
Рисунок 1. В задаче логистической регрессии, основанной на грибовидном наборе данных [7], градиентном спуске (GD), ускоренном градиентном спуске (AGD, ускоренном GD в [50]), стохастическом градиентном спуске (SGD) и методе ADAM [30] по сравнению с методами уменьшения дисперсии (VR) SAG и SVRG, где n = 8124, d = 112.
Градиентный спуск (GD) — это классический алгоритм, используемый для решения вышеуказанной проблемы (2), и его формула итеративного обновления выглядит следующим образом:
xk + 1 = xk − γ 1 n ∑ i = 1 n ∇ fi ( xk ) x_{k+1} = x_k - гамма-дробность{1}{n} сумма_{i=1}^{n} набла f_i(x_k)Икск+1=Икск−γн1я=1∑н∇фя(Икск)
здесь, γ гаммаγ — фиксированное значение шага, большее нуля.Во время каждой итерации алгоритма GD каждая точка данных должна быть iiя Рассчитать градиент ∇ fi ( xk ) набла f_i(x_k)∇фя(Икск), а это значит, что GD требует всех ннн выполнить полный обход точек данных.Когда размер набора данных ннн Когда он становится очень большим, стоимость каждой итерации алгоритма GD становится очень высокой, что ограничивает его применение.
В качестве альтернативы можно рассмотреть метод стохастического градиентного спуска (SGD), который впервые был предложен Роббинсом и Монро, и его формула итеративного обновления выглядит следующим образом:
xk + 1 = xk − γ ∇ fik ( xk ) x_{k+1} = x_k - гамма набла f_{i_k}(x_k)Икск+1=Икск−γ∇фяк(Икск)
Алгоритм SGD работает, используя только градиент одной случайно выбранной точки данных на каждой итерации. ∇ фик ( xk ) набла f_{i_k}(x_k)∇фяк(Икск) снизить стоимость каждой итерации. На рисунке 1 мы видим, что SGD достигает более значительного прогресса, чем GD (включая ускоренные методы GD) на ранних этапах процесса оптимизации.На графике показан ход оптимизации с точки зрения эпох, которые определяются как расчет всех ннн Количество градиентов для обучающих выборок. Алгоритм GD выполняет одну итерацию в каждом раунде, а алгоритм SGD выполняет одну итерацию в каждом раунде. ннн итерации.Мы используем раунды в качестве основы для сравнения SGD и GD, поскольку по предположению ннн В очень больших случаях основная стоимость обоих методов сосредоточена в градиенте. ∇ fi ( xk ) набла f_i(x_k)∇фя(Икск) расчет.
Рассмотрим случайную индексацию ик и_кяк из коллекции { 1 , … , n } {1, лточки, n}{1,…,н} В случае равномерного случайного отбора это означает, что для всех iiя,выбирать ик = я i_k = яяк=я Вероятность P [ ik = i ] P[i_k = i]п[як=я] равный 1 н фрак{1}{н}н1 . в этом случае, ∇ фик ( xk ) набла f_{i_k}(x_k)∇фяк(Икск) как ∇ f ( xk ) набла f(x_k)∇ф(Икск) Оценка является несмещенной, поскольку по определению ожидания мы имеем:
E [ ∇ fik ( xk ) ∣ xk ] = 1 n ∑ i = 1 n ∇ fi ( xk ) = ∇ f ( xk ) ( 6 ) E[набла f_{i_k}(x_k) | x_k] = frac{1}{n} sum_{i=1}^{n} набла f_i(x_k) = набла f(x_k) quad (6)Э[∇фяк(Икск)∣Икск]=н1я=1∑н∇фя(Икск)=∇ф(Икск)(6)
Хотя метод SGD (стохастический градиентный спуск) не гарантирует работоспособность функции на каждой итерации ффф Значение будет уменьшаться, но в среднем оно движется к отрицательному полному градиенту, который представляет собой направление вниз.
Однако наличия несмещенной оценки градиента недостаточно для обеспечения сходимости итераций SGD. Чтобы проиллюстрировать этот момент, на рисунке 2 (слева) показана итеративная траектория SGD при применении функции логистической регрессии с использованием постоянного размера шага к набору данных из четырех категорий, предоставленному LIBSVM [7].Концентрические эллипсы на рисунке представляют контуры функции, то есть значение функции f ( x ) = cf(x) = cф(Икс)=с соответствующая точка ххИкс собирать, копийс — это определенная константа в наборе действительных чисел.разные постоянные значения копийс Соответствует различным эллипсам.
Итерационная траектория SGD не сходится к оптимальному решению (обозначен на рисунке зеленой звездочкой), а формирует облако точек вокруг оптимального решения. Напротив, на рисунке 2 мы показываем итерационную траекторию метода уменьшения дисперсии (VR), стохастического среднего градиента (SAG), с использованием того же постоянного размера шага, который мы представим позже. Причина, по которой SGD не сходится в этом примере, заключается в том, что сам стохастический градиент не сходится к нулю, и, следовательно, метод SGD с постоянным шагом (5) никогда не останавливается.Это резко контрастирует с методами градиентного спуска (GD), которые, естественно, прекращаются при хк х_кИкск Подходы х ∗ х^*Икс∗,градиент ∇ f ( xk ) набла f(x_k)∇ф(Икск) будет стремиться к нулю.
Рисунок 2. Графики набора уровней для двумерной логистической регрессии с использованием итеративных методов SGD (слева) и SAG (справа) с фиксированным шагом. Зеленая звездочка обозначает xразвязать.
обработка из-за ∇ fi ( xk ) набла f_i(x_k)∇фя(Икск) Существует несколько классических методов решения проблем несходимости, вызванных дисперсией значений.Например, Роббинс и Монро [64] используют серию убывающих ступеней. γ k гамма_kγк решить проблему дисперсии, гарантируя, что произведение γ k ∇ fik ( xk ) gamma_k набла f_{i_k}(x_k)γк∇фяк(Икск) может сходиться к нулю. Однако корректировка этой последовательности уменьшающихся шагов во избежание слишком ранней или слишком поздней остановки алгоритма является сложной проблемой.
Другой классический метод уменьшения дисперсии — использование нескольких ∇ fi ( xk ) набла f_i(x_k)∇фя(Икск) среднее значение для получения полного градиента ∇ f ( x ) набла f(x)∇ф(Икс) более точная оценка. Этот подход называется мини-пакетом и особенно полезен, когда несколько градиентов можно оценивать параллельно. Это приводит к повторению формы:
xk + 1 = xk − γ 1 ∣ B k ∣ ∑ i ∈ B k ∇ fi ( xk ) ( 7 ) x_{k+1} = x_k - гамма-дробность{1}{|B_k|} сумма_{i в B_k} набла f_i(x_k) четверка (7)Икск+1=Икск−γ∣Бк∣1я∈Бк∑∇фя(Икск)(7)
в Б к Б_кБк представляет собой случайный набор индексов, ∣ Б к ∣ |Б_к|∣Бк∣ выражать Б к Б_кБк размер.если Б к Б_кБк При равномерной выборке с заменой дисперсия этой оценки градиента связана с «размером партии». ∣ Б к ∣ |Б_к|∣Бк∣ обратно пропорциональна, поэтому дисперсию можно уменьшить, увеличив размер партии.
Однако стоимость таких итераций пропорциональна размеру пакета, поэтому такая форма уменьшения дисперсии достигается за счет увеличения вычислительных затрат.
Другая распространенная стратегия уменьшения дисперсии и улучшения эмпирических показателей SGD — добавление «импульса», дополнительного термина, основанного на направлении, использованном на прошлых этапах. В частности, форма SGD с импульсом выглядит следующим образом:
xk + 1 = xk − γ mk ( 9 ) x_{k+1} = x_k - гамма m_k квад (9)Икск+1=Икск−γмк(9)
где параметр импульса β бетаβ Расположен в диапазоне (0, 1).Если начальный импульс м 0 = 0 м_0 = 0м0=0, и разложим в (8) тк м_кмк Для обновлений мы получаем тк м_кмк представляет собой средневзвешенное значение предыдущих градиентов:
mk = ∑ t = 0 k β k − t ∇ fit ( xt ) ( 10 ) m_k = sum_{t=0}^{k} beta^{kt} nabla f_{i_t}(x_t) quad (10)мк=т=0∑кβк−т∇фят(Икст)(10)
поэтому, тк м_кмк представляет собой взвешенную сумму стохастических градиентов.потому что ∑ t = 0 k β k − t = 1 − β k + 1 1 − β сумма_{t=0}^{k} бета^{kt} = дробь{1 - бета^{k+1}}{1 - бета}∑т=0кβк−т=1−β1−βк+1, мы можем конвертировать 1 − β 1 − β кмк фрак{1 - бета}{1 - бета^k} м_к1−βк1−βмк Рассматривается как средневзвешенное значение стохастических градиентов.Если мы сравним это с выражением для полного градиента ∇ f ( xk ) = 1 n ∑ i = 1 n ∇ fi ( xk ) набла f(x_k) = frac{1}{n} sum_{i=1}^{n} набла f_i(x_k)∇ф(Икск)=н1∑я=1н∇фя(Икск) Для сравнения мы можем 1 − β 1 − β кмк фрак{1 - бета}{1 - бета^k} м_к1−βк1−βмк(а также тк м_кмк ) интерпретируется как оценка полного градиента. Хотя эта взвешенная сумма уменьшает дисперсию, она также поднимает ключевые проблемы.Поскольку взвешенная сумма (10) придает больший вес недавно выбранным градиентам, она не будет сходиться к полному градиенту. ∇ f ( xk ) набла f(x_k)∇ф(Икск) , последнее представляет собой простое среднее. Первый метод уменьшения дисперсии, который мы увидим в разделе II-A, решает эту проблему, используя простое среднее вместо любого взвешенного среднего.
В отличие от классических методов, они напрямую используют один или несколько ∇ fi ( xk ) набла f_i(x_k)∇фя(Икск) как ∇ f ( xk ) набла f(x_k)∇ф(Икск) В качестве приближения современные методы уменьшения дисперсии (VR) используют другую стратегию.Эти методы используют ∇ fi ( xk ) набла f_i(x_k)∇фя(Икск) обновить оценку градиента гк г_кгк, цель которого – сделать гк г_кгк подход ∇ f ( xk ) набла f(x_k)∇ф(Икск) .В частности, мы надеемся гк г_кгк способен удовлетворить gk ≈ ∇ f ( xk ) g_k приблизительно набла f(x_k)гк≈∇ф(Икск) . На основе таких оценок градиента мы затем выполняем приблизительный шаг градиента в форме:
xk + 1 = xk − γ gk ( 11 ) x_{k+1} = x_k - гамма g_k квад (11)Икск+1=Икск−γгк(11)
здесь γ > 0 гамма > 0γ>0 — параметр размера шага.
Чтобы гарантировать использование постоянного размера шага γ гаммаγ Когда итерация (11) может сойтись, нам нужно убедиться, что оценка градиента гк г_кгк Дисперсия стремится к нулю. Математически это можно выразить так:
E [ ∥ gk − ∇ f ( xk ) ∥ 2 ] → 0 при k → ∞ ( 12 ) Eleft[ | g_k - nabla f(x_k) |^2 right] rightarrow 0 quad text{as } k rightarrow infty quad (12)Э[∥гк−∇ф(Икск)∥2]→0какк→∞(12)
ожидания здесь ЭЭЭ основан на алгоритме с точностью до ккк Все случайные величины рассчитываются для итераций. Свойство (12) обеспечивает возможность остановки метода VR при достижении оптимального решения. Мы считаем это свойство отличительной чертой подхода виртуальной реальности и поэтому называем его свойством виртуальной реальности. Стоит отметить, что выражение «приведенная» дисперсия может ввести в заблуждение, поскольку на самом деле дисперсия стремится к нулю. Свойство (12) является ключевым фактором, позволяющим методам VR достигать более быстрой сходимости в теории (при соответствующих предположениях) и на практике (как показано на рисунке 1).
Простой метод улучшения может заставить рекурсивную формулу SGD (5) достичь сходимости без уменьшения размера шага, то есть перевода каждого градиента. Конкретный метод заключается в вычитании. ∇ fi ( x ∗ ) набла f_i(x^*)∇фя(Икс∗), этот метод определяется следующим образом:
xk + 1 = xk − γ ( ∇ fik ( xk ) − ∇ fik ( x ∗ ) ) ( 13 ) x_{k+1} = x_k - гамма (набла f_{i_k}(x_k) - набла f_{i_k}(x^*)) четверка (13)Икск+1=Икск−γ(∇фяк(Икск)−∇фяк(Икс∗))(13)
Этот метод называется SGD² [22].Хотя мы обычно не можем знать наверняка каждый ∇ fi ( x ∗ ) набла f_i(x^*)∇фя(Икс∗) , но SGD², как пример, может хорошо проиллюстрировать основные характеристики метода уменьшения дисперсии.Более того, многие методы уменьшения дисперсии можно рассматривать как приблизительную форму метода SGD². Эти методы не полагаются на известные данные; ∇ fi ( x ∗ ) набла f_i(x^*)∇фя(Икс∗), но вместо этого используйте метод, который может аппроксимировать ∇ fi ( x ∗ ) набла f_i(x^*)∇фя(Икс∗) расчетная стоимость.
Стоит отметить, что SGD² использует несмещенную оценку полного градиента.потому что ∇ f ( x ∗ ) = 0 набла f(x^*) = 0∇ф(Икс∗)=0,Ф:
E [ ∇ fik ( xk ) − ∇ fik ( x ∗ ) ] = ∇ f ( xk ) − ∇ f ( x ∗ ) = ∇ f ( xk ) E[набла f_{i_k}(x_k) - набла f_{i_k}(x^*)] = набла f(x_k) - набла f(x^*) = набла f(x_k)Э[∇фяк(Икск)−∇фяк(Икс∗)]=∇ф(Икск)−∇ф(Икс∗)=∇ф(Икск)
Кроме того, когда SGD² достигнет оптимального решения, он, естественно, остановится, поскольку для любого iiя,иметь:
( ∇ fi ( x ) − ∇ fi ( x ∗ ) ) ∣ x = x ∗ = 0 (набла f_i(x) - набла f_i(x^*)) bigg|_{x=x^*} = 0(∇фя(Икс)−∇фя(Икс∗))
Икс=Икс∗=0
При дальнейшем наблюдении с хк х_кИкск около х ∗ х^*Икс∗(для последовательных ∇ фи набла ф_и∇фя), SGD² удовлетворяет свойству уменьшения дисперсии (12), потому что:
E [ ∥ gk − ∇ f ( xk ) ∥ 2 ] = E [ ∥ ∇ fik ( xk ) − ∇ fik ( x ∗ ) − ∇ f ( xk ) ∥ 2 ] ≤ E [ ∥ ∇ fik ( xk ) − ∇ fik ( x ∗ ) ∥ 2 ] Увеличить[ | g_k - набла f(x_k) |^2 вправо] = \Eвлево[ | набла f_{i_k}(x_k) - набла f_{i_k}(x^*) - набла f(x_k) |^2 вправо] leq Eleft[ | набла f_{i_k}(x_k) - набла f_{i_k}(x^*) |^2 вправо]Э[∥гк−∇ф(Икск)∥2]=Э[∥∇фяк(Икск)−∇фяк(Икс∗)−∇ф(Икск)∥2]≤Э[∥∇фяк(Икск)−∇фяк(Икс∗)∥2]
Здесь воспользуемся леммой 2, пусть X = ∇ fik ( xk ) − ∇ fik ( x ∗ ) X = набла f_{i_k}(x_k) - набла f_{i_k}(x^*)Икс=∇фяк(Икск)−∇фяк(Икс∗), и воспользовался E [ ∇ fik ( xk ) − ∇ fik ( x ∗ ) ] = ∇ f ( xk ) E[набла f_{i_k}(x_k) - набла f_{i_k}(x^*)] = набла f(x_k)Э[∇фяк(Икск)−∇фяк(Икс∗)]=∇ф(Икск) природа. Это свойство указывает на то, что SGD² имеет более высокую скорость сходимости, чем традиционные методы SGD, которые мы подробно описали в Приложении B.
В этом разделе мы представим два стандартных предположения, используемые для анализа метода уменьшения дисперсии (VR), и обсудим эффект ускорения, которого можно достичь при этих предположениях по сравнению с традиционным методом SGD. Во-первых, мы предполагаем, что градиент обладает липшицевой непрерывностью, а это означает, что скорость изменения градиента конечна.
Предположим, что функция фффявляется дифференцируемым и ЛЛЛ- гладко, для всех ххИкс и ггу и кто-то 0 < L < ∞ 0 < L < бесконечность0<Л<∞,Следующие условия:
∥ ∇ f ( x ) − ∇ f ( y ) ∥ ≤ L ∥ x − y ∥ ( 14 ) | набла f(x) - набла f(y)| leq L|x - y| quad (14)∥∇ф(Икс)−∇ф(у)∥≤Л∥Икс−у∥(14)
Это означает, что каждый fi : R d → R fi: mathbb{R}^d правая стрелка mathbb{R}фя:рг→р является дифференцируемым, Л и Л_иЛя- гладкая, определяем L макс L_{text{макс}}ЛМакс для макс { L 1 , . . . , L n } макс{L_1, . . . , Л_н}Макс{Л1,...,Лн}。
Хотя обычно это предположение считается слабым, в последующих главах мы обсудим методы виртуальной реальности, подходящие для решения негладких задач. Для дважды дифференцируемой одномерной функции ЛЛЛ- Гладкость можно интуитивно понимать как: это эквивалентно предположению, что вторая производная равна ЛЛЛ верхний предел, то есть ∣ f ′ ′ ( x ) ∣ ≤ L |f''(x)| leq L∣ф′′(Икс)∣≤Л для всех x ∈ R dx в mathbb{R}^dИкс∈рг .Для дважды дифференцируемых функций многих переменных это эквивалентно предположению матрицы Гессе ∇ 2 f ( x ) набла^2 f(x)∇2ф(Икс) Единственное значение ЛЛЛ верхний предел.
Вторая гипотеза, которую мы рассматриваем, заключается в том, что функция (f) μ мюμ-сильно выпуклый, что означает, что для определенного μ > 0 мю > 0μ>0, функция x ↦ f ( x ) − μ 2 ∥ x ∥ 2 x отображается в f(x) - frac{mu}{2}|x|^2Икс↦ф(Икс)−2μ∥Икс∥2 Он выпуклый.Более того, для каждого я = 1 , . . . , ni = 1, . . . , ня=1,...,н, fi : R d → R fi: mathbb{R}^d правая стрелка mathbb{R}фя:рг→р Он выпуклый.
Это сильное предположение.В задаче наименьших квадратов каждая (fi$ выпукла, но общая функция (f) находится только в матрице плана А : = [ а 1 , . . . , а н ] А := [а_1, . . . , а_н]А:=[а1,...,ан] Он сильно выпуклый только в том случае, если имеет совершенный ранг строки. Задача регуляризованной логистической регрессии L2 удовлетворяет этому предположению из-за существования члена регуляризации, где μ ≥ λ mu geq лямбдаμ≥λ。
Важным классом задач, удовлетворяющих этим предположениям, являются задачи оптимизации вида:
x ∗ ∈ arg min x ∈ R df ( x ) = 1 n ∑ i = 1 n ℓ i ( ai T x ) + λ 2 ∥ x ∥ 2 ( 15 ) x^* в argmin_{x в mathbb{R}^d} f(x) = frac{1}{n} sum_{i=1}^{n} ell_i(a_i^Tx) + frac{lambda}{2}|x|^2 quad (15)Икс∗∈аргИкс∈ргминф(Икс)=н1я=1∑нℓя(аяТИкс)+2λ∥Икс∥2(15)
где каждая функция «потери» ℓ i : R → R ell_i: mathbb{R} стрелка вправо mathbb{R}ℓя:р→р дважды дифференцируема, а ее вторая производная ℓ я ′ ′ ell_i''ℓя′′ ограничено 0 и некоторой верхней границей МММ между. Сюда входят различные функции потерь с регуляризацией L2 в машинном обучении, такие как метод наименьших квадратов, логистическая регрессия, пробит-регрессия, робастная регрессия Хубера и т. д.В этом случае для всех iiя,У нас есть L i ≤ M ∥ ai ∥ 2 + λ L_i leq M|a_i|^2 + лямбдаЛя≤М∥ая∥2+λ и μ ≥ λ mu geq лямбдаμ≥λ。
В этих предположениях скорость сходимости метода градиентного спуска (ГР) определяется числом обусловленности κ : = L / μ каппа := L/мюκ:=Л/μ Решать. Число обусловленности всегда больше или равно 1, а когда оно значительно больше 1, контуры функции становятся очень эллиптическими, что приводит к колебаниям итераций метода GD.Напротив, когда κ каппаκ Когда оно близко к 1, метод GD сходится быстрее.
При предположениях 1 и 2 метод VR сходится с линейной скоростью.Мы говорим, что значение функции случайного метода ({f(x_k)}) определяется выражением 0 < ρ ≤ 1 0 < ро leq 10<ρ≤1 Скорость линейной сходимости (ожидаемая), если существует константа С > 0 С > 0С>0 Делает:
E [ f ( xk ) ] − f ( x ∗ ) ≤ ( 1 − ρ ) k C = O ( exp ( − k ρ ) ) ∀ k ( 16 ) E[f(x_k)] - f(x^*) leq (1 - rho)^k C = O(exp(-krho)) quad forall k quad (16)Э[ф(Икск)]−ф(Икс∗)≤(1−ρ)кС=О(эксп(−кρ))∀к(16)
В этом отличие от классических методов SGD, которые полагаются только на несмещенные оценки градиента на каждой итерации, которые получают сублинейные скорости только при этих предположениях:
E [ f ( xk ) ] − f ( x ∗ ) ≤ O ( 1 / k ) E[f(x_k)] - f(x^*) leq O(1/k)Э[ф(Икск)]−ф(Икс∗)≤О(1/к)
Минимум, удовлетворяющий этому неравенству ккк Это называется итеративной сложностью алгоритма. Ниже приведены итерационная сложность и стоимость одной итерации для базовых вариантов методов GD, SGD и VR:
алгоритм | Количество итераций | стоимость итерации |
---|---|---|
ГД | O ( κ log ( 1 / ϵ ) ) O(каппа log(1/эпсилон))О(κвотг(1/ϵ)) | О ( н ) О(н)О(н) |
сингапурский доллар | O ( κ макс макс ( 1 / ϵ ) ) O(kappa_{text{max}} макс(1/эпсилон))О(κМаксМакс(1/ϵ)) | О ( 1 ) О(1)О(1) |
ВР | O ( ( κ max + n ) log ( 1 / ϵ ) ) O((kappa_{text{max}} + n) log(1/epsilon))О((κМакс+н)вотг(1/ϵ)) | О ( 1 ) О(1)О(1) |
Общее время работы алгоритма определяется произведением сложности итерации и времени ее выполнения.используется здесь κ макс : = макс i L i / μ каппа_{текст{макс}} := макс_i L_i/мюκМакс:=МаксяЛя/μ .Уведомление κ макс ≥ κ каппа_{text{макс}} гэк каппаκМакс≥κ; Следовательно, сложность итерации GD меньше, чем у метода VR;
Однако, поскольку стоимость одной итерации GD равна стоимости метода VR ннн раз, метод VR превосходит по общему времени работы.
Преимущество классических методов SGD в том, что время их работы и скорость сходимости не зависят от ннн, но у него есть толерантность ϵ эпсилонϵ Зависимость гораздо хуже, что объясняет плохую работу SGD при малом допуске.
В Приложении B мы приводим простое доказательство того, что метод SGD² имеет ту же итерационную сложность, что и метод VR.
Разработка методов уменьшения дисперсии (VR) прошла несколько этапов, и первая партия методов привела к значительному улучшению скорости сходимости. Началом этой серии методов является алгоритм SAG. Впоследствии один за другим появились алгоритм стохастического подъема двойной координаты (SDCA), алгоритм MISO, алгоритм уменьшения стохастического градиента (SVRG/S2GD) и алгоритм SAGA (что означает «улучшенный» SAG).
В этой главе мы подробно опишем эти новаторские методы виртуальной реальности. В главе 4 мы рассмотрим некоторые новые методы, которые демонстрируют превосходные характеристики по сравнению с этими базовыми методами в конкретных сценариях применения.
Наше исследование первого метода уменьшения дисперсии (VR) начинается с имитации полной градиентной структуры.Поскольку полный градиент ∇ f ( x ) набла f(x)∇ф(Икс) это все ∇ fi ( x ) набла f_i(x)∇фя(Икс) Простое среднее градиентов, затем наша оценка полного градиента гк г_кгк Это также должно быть среднее значение этих оценок градиента. Эта идея породила наш первый метод VR: метод стохастического среднего градиента (SAG).
Метод SAG [37], [65] представляет собой рандомизированную версию метода раннего инкрементного агрегированного градиента (IAG) [4]. Основная идея SAG заключается в том, что для каждой точки данных iiя поддерживать оценку vik ≈ ∇ fi ( xk ) v_{ik} приблизительно набла f_i(x_k)вик≈∇фя(Икск) .Затем используйте эти вик в_{ик}вик В качестве оценки полного градиента используется среднее значение, то есть:
g ˉ k = 1 n ∑ j = 1 nvjk ≈ 1 n ∑ j = 1 n ∇ fj ( xk ) = ∇ f ( xk ) ( 18 ) bar{g}_k = frac{1}{n} sum_{j=1}^{n} v_{jk} approx frac{1}{n} sum_{j=1}^{n} nabla f_j(x_k) = nabla f(x_k) quad (18)гˉк=н1дж=1∑нвшучу≈н1дж=1∑н∇фдж(Икск)=∇ф(Икск)(18)
В каждой итерации SAG из набора { 1 , … , n } {1, лточки, n}{1,…,н} Извлечь индекс из ик и_кяк, а затем обновляется в соответствии со следующими правилами вжк в_{жк}вшучу:
vjkk + 1 = { ∇ fik ( xk ) , если j = ikvjkk , если j ≠ ik ( 19 ) v_{jk}^{k+1} ={∇фяк(Икск),еслидж=яквкджк,еслидж≠як квадроцикл (19)вшучук+1={∇фяк(Икск),вшучук,еслидж=якеслидж=як(19)
Среди них каждый в 0 я в_{0i}в0я Может быть инициализирован нулем или ∇ fi ( x 0 ) набла f_i(x_0)∇фя(Икс0) приблизительная стоимость.С решением х ∗ х^*Икс∗ приближение, каждый вик в_{ик}вик постепенно сойдется к ∇ fi ( x ∗ ) набла f_i(x^*)∇фя(Икс∗), тем самым удовлетворяя свойству VR (12).
Чтобы эффективно реализовать SAG, нам необходимо обратить внимание на расчет г ˉ к бар{г}_кгˉк чтобы не начинать суммирование каждый раз с нуля ннн вектор, потому что это ннн Цена высока, когда она большая.К счастью, поскольку каждая итерация имеет только один вик в_{ик}вик Условия изменятся и нам не придется каждый раз пересчитывать всю сумму.В частности, предположим, что при итерации ккк Индекс извлечен из ик и_кяк, то есть:
g ˉ k = 1 n ∑ j = 1 j ≠ iknvjk + 1 nvikk = g ˉ k − 1 − 1 nvikk − 1 + 1 nvikk ( 20 ) бар{g}_k = фрак{1}{n} сумма_{подстек{j=1 \ j neq i_k}}^{n} v_{jk} + фрак{1}{n} v_{i_k}^k = бар{g}_{k-1} - фрак{1}{n} v_{i_k}^{k-1} + фрак{1}{n} v_{i_k}^k четверка (20)гˉк=н1дж=1дж=як∑нвшучу+н1вякк=гˉк−1−н1вякк−1+н1вякк(20)
Поскольку помимо вик в_{и_к}вяк все, кроме вжк в_{жк}вшучу Все значения остаются прежними, мы просто сохраняем каждое дждждж Вектор, соответствующий вж в_жвдж . Алгоритм 1 показывает конкретную реализацию метода SAG.
SAG — первый стохастический метод, обеспечивающий линейную сходимость, сложность его итерации равна O ( ( κ max + n ) log ( 1 / ϵ ) ) O((kappa_{text{max}} + n) log(1/epsilon))О((κМакс+н)вотг(1/ϵ)), используя размер шага γ = O ( 1 / L макс ) гамма = O(1/L_{text{макс}})γ=О(1/ЛМакс) . Эту линейную сходимость можно наблюдать на рисунке 1.Стоит отметить, что из-за L макс L_{text{макс}}ЛМакс-Плавная функция для любого L ′ ≥ L макс L' geq L_{text{max}}Л′≥ЛМакс Слишком Л ′ Л'Л′- Гладкие методы SAG достигают линейной скорости сходимости при достаточно малых размерах шагов, в отличие от классических методов SGD, которые достигают сублинейных скоростей только с последовательностями уменьшения размеров шагов, которые трудно регулировать на практике.
В то время линейная сходимость SAG была значительным достижением, поскольку она вычисляла только один стохастический градиент (обработка одной точки данных) на каждой итерации. Однако доказательство сходимости, предоставленное Шмидтом и др. [65], очень сложно и основано на компьютерно проверенных шагах. Основная причина, по которой SAG трудно анализировать, заключается в том, что гк г_кгк является смещенной оценкой градиента.
Далее мы представляем метод SAGA, вариант SAG, который использует концепцию ковариат для создания несмещенного варианта метода SAG, который имеет аналогичную производительность, но его легче анализировать.
Алгоритм 1: метод SAG
Сокращенная базовая несмещенная оценка градиента ∇ фик ( xk ) набла f_{i_k}(x_k)∇фяк(Икск) Дисперсионный подход заключается в использовании так называемых ковариат или контрольных переменных.для i = 1, …, ni = 1, ldots, nя=1,…,н,настраивать vi ∈ R d v_i в mathbb{R}^dвя∈рг является вектором.Используя эти векторы, мы можем преобразовать полный градиент ∇ f ( x ) набла f(x)∇ф(Икс) Переписано как:
∇ f ( x ) = 1 n ∑ i = 1 n ( ∇ fi ( x ) − vi + vi ) = 1 n ∑ i = 1 n ∇ fi ( x ) − vi + 1 n ∑ j = 1 nvj набла f(x) = frac{1}{n} sum_{i=1}^{n}(набла f_i(x) - v_i + v_i) = frac{1}{n} sum_{i=1}^{n} набла f_i(x) - v_i + frac{1}{n} sum_{j=1}^{n} v_j∇ф(Икс)=н1я=1∑н(∇фя(Икс)−вя+вя)=н1я=1∑н∇фя(Икс)−вя+н1дж=1∑нвдж
: = 1 n ∑ i = 1 n ∇ fi ( x , v ) ( 21 ) := frac{1}{n} sum_{i=1}^{n} nabla f_i(x, v) quad (21):=н1я=1∑н∇фя(Икс,в)(21)
который определяет ∇ fi ( x , v ) : = ∇ fi ( x ) − vi + 1 n ∑ j = 1 nvj набла f_i(x, v) := набла f_i(x) - v_i + frac{1}{n} sum_{j=1}^{n} v_j∇фя(Икс,в):=∇фя(Икс)−вя+н1∑дж=1нвдж .Теперь мы можем случайным образом выбрать ∇ fi ( x , v ) набла f_i(x, v)∇фя(Икс,в) построить полный градиент ∇ f ( x ) набла f(x)∇ф(Икс) Непредвзятая оценка i ∈ { 1 , … , n } i в {1, ldots, n}я∈{1,…,н}, вы можете применить метод SGD и использовать оценку градиента:
gk = ∇ fik ( xk , v ) = ∇ fik ( xk ) − vik + 1 n ∑ j = 1 nvj ( 22 ) g_k = набла f_{i_k}(x_k, v) = набла f_{i_k}(x_k) - v_{i_k} + frac{1}{n} sum_{j=1}^{n} v_j quad (22)гк=∇фяк(Икск,в)=∇фяк(Икск)−вяк+н1дж=1∑нвдж(22)
для наблюдения ви в_ивя Разница в паре выбора гк г_кгк влияние, мы можем gk = ∇ fik ( xk , v ) g_k = набла f_{i_k}(x_k, v)гк=∇фяк(Икск,в) Заменить и использовать E i ∼ 1 n [ vi ] = 1 n ∑ j = 1 nvj E_i сим дробь{1}{n}[v_i] = дробь{1}{n} сумма_{j=1}^{n} v_jЭя∼н1[вя]=н1∑дж=1нвдж Чтобы вычислить математическое ожидание, получим:
E [ ∥ ∇ fi ( xk ) − vi + E i ∼ 1 n [ vi − ∇ fi ( xk ) ] ∥ 2 ] ≤ E [ ∥ ∇ fi ( xk ) − vi ∥ 2 ] ( 23 ) E левое[ |набла f_i(x_k) - v_i + E_i сим фрак{1}{n}[v_i - набла f_i(x_k)]|^2 правое] левое E левое[ |набла f_i(x_k) - v_i|^2 правое] четверное (23)Э[∥∇фя(Икск)−вя+Эя∼н1[вя−∇фя(Икск)]∥2]≤Э[∥∇фя(Икск)−вя∥2](23)
Здесь используется лемма 2, где X = ∇ fi ( xk ) − vi X = набла f_i(x_k) - v_iИкс=∇фя(Икск)−вя .Эта оценка (23) показывает, что если ви в_ивя вместе с ккк Увеличение близко к ∇ fi ( xk ) набла f_i(x_k)∇фя(Икск) , мы можем получить атрибуты VR (12).Вот почему мы звоним ви в_ивя являются ковариатами, и мы можем выбрать их, чтобы уменьшить дисперсию.
Например, этот подход также реализуется методом SGD² (13), где vi = ∇ fi ( x ∗ ) v_i = набла f_i(x^*)вя=∇фя(Икс∗) .Однако на практике это обычно не используется, поскольку мы обычно не знаем, ∇ fi ( x ∗ ) набла f_i(x^*)∇фя(Икс∗) .Более практичный вариант ви в_ивя как мы знаем x ˉ i ∈ R d bar{x}_i в mathbb{R}^dИксˉя∈рг ближайший градиент ∇ fi ( x ˉ i ) набла f_i(bar{x}_i)∇фя(Иксˉя) . SAGA для каждой функции фи ф_ифя использовать ориентир x ˉ i ∈ R d bar{x}_i в mathbb{R}^dИксˉя∈рги используйте ковариаты vi = ∇ fi ( x ˉ i ) v_i = набла f_i(bar{x}_i)вя=∇фя(Иксˉя), каждый, из которых x ˉ i бар{x}_iИксˉя будет нашей последней оценкой фи ф_ифя точка. Используя эти ковариаты, мы можем построить оценку градиента, следуя (22), давая:
gk = ∇ fik ( xk ) − ∇ fik ( x ˉ ik ) + 1 n ∑ j = 1 n ∇ fj ( x ˉ j ) ( 24 ) g_k = набла f_{i_k}(x_k) - набла f_{i_k}(bar{x}_{i_k}) + frac{1}{n} sum_{j=1}^{n} набла f_j(bar{x}_j) quad (24)гк=∇фяк(Икск)−∇фяк(Иксˉяк)+н1дж=1∑н∇фдж(Иксˉдж)(24)
Чтобы реализовать SAGA, мы можем хранить градиенты. ∇ fi ( x ˉ i ) набла f_i(bar{x}_i)∇фя(Иксˉя) вместо ннн ориентир x ˉ i бар{x}_iИксˉя .То есть предположим vj = ∇ fj ( x ˉ j ) v_j = набла f_j(bar{x}_j)вдж=∇фдж(Иксˉдж) для j ∈ { 1 , … , n } j в {1, ldots, n}дж∈{1,…,н}, на каждой итерации мы обновляем стохастический градиент, такой как SAG вж в_жвдж。
Алгоритм 2 САГА
Метод SAGA имеет ту же сложность итерации, что и SAG. O ( ( κ max + n ) log ( 1 / ϵ ) ) O((kappa_{text{max}} + n) log(1/epsilon))О((κМакс+н)вотг(1/ϵ)), используя размер шага γ = O ( 1 / L макс ) гамма = O(1/L_{text{макс}})γ=О(1/ЛМакс) , но доказательство гораздо проще.Однако, как и SAG, метод SAGA требует хранения ннн вспомогательные векторы vi ∈ R d v_i в mathbb{R}^dвя∈рг для i = 1, …, ni = 1, ldots, nя=1,…,н, что означает необходимость О ( й ) О(й)О(нг) места для хранения.когда ддг и ннн Когда оба велики, это может быть неосуществимо. В следующем разделе мы подробно расскажем, как уменьшить требования к памяти для распространенных моделей, таких как регуляризованные линейные модели.
когда смогу ннн Когда в памяти хранятся два вспомогательных вектора, SAG и SAGA имеют тенденцию вести себя одинаково. Если требования к памяти слишком высоки, хорошей альтернативой является метод SVRG, который мы рассмотрим в следующем разделе. Метод SVRG достигает той же скорости сходимости и на практике часто почти так же быстр, но требует только О ( д ) О(д)О(г) памяти, по общим вопросам.
До появления метода SAGA в некоторых ранних работах впервые были введены ковариаты для решения проблемы большого объема памяти, необходимой для метода SAG.Эти исследования основаны на фиксированной контрольной точке. x ˉ ∈ R d bar{x} в mathbb{R}^dИксˉ∈рг ковариаты, мы вычислили полный градиент в этой точке ∇ f ( x ˉ ) набла f(bar{x})∇ф(Иксˉ) .сохраняя контрольные точки x ˉ бар{x}Иксˉ и соответствующий полный градиент ∇ f ( x ˉ ) набла f(bar{x})∇ф(Иксˉ), мы можем сделать это, не сохраняя каждый ∇ fj ( x ˉ ) набла f_j(bar{x})∇фдж(Иксˉ) В случае, используйте x ˉ j = x ˉ бар{x}_j = бар{x}Иксˉдж=Иксˉ все дждждж для реализации обновления (24).В частности, вместо хранения этих векторов мы используем сохраненные опорные точки на каждой итерации. x ˉ бар{x}Иксˉ вычислять ∇ fik ( x ˉ ) набла f_{i_k}(bar{x})∇фяк(Иксˉ) . Первоначально этот метод был предложен разными авторами под разными названиями, но позже был унифицирован как метод SVRG, следуя номенклатуре [28] и [84].
Формализуем метод SVRG в алгоритме 3.
Используя (23), можно получить оценку градиента гк г_кгк Дисперсия ограничена:
E [ ∥ gk − ∇ f ( xk ) ∥ 2 ] ≤ E [ ∥ ∇ fi ( xk ) − ∇ fi ( x ˉ ) ∥ 2 ] ≤ L max 2 ∥ xk − x ˉ ∥ 2 Eleft[ | g_k - набла f(x_k) |^2 справа] leq Eleft[ | набла f_i(x_k) - набла f_i(bar{x}) |^2 справа] leq L_{text{max}}^2 | x_k - bar{x} |^2Э[∥гк−∇ф(Икск)∥2]≤Э[∥∇фя(Икск)−∇фя(Иксˉ)∥2]≤ЛМакс2∥Икск−Иксˉ∥2
где второе неравенство использует каждый фи ф_ифя из Л и Л_иЛя-Гладкость.
Стоит отметить, что ориентир x ˉ бар{x}Иксˉ Чем ближе к текущей точке хк х_кИкск, тем меньше дисперсия оценки градиента.
Чтобы метод SVRG был эффективным, нам необходимо часто обновлять контрольные точки. x ˉ бар{x}Иксˉ (тем самым требуя расчета полного градиента) сопоставляется с выгодой от уменьшения дисперсии.По этой причине каждый из нас ттт Обновляйте контрольную точку один раз на каждой итерации, чтобы она была близка к хк х_кИкск (См. строку 11 алгоритма II-C).То есть метод SVRG содержит два цикла: внешний цикл SSс, где вычисляется опорный градиент ∇ f ( x ˉ s − 1 ) набла f(bar{x}_{s-1})∇ф(Иксˉс−1)(строка 4) и внутренний цикл, в котором опорная точка фиксируется, а внутренняя итерация обновляется на основе шага стохастического градиента (22). хк х_кИкск(Строка 10).
В отличие от SAG и SAGA, SVRG требует только О ( д ) О(д)О(г) памяти. К недостаткам SVRG относятся: 1) У нас есть дополнительный параметр. ттт, то есть длину внутреннего цикла, необходимо скорректировать. 2) Для каждой итерации необходимо рассчитывать два градиента, а полный градиент необходимо рассчитывать каждый раз при изменении опорной точки;
Джонсон и Чжан [28] показали, что SVRG имеет итеративную сложность. O ( ( κ max + n ) log ( 1 / ϵ ) ) O((kappa_{text{max}} + n) log(1/epsilon))О((κМакс+н)вотг(1/ϵ)) , аналогично SAG и SAGA.Это количество петель в гипотезе. ттт из коллекции { 1 , … , м } {1, лточки, м}{1,…,м} Получено при условии равномерной выборки, где L макс L_{text{макс}}ЛМакс, μ мюμ, размер шага γ гаммаγ и ттт Между ними должны быть удовлетворены определенные зависимости.На практике, используя γ = O ( 1 / L макс ) гамма = O(1/L_{text{макс}})γ=О(1/ЛМакс) и длина внутреннего цикла т = нт = нт=н, SVRG имеет тенденцию работать хорошо, и это именно та настройка, которую мы использовали на рисунке 1.
Сейчас существует множество вариаций исходного метода SVRG.Например, в некоторых вариантах используется ттт альтернативное распределение [32], некоторые варианты допускают вид O ( 1 / L макс ) O(1/L_{text{макс}})О(1/ЛМакс) Размер шага [27], [33], [35].Существуют также некоторые варианты использования ∇ f ( x ˉ ) набла f(bar{x})∇ф(Иксˉ) аппроксимация мини-пакета, чтобы снизить стоимость этих полных оценок градиента, и увеличить размер мини-пакета, чтобы сохранить свойства VR.Существуют также варианты, в которых обновления повторяются во внутреннем цикле согласно [54] гк г_кгк:
[ g_k = набла f_{i_k}(x_k) - набла f_{i_k}(x_{k-1}) + g_{k-1} quad (25) ]
Это обеспечивает более локальное приближение. Использование этого варианта непрерывного обновления (25) показывает уникальные преимущества в минимизации невыпуклых функций, как мы кратко обсудим в разделе IV.Наконец, обратите внимание, что SVRG может воспользоваться преимуществами ∇ f ( x ˉ s ) набла f(bar{x}_s)∇ф(Иксˉс) значение, помогающее решить, когда завершить работу алгоритма.
Алгоритм 3. Метод СВРГ.
Одним из недостатков методов SAG и SVRG является то, что размер их шага зависит от неизвестных значений, которые могут быть неизвестны в некоторых задачах. L макс L_{text{макс}}ЛМакс . До SVRG метод SDCA [70], как один из первых методов VR, расширил исследования методов координатного спуска на задачи конечных сумм. Идея SDCA и его вариантов заключается в том, что координаты градиента обеспечивают естественную оценку градиента, уменьшающую дисперсию.В частности, предположим j ∈ { 1 , … , d } j в {1, ldots, d}дж∈{1,…,г}и определить ∇ jf ( x ) : = ( ∂ f ( x ) ∂ xj ) ej nabla_j f(x) := left( frac{partial f(x)}{partial x_j} right) e_j∇джф(Икс):=(∂Иксдж∂ф(Икс))едж является числом (f(x)) дждждж производные по координатным направлениям, где ej ∈ R d e_j в mathbb{R}^dедж∈рг Это первый дждждж единичный вектор.Ключевым свойством производных по координатам является то, что ∇ jf ( x ∗ ) = 0 набла_j f(x^*) = 0∇джф(Икс∗)=0, потому что мы знаем ∇ f ( x ∗ ) = 0 набла f(x^*) = 0∇ф(Икс∗)=0 .Производная этого с каждой точкой данных ∇ fj набла f_j∇фдж другое, последнее х ∗ х^*Икс∗ может быть не нулевым. Поэтому мы имеем:
∥ ∇ f ( x ) − ∇ jf ( x ) ∥ 2 → 0 当 x → x ∗ ( 26 ) | nabla f(x) - nabla_j f(x) |^2 стрелка вправо 0 квадратный текст{当} квадратный x стрелка вправо x^* квадратный (26)∥∇ф(Икс)−∇джф(Икс)∥2→0когдаИкс→Икс∗(26)
Это означает, что производная по координате удовлетворяет свойству уменьшения дисперсии (12).Кроме того, мы можем использовать ∇ jf ( x ) набла_j f(x)∇джф(Икс) строить ∇ f ( x ) набла f(x)∇ф(Икс) несмещенная оценка.Например, предположим дждждж это из коллекции { 1 , … , d } {1, ldots, d}{1,…,г} Равномерно случайно выбранный индекс в .Следовательно, для любого i ∈ { 1 , … , d } i в {1, ldots, d}я∈{1,…,г},У нас есть P [ j = i ] = 1 d P[j = i] = frac{1}{d}п[дж=я]=г1 . поэтому, d × ∇ jf ( x ) d раз nabla_j f(x)г×∇джф(Икс) да ∇ f ( x ) набла f(x)∇ф(Икс) Непредвзятая оценка, потому что:
E [ d ∇ jf ( x ) ] = d ∑ i = 1 d P [ j = i ] ∂ f ( x ) ∂ xiei = ∑ i = 1 d ∂ f ( x ) ∂ xiei = ∇ f ( x ) Eleft[ d nabla_j f(x) right] = d sum_{i=1}^{d} P[j = i] frac{partial f(x)}{partial x_i} e_i = sum_{i=1}^{d} frac{partial f(x)}{partial x_i} e_i = nabla f(x)Э[г∇джф(Икс)]=гя=1∑гп[дж=я]∂Икся∂ф(Икс)ея=я=1∑г∂Икся∂ф(Икс)ея=∇ф(Икс)
поэтому, ∇ jf ( x ) набла_j f(x)∇джф(Икс) Обладает всеми идеальными свойствами, которые мы ожидаем от VR-оценки полных градиентов, без необходимости использования ковариат. Одним из недостатков использования этого координатного градиента является то, что он требует больших вычислительных затрат для нашей задачи о суммах (2).Это связано с тем, что расчет ∇ jf ( x ) набла_j f(x)∇джф(Икс) Необходимо пройти весь набор данных, потому что ∇ jf ( x ) = 1 n ∑ i = 1 n ∇ jfi ( x ) набла_j f(x) = frac{1}{n} сумма_{i=1}^{n} набла_j f_i(x)∇джф(Икс)=н1∑я=1н∇джфя(Икс) . Поэтому использование производных по координатам кажется несовместимым со структурой нашей задачи о сумме. Однако мы часто можем переписать исходную задачу (2) в так называемую двойственную формулировку, в которой производные по координатам могут использовать внутреннюю структуру.
Например, двойственная формула регуляризованной линейной модели L2 (15):
v ∗ ∈ arg max v ∈ R n 1 n ∑ i = 1 n − ℓ i ∗ ( − vi ) − λ 2 ∥ 1 λ ∑ i = 1 nviai ∥ 2 ( 27 ) v^* в argmax_{v в mathbb{R}^n} дробь{1}{n} сумма_{i=1}^{n} -ell_i^*(-v_i) - дробь{лямбда}{2} левая| дробь{1}{лямбда} сумма_{i=1}^{n} v_i a_i правая|^2 четверка (27)в∗∈аргв∈рнМаксн1я=1∑н−ℓя∗(−вя)−2λ
λ1я=1∑нвяая
2(27)
в ℓ i ∗ ( v ) ell_i^*(v)ℓя∗(в) да ℓ я ell_iℓя выпуклое сопряжение.Мы можем использовать отображение x = 1 λ ∑ i = 1 nviaix = frac{1}{лямбда} сумма_{i=1}^{n} v_i a_iИкс=λ1∑я=1нвяая восстановить исходную проблему (15) ххИкс переменная.решит в ∗ в^*в∗ Подставив в правую часть приведенного выше отображения, мы можем получить решение (15) х ∗ х^*Икс∗。
Обратите внимание, что эта двойная проблема имеет ннн действительные переменные vi ∈ R v_i в mathbb{R}вя∈р , что соответствует одному для каждой обучающей выборки.Более того, каждая функция двойных потерь ℓ я ∗ ell_i^*ℓя∗ только ви в_ивя Функция. То есть первый член функции потерь отделим по координатам. Такая разделимость по координатам в сочетании с простой формой второго слагаемого позволяет эффективно реализовать метод подъема координат.Действительно, Шалев-Шварц и Чжан показали, что подъем координат в этой задаче имеет аналогичную итерационную сложность, что и SAG, SAGA и SVRG. O ( ( κ max + n ) log ( 1 / ϵ ) ) O((kappa_{text{max}} + n) log(1/epsilon))О((κМакс+н)вотг(1/ϵ))。
Стоимость итерации и структура алгоритма также очень похожи: суммирование путем отслеживания ∑ i = 1 nviai сумма_{i=1}^{n} v_i a_i∑я=1нвяая Чтобы обработать второй член в (27), каждая итерация подъема по двойной координате должна учитывать только одну обучающую выборку, а стоимость каждой итерации такая же, как и ннн Нечего делать.Кроме того, мы можем использовать поиск по 1D-линии, чтобы эффективно вычислить размер шага для максимизации как ви в_ивя Двойная цель функции.Это означает, что даже без L макс L_{text{макс}}ЛМакс Или знание соответствующих величин также позволяет добиться быстрого времени работы методов виртуальной реальности в наихудшем случае.
Чтобы реализовать базовый метод уменьшения дисперсии (VR) и добиться приемлемой производительности, необходимо решить несколько проблем реализации. В этом разделе мы обсудим несколько вопросов, не затронутых выше.
В области алгоритмов оптимизации, особенно в методах уменьшения вариаций, таких как стохастический средний градиент (SAG), алгоритм стохастического среднего градиента (SAGA) и стохастический градиент (SVRG), установка размера шага является ключевым вопросом.Хотя для метода стохастического подъема по двойной координате (SDCA) мы можем использовать двойную цель для определения размера шага, теоретическая основа исходных методов переменных SAG, SAGA и SVRG заключается в том, что размер шага должен быть равен γ = O ( 1 L max ) gamma = Oleft(frac{1}{L_{text{max}}}right)γ=О(ЛМакс1) форма.Однако в практических приложениях мы часто не знаем, L макс L_{text{макс}}ЛМакс точное значение, а использование других размеров шага может дать лучшую производительность.
Классической стратегией установки размера шага в методе полного градиентного спуска (full-GD) является поиск линий Armijo.данная текущая точка хк х_кИкск и направление поиска гк г_кгк, поиск линии Armijo в γ k гамма_kγк осуществляется на линии, которая определяется как γ k ∈ { γ : xk + γ gk } gamma_k в {gamma : x_k + gamma g_k}γк∈{γ:Икск+γгк}, причем функция должна быть достаточно редуцированной, т.е.:
f ( xk + γ kgk ) < f ( xk ) − c γ k ∥ ∇ f ( xk ) ∥ 2 f(x_k + gamma_k g_k) < f(x_k) - c gamma_k |набла f(x_k)|^2ф(Икск+γкгк)<ф(Икск)−сγк∥∇ф(Икск)∥2
Однако этот подход требует нескольких шагов-кандидатов. γ k гамма_kγк Расчет f ( xk + γ kgk ) f(x_k + gamma_k g_k)ф(Икск+γкгк), который оценивает ф ( х ) ф(х)ф(Икс) Стоимость обхода всего набора данных непомерно высока.
Для решения этой проблемы можно использовать метод случайных вариаций, чтобы найти те, которые удовлетворяют следующим условиям: γ k гамма_kγк:
fik ( xk + γ kgk ) < fik ( xk ) − c γ k ∥ ∇ fik ( xk ) ∥ 2 f_{ik}(x_k + gamma_k g_k) < f_{ik}(x_k) - c gamma_k |набла f_{ik}(x_k)|^2фик(Икск+γкгк)<фик(Икск)−сγк∥∇фик(Икск)∥2
Этот подход обычно хорошо работает на практике, особенно когда ∥ ∇ фик ( xk ) ∥ |набла ф_{ик}(x_k)|∥∇фик(Икск)∥ не близок к нулю, хотя в настоящее время не существует теории, подтверждающей этот подход.
Кроме того, Майрал предложил «технику Ботту» для практической установки размера шага. Этот метод выполняет двоичный поиск, беря небольшую часть набора данных (например, 5%), чтобы попытаться найти оптимальный размер шага за один проход по этой выборке. Подобно поиску по линии Армихо, этот метод часто хорошо работает на практике, но ему снова не хватает теоретической основы.
Обратите внимание, что приведенное выше содержимое представляет собой повторение исходного текста с использованием формата Markdown для представления математических формул и переменных.
Однако метод SDCA также имеет некоторые недостатки.Во-первых, для этого требуется вычислить выпуклое сопряжение ℓ я ∗ ell_i^*ℓя∗ а не простой градиент. У нас нет автоматического дифференциального эквивалента для выпуклых сопряжений, поэтому это может увеличить усилия по реализации. В недавней работе были предложены методы SDCA с «двойной свободой», которые не требуют сопряжения и вместо этого напрямую используют градиенты. Однако в этих методах больше невозможно отслеживать двойную цель, чтобы установить размер шага.Во-вторых, хотя SDCA требует только О (n + d) О(n + d)О(н+г) памяти для решения задачи (15), но для этой категории задач SAG/SAGA требуется только О (n + d) О(n + d)О(н+г) памяти (см. раздел 3).Вариант SDCA, подходящий для более общих проблем с SAG/SAGA. О ( й ) О(й)О(нг) память, потому что ви в_ивя стать обладателем ддг вектор элементов. Последний тонкий недостаток SDCA заключается в том, что он неявно предполагает сильную константу выпуклости. μ мюμ равный λ лямбдаλ .для μ мюμ больше, чем λ лямбдаλ Проблема заключается в том, что оригинальный метод VR обычно значительно превосходит SDCA.
В области оптимизации алгоритмов мы часто полагаемся на теоретические результаты итеративной сложности, чтобы предсказать наихудшее количество итераций, необходимых алгоритму для достижения определенной точности. Однако эти теоретические границы часто основаны на некоторых константах, которые мы не можем предсказать, и в практических приложениях алгоритм часто может достичь ожидаемой точности за меньшее количество итераций. Поэтому нам необходимо установить некоторые критерии тестирования, чтобы определить, когда алгоритм следует завершить.
В традиционном методе полного градиентного спуска (full-GD) мы обычно используем норму градиента. ∥ ∇ f ( xk ) ∥ | набла f(x_k) |∥∇ф(Икск)∥ Или какая-то другая величина, связанная с этим, чтобы решить, когда остановить итерацию.Для метода SVRG мы можем принять тот же критерий, но использовать ∥ ∇ f ( x ˉ s ) ∥ | набла f(bar{x}_s) |∥∇ф(Иксˉс)∥ как основание для приговора.Для метода SAG/SAGA, хотя мы и не рассчитываем явно полный градиент, величина $g_{bar{k}}$ будет постепенно приближаться ∇ f ( xk ) набла f(x_k)∇ф(Икск), поэтому используйте ∥ гк ˉ ∥ | г_{бар{к}} |∥гкˉ∥ в качестве условия остановки является разумной эвристикой.
В методе SDCA, с некоторой дополнительной работой по записи, мы можем отслеживать градиент двойной цели без добавления дополнительных асимптотических затрат.Кроме того, более систематическим подходом было бы отслеживание двойного разрыва, хотя это увеличило бы О ( н ) О(н)О(н) стоимость, но он способен обеспечить условия завершения с двойным доказательством разрыва. Кроме того, на основе условия оптимальности сильно выпуклых целей метод MISO использует принципиальный метод, основанный на квадратичной нижней границе [41].
Ниже приведены математические формулы и переменные, выраженные в формате Markdown:
Обратите внимание, что приведенное выше содержимое представляет собой повторение исходного текста с использованием формата Markdown для представления математических формул и переменных.
Хотя алгоритм стохастического вариационного уменьшения градиента (SVRG) устраняет требования к памяти, присущие более ранним методам уменьшения вариации, в практических приложениях во многих задачах используются алгоритмы SAG (стохастический средний градиентный спуск) и SAGA (стохастический средний градиентный спуск с накоплением градиента). . обычно требуют меньше итераций, чем алгоритм SVRG.Это вызвало мысль: есть ли какие-то проблемы, которые позволяют SAG/SAGA О ( й ) О(й)О(нг) Требования к памяти реализованы ниже. В этом разделе исследуется класс линейных моделей, для которых требования к памяти могут быть значительно снижены.
Рассмотрим линейную модель, в которой каждая функция фи ( х ) f_i(x)фя(Икс) Это может быть выражено как ξ i ( ai ⊤ x ) xi_i(mathbf{a}_i^top x)ξя(ая⊤Икс) .верно ххИкс Производная дает форму градиента:
∇ fi ( x ) = ξ ′ ( ai ⊤ x ) ai набла f_i(x) = xi'(mathbf{a}_i^top x) mathbf{a}_i∇фя(Икс)=ξ′(ая⊤Икс)ая
здесь, ξ ′ xi'ξ′ выражать ξ ксиξ производная от.Предполагая, что у нас есть прямой доступ к собственным векторам ай mathbf{a}_iая, то для реализации метода SAG/SAGA нам нужно всего лишь сохранить скаляр ξ ( ai ⊤ x ) xi(mathbf{a}_i^top x)ξ(ая⊤Икс) .Таким образом, требования к памяти варьируются от О ( й ) О(й)О(нг) уменьшено до О ( н ) О(н)О(н) . Алгоритм SVRG также может использовать эту структуру градиентов: сохраняя это ннн скаляр, мы можем уменьшить количество оценок градиента, необходимых для каждой «внутренней» итерации SVRG, до 1 для этого класса задач.
Существуют и другие типы задач, например вероятностные графические модели, которые также предлагают возможность снижения требований к памяти [66]. Благодаря специальной структуре данных и оптимизации алгоритма ресурсы памяти, необходимые алгоритму во время выполнения, могут быть дополнительно сокращены.
Ниже приведены математические формулы и переменные, выраженные в формате Markdown:
В некоторых задачах градиент ∇ fi ( x ) набла f_i(x)∇фя(Икс) Может содержать большое количество нулевых значений, например, линейная модель с редкими функциями.В этом случае традиционный алгоритм стохастического градиентного спуска (SGD) может быть эффективно реализован, при этом вычислительная сложность линейно зависит от количества ненулевых элементов в градиенте, которое обычно намного меньше размерности задачи. ддг . Однако в стандартных методах вариационного сокращения (VR) это преимущество не используется. К счастью, есть два известных способа улучшить это.
Первое улучшение было предложено Шмидтом и др., которое использует преимущества простоты процесса обновления и реализует вариант вычислений «на лету», так что стоимость каждой итерации пропорциональна количеству ненулевых вычислений. элементы.Если взять в качестве примера SAG (но этот подход работает для всех вариантов), это достигается за счет не сохранения полного вектора после каждой итерации. вик в_{ик}вик, но вычисляет только те, которые соответствуют ненулевым элементам викдж в_{ик_дж}вякдж, обновляя каждую переменную с тех пор, как последний раз этот элемент был ненулевым викдж в_{ик_дж}вякдж。
Второй метод улучшения был предложен Леблоном и др. для SAGA, который обновляет формулу. xk + 1 = xk − γ ( ∇ fik ( xk ) − ∇ fik ( x ˉ ik ) + g ˉ k ) x_{k+1} = x_k - гамма(набла f_{ik}(x_k) - набла f_{ik}(bar{x}_{ik}) + bar{g}_k)Икск+1=Икск−γ(∇фик(Икск)−∇фик(Иксˉик)+гˉк) Вводится дополнительная случайность. здесь, ∇ фик ( xk ) набла f_{ik}(x_k)∇фик(Икск) и ∇ fik ( x ˉ ik ) набла f_{ik}(bar{x}_{ik})∇фик(Иксˉик) является редким, и г ˉ к бар{г}_кгˉк плотный.В этом методе плотный член ( г ˉ к ) j (бар{г}_к)_j(гˉк)дж Каждый компонент заменяется на wj ( г ˉ к ) j w_j (бар{г}_к)_jждж(гˉк)дж,в w ∈ R dw в mathbb{R}^dж∈рг — случайный разреженный вектор, набор опорных элементов которого содержится в ∇ фик ( xk ) набла f_{ik}(x_k)∇фик(Икск) , и ожидается, что это постоянный вектор со всеми элементами, равными 1. Таким образом, процесс обновления остается несмещенным (хотя теперь и разреженным), а увеличенная дисперсия не влияет на скорость сходимости алгоритма. Более подробную информацию предоставили Leblond et al.
Ниже приведены математические формулы и переменные, выраженные в формате Markdown: