Альтернированная минимизация

Материал из MachineLearning.

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: '''Альтернированный градиентный спуск''' (англ. ''alternating gradient descent'', также ''блочный координатный градиен...)
 
(5 промежуточных версий не показаны.)
Строка 1: Строка 1:
-
'''Альтернированный градиентный спуск''' (англ. ''alternating gradient descent'', также ''блочный координатный градиентный спуск'', block coordinate gradient descent, BCGD) — семейство итеративных методов первого порядка для оптимизации функции, разбитой на блоки переменных, в которых на каждом шаге выполняется '''один (или несколько) шаг градиентного спуска''' по одному блоку переменных при фиксированных значениях остальных, после чего блоки меняются местами. Метод часто путают с более общим понятием '''[[альтернированная минимизация|альтернированной минимизации]]''' (alternating minimization, AM)<ref name="csiszartusnady"/> или '''[[блочный координатный спуск|блочным координатным спуском]]''' (block coordinate descent, BCD), в которых на каждом шаге блок минимизируется '''точно'''. Различие принципиально: точная блоковая минимизация гарантированно не увеличивает целевую функцию независимо от параметров, тогда как альтернированный градиентный спуск требует корректного выбора шага, но зато на порядки дешевле на итерацию, если точная подзадача не имеет замкнутого решения.
+
'''Альтернированная минимизация''' (англ. ''alternating minimization'', AM; при числе блоков переменных <tex>N>2</tex> также называется '''[[блочный координатный спуск|блочным координатным спуском]]''', block coordinate descent, BCD) — семейство итеративных методов оптимизации, в которых на каждом шаге целевая функция '''точно''' минимизируется по одной группе переменных («блоку») при фиксированных значениях остальных блоков, после чего роли блоков меняются местами. Метод особенно эффективен для задач, невыпуклых по совокупности всех переменных, но выпуклых (и часто разрешимых в замкнутой форме) по каждому блоку в отдельности — такие функции называют '''бивыпуклыми''' (biconvex) при двух блоках и '''мультивыпуклыми''' (multiconvex) при большем их числе[1].
-
Метод лежит в основе ряда широко используемых инструментов анализа данных и машинного обучения: покоординатного спуска для регуляризованной линейной регрессии (Lasso, Elastic Net, пакет ''glmnet''), алгоритма PALM для невыпуклой негладкой оптимизации (в том числе разреженной [[неотрицательная матричная факторизация|неотрицательной матричной факторизации]]), чередующегося обучения генератора и дискриминатора в [[генеративно-состязательная сеть|генеративно-состязательных сетях]] (GAN), а также современных федеративных и распределённых алгоритмов восстановления матриц низкого ранга (AltGDmin).
+
От родственного метода — '''[[альтернированный градиентный спуск|альтернированного градиентного спуска]]''', где вместо точной минимизации по блоку выполняется один (или несколько) шагов градиентного метода, — альтернированную минимизацию отличает ключевое свойство: '''монотонное убывание''' целевой функции гарантировано самой геометрией задачи и не требует подбора шага обучения. Плата за это — подзадача на каждом шаге должна быть точно разрешима, что накладывает структурные ограничения на класс решаемых задач. Настоящая статья посвящена именно точному блоковому шагу; читателя, которого интересует градиентный вариант и его отдельная теория сходимости, следует отправить к статье «[[Альтернированный градиентный спуск]]».
-
== Определение ==
+
Идея точной блоковой минимизации лежит в основе многих базовых алгоритмов машинного обучения и анализа данных: метода [[k-means]], [[EM-алгоритм]]а, чередующихся наименьших квадратов (ALS) для [[рекомендательная система|рекомендательных систем]], точных вариантов [[неотрицательная матричная факторизация|неотрицательной матричной факторизации]], восстановления матриц низкого ранга, решения [[фазовая задача|фазовой задачи]] и вычисления [[оптимальный транспорт|оптимального транспорта]] через алгоритм Синхорна.
-
=== Гладкий случай ===
+
== Формальная постановка ==
-
Пусть переменная <tex>x=(x_1,\dots,x_N)</tex> разбита на <tex>N</tex> блоков, а <tex>f(x)</tex> — дифференцируемая функция, градиент которой по каждому блоку <tex>\nabla_i f</tex> липшицев с константой <tex>L_i</tex>. Альтернированный градиентный спуск порождает последовательность по правилу
+
=== Двухблочный случай ===
-
: <tex>x_i^{t+1} = x_i^{t} - \eta_i \, \nabla_i f\bigl(x_1^{t+1},\dots,x_{i-1}^{t+1},\, x_i^{t},\, x_{i+1}^{t},\dots,x_N^{t}\bigr), \qquad i = 1,\dots,N,</tex>
+
Пусть требуется решить задачу
-
где шаг <tex>\eta_i \le 1/L_i</tex> выбирается так, чтобы гарантировать локальное убывание функции (по т. н. лемме о достаточном убывании для липшицева градиента). Порядок обновления блоков может быть циклическим (схема Гаусса — Зейделя, как выше), случайным (на каждой итерации выбирается один случайный блок) или жадным (выбирается блок с наибольшей нормой градиента — правило Гаусса — Саутвелла)<ref name="nutini2022"/>.
+
: <tex>\min_{x \in X,\, y \in Y} F(x,y)</tex>
-
=== Композитный (проксимальный) случай ===
+
для функции <tex>F: X \times Y \to \mathbb{R}</tex>. Альтернированная минимизация порождает последовательность <tex>(x_t, y_t)</tex> по правилу
-
На практике целевая функция часто имеет вид <tex>F(x) = f(x) + \sum_{i=1}^N g_i(x_i)</tex>, где <tex>f</tex> гладкая, а <tex>g_i</tex> — негладкие, но «простые» покомпонентные слагаемые (например, <tex>\ell_1</tex>-регуляризация или индикатор ограничения). В этом случае градиентный шаг заменяется '''проксимальным градиентным шагом''':
+
: <tex>x_{t+1} = \arg\min_{x \in X} F(x, y_t), \qquad y_{t+1} = \arg\min_{y \in Y} F(x_{t+1}, y).</tex>
-
: <tex>x_i^{t+1} = \operatorname{prox}_{\eta_i g_i}\bigl(x_i^{t} - \eta_i \, \nabla_i f(x^{t})\bigr),</tex>
+
Существенно, что каждая из двух подзадач решается '''точно''' — как правило, потому что при фиксации одного блока функция становится выпуклой квадратичной (метод наименьших квадратов), задачей проекции на выпуклое множество или имеет иную явную структуру.
-
где <tex>\operatorname{prox}_{\eta g}(z) = \arg\min_u \bigl\{ g(u) + \frac{1}{2\eta}\|u-z\|^2 \bigr\}</tex>. Именно эта схема была систематически изучена Ценгом и Юнем под названием «coordinate gradient descent method»<ref name="tsengyun2009"/> и стала стандартной формулировкой альтернированного градиентного спуска для негладких раздельных задач.
+
=== N-блочный случай ===
-
При <tex>N=1</tex> метод вырождается в обычный (проксимальный) градиентный спуск; при точном решении подзадачи вместо одного шага метод превращается в точную альтернированную минимизацию — оба являются предельными случаями одной и той же схемы.
+
Обобщение на <tex>N</tex> блоков <tex>x=(x_1,\dots,x_N)</tex> задаётся циклом
-
== Мотивация: зачем нужен именно градиентный, а не точный блоковый шаг ==
+
: <tex>x_i^{t+1} = \arg\min_{x_i} \; F\bigl(x_1^{t+1},\dots,x_{i-1}^{t+1},\, x_i,\, x_{i+1}^{t},\dots,x_N^{t}\bigr), \qquad i=1,\dots,N,</tex>
-
* '''Подзадача может не иметь замкнутого решения.''' Если <tex>f(x_i, x_{-i})</tex> при фиксированных остальных блоках не является функцией специального вида (квадратичной, задачей проекции и т. п.), точная минимизация по блоку сама требует внутреннего итеративного решателя например, блок весов одного слоя нейронной сети или блок параметров логистической регрессии. Один шаг градиентного спуска даёт почти бесплатный прогресс без вложенной оптимизации.
+
где уже обновлённые блоки используются немедленно (схема Гаусса Зейделя); альтернативная схема Якоби использует во всех подзадачах значения блоков из предыдущей итерации целиком, что допускает параллельное обновление ценой более медленной сходимости.
-
* '''Разная кривизна по блокам.''' Если константы Липшица <tex>L_i</tex> сильно различаются между блоками (типичная ситуация для плохо обусловленных или разнородных по масштабу параметров), совместный градиентный спуск по всем переменным сразу с единым шагом <tex>\eta \le 1/\max_i L_i</tex> вынужден быть «осторожным» из-за самого жёсткого блока. Блоковая схема позволяет использовать собственный шаг <tex>\eta_i \le 1/L_i</tex> для каждого блока, эффективно устраняя эту проблему<ref name="beck2013"/>.
+
-
* '''Дешевизна одной координаты градиента в «огромных» задачах.''' Для задач с очень большим числом переменных даже вычисление полного градиента может быть на порядки дороже, чем вычисление градиента по одному блоку (например, при разреженных данных или структурированных потерях). Рандомизированный покоординатный градиентный спуск был специально развит Нестеровым для таких «huge-scale» задач выпуклой оптимизации<ref name="nesterov2012"/>.
+
-
* '''Плата за это — потеря автоматической монотонности.''' В отличие от точной блоковой минимизации, где убывание функции гарантировано геометрией подзадачи, при градиентном шаге функция убывает лишь при корректно подобранном шаге <tex>\eta_i \le 1/L_i</tex>; слишком большой шаг может привести к росту функции даже на одном блоке. Это главная практическая цена, которую платят за дешевизну итерации.
+
-
== История ==
+
Терминологическое замечание: исторически термин «альтернированная минимизация» закреплён за случаем <tex>N=2</tex> — именно для двух распределений его вводили Чисар и Туснади[2], тогда как для <tex>N\ge 3</tex> блоков в англоязычной литературе почти всегда говорят о ''block coordinate descent''. Различие не только терминологическое: как показано ниже, свойства сходимости для <tex>N=2</tex> и <tex>N\ge3</tex> принципиально различаются.
-
Общая идея блочной (покоординатной) оптимизации восходит к покоординатным схемам конца 1950-х годов, например к алгоритму Хилдрета для квадратичного программирования<ref name="hildreth1957"/>, а знаменитый контрпример Пауэлла (1973) показал, что даже точный циклический покоординатный спуск для гладких невыпуклых функций трёх и более переменных может не сходиться к стационарной точке<ref name="powell1973"/> — этот результат заранее обозначил границы применимости и точных, и градиентных блоковых схем.
+
== Мотивация и геометрическая интуиция ==
-
Специальная теория именно для '''градиентного''' (а не точного) блокового шага сформировалась в 2000-е — 2010-е годы. Ключевой работой стала статья Ценга и Юня (2009), которые предложили метод координатного градиентного спуска для суммы гладкой функции и раздельной негладкой части, доказали глобальную сходимость и — при выполнении локального условия липшицевой оценки погрешности (error bound) — линейную скорость сходимости без требования сильной выпуклости<ref name="tsengyun2009"/>. Ценг ранее (2001) также изучал сходимость блочного координатного спуска (в том числе для точных блоковых минимизаций) для недифференцируемых, но регулярных задач, заложив общую основу для последующих градиентных вариантов<ref name="tseng2001"/>. В 2012 году Нестеров дал систематический анализ рандомизированного покоординатного градиентного спуска для гладких и композитных выпуклых задач «огромного» масштаба, показав, в частности, что выбор блока с вероятностью, пропорциональной его константе Липшица, улучшает константу в оценке скорости сходимости<ref name="nesterov2012"/>. Бек и Тетрушвили (2013) дополнили эту теорию строгим анализом циклического (а не только случайного) блочного координатного градиентного проецирования, установив глобальную сублинейную скорость сходимости и линейную — при сильной выпуклости<ref name="beck2013"/>.
+
Почему именно точная блоковая минимизация, а не совместная оптимизация по всем переменным сразу?
-
Параллельно метод получил мощную невыпуклую теорию: алгоритм PALM (Proximal Alternating Linearized Minimization) Больте, Сабаха и Тебуля (2014) — это, по существу, альтернированный (проксимальный) градиентный спуск, для которого доказана глобальная сходимость всей последовательности к критической точке в невыпуклых негладких задачах при выполнении неравенства Куржики Лоясевича, обобщающая более ранние результаты Аттуш, Больте, Редона и Свайтера<ref name="bolte2014"/><ref name="attouch2010"/><ref name="attouch2013"/>. В прикладной статистике метод приобрёл огромную популярность благодаря пакету ''glmnet'' Фридмана, Хасти и Тибширани (2010), реализующему (проксимальный) покоординатный спуск для путей регуляризации Lasso и Elastic Net<ref name="friedman2010"/>. В глубоком обучении неявным, но повсеместным примером альтернированного градиентного спуска стало обучение генеративно-состязательных сетей, где параметры дискриминатора и генератора обновляются попеременно шагами стохастического градиента по седловой (минимаксной) целевой функции<ref name="goodfellow2014"/>. Наконец, в 2020-е годы метод получил развитие в виде '''гибридных''' схем, сочетающих градиентный шаг по одному блоку с точной минимизацией по другому — таков алгоритм AltGDmin (Alternating Gradient Descent and Minimization) Васвани с соавторами (2021—2025) для федеративного и коммуникационно-эффективного восстановления матриц низкого ранга<ref name="nayervaswani2021"/><ref name="vaswani2024"/><ref name="abbasivaswani2024"/>.
+
* '''Подзадачи оказываются выпуклыми и разрешимыми в замкнутой форме.''' Классический пример билинейная параметризация <tex>M \approx UV^\top</tex>: функция <tex>\|M-UV^\top\|_F^2</tex> невыпукла по паре <tex>(U,V)</tex> совместно (что видно уже из неединственности решения с точностью до <tex>U\to UQ,\ V\to VQ^{-\top}</tex> для обратимой <tex>Q</tex>), но при фиксированном <tex>V</tex> строго выпукла и квадратична по <tex>U</tex>, то есть решается через нормальные уравнения без вложенного итеративного цикла.
 +
* '''Монотонность — «бесплатное» следствие геометрии, а не выбора параметров.''' Поскольку каждый шаг — точный минимум по подмножеству переменных, значение функции не может возрасти:
-
== Сходимость ==
+
: <tex>F(x_t,y_t) \ge F(x_{t+1}, y_t) \ge F(x_{t+1}, y_{t+1}) \ge \dots</tex>
-
=== Выпуклый гладкий случай ===
+
Если <tex>F</tex> ограничена снизу, эта монотонно невозрастающая последовательность сходится к некоторому <tex>F^*</tex>. В отличие от градиентного варианта, здесь не нужно оценивать константы Липшица или подбирать шаг — убывание гарантировано геометрией подзадачи. Важно, однако, что из сходимости '''значений''' не следует автоматически сходимость самих итераций к стационарной точке — это требует дополнительных условий регулярности (см. раздел «Сходимость»).
-
Для циклического блочного координатного градиентного проецирования на выпуклой гладкой задаче Бек и Тетрушвили доказали глобальную сублинейную скорость сходимости <tex>O(1/k)</tex> по значению функции; при дополнительном условии сильной выпуклости — линейную (геометрическую) скорость сходимости<ref name="beck2013"/>.
+
Геометрически метод удобно представлять как движение по «ступенькам» вдоль линий уровня <tex>F</tex>. Частный, но принципиальный пример такой геометрии — '''метод чередующихся проекций''' фон Неймана для поиска точки в пересечении двух выпуклых множеств <tex>C_1 \cap C_2</tex>: если положить <tex>F(x,y)=\|x-y\|^2</tex> с ограничениями <tex>x\in C_1</tex>, <tex>y\in C_2</tex>, то альтернированная минимизация в точности сводится к попеременному проецированию <tex>x_{t+1}=P_{C_1}(y_t)</tex>, <tex>y_{t+1}=P_{C_2}(x_{t+1})</tex>[3].
-
=== Рандомизированный выбор блока ===
+
== История ==
-
Для рандомизированного покоординатного градиентного спуска на выпуклых сильно выпуклых) задачах Нестеров установил ожидаемую скорость сходимости того же порядка, что и для полного градиентного спуска, но с константой, зависящей от суммы (а не максимума) блоковых констант Липшица <tex>L_i</tex>; при выборе блока с вероятностью, пропорциональной <tex>L_i</tex>, эта константа минимизируется, что часто даёт существенно лучшую практическую скорость по сравнению с циклическим порядком на плохо обусловленных задачах<ref name="nesterov2012"/>.
+
Истоки метода восходят к '''методу чередующихся проекций''' фон Неймана (конец 1940-х годов)[3] и к покоординатным схемам конца 1950-х, например к алгоритму Хилдрета для квадратичного программирования[4].
-
=== Жадный выбор блока ===
+
Ключевой теоретический вклад внесла работа Имре Чисара и Габора Туснади 1984 года «Information geometry and alternating minimization procedures», формализовавшая метод на языке информационной геометрии: авторы доказали «трёхточечное свойство» (three-point property), гарантирующее сходимость при выпуклости обоих множеств, и показали, что классический [[EM-алгоритм]] Демпстера, Лэйрда и Рубина (1977) является частным случаем AM для минимизации дивергенции Кульбака — Лейблера между эмпирическим распределением данных и параметрическим семейством модели[2,5]. Годом ранее, в 1973 году, Майкл Пауэлл опубликовал контрпример, показавший, что точный циклический покоординатный спуск для гладких невыпуклых функций трёх и более переменных может не сходиться к стационарной точке, а «застревать» на предельном цикле, где градиент отделён от нуля[6] — этот результат на десятилетия обозначил границы применимости AM при <tex>N\ge3</tex>.
-
Альтернатива случайному выбору — жадное правило Гаусса — Саутвелла (выбор блока с наибольшей нормой частного градиента). Нутини, Ладраджи и Шмидт показали, что при определённых условиях регулярности (например, при ограниченности числа обусловленности по Гессе — Липшицу) жадный выбор доказуемо быстрее случайного, хотя требует вычисления или оценки градиентов по всем блокам на каждой итерации, что увеличивает стоимость итерации<ref name="nutini2022"/>.
+
С 2000-х годов теория обогатилась инструментами для негладких и невыпуклых задач: Ценг (2001) дал условия сходимости блочного координатного спуска для недифференцируемых, но регулярных задач[7], а серия работ Аттуш, Больте, Редона и Свайтера установила глобальную сходимость проксимальной альтернированной минимизации к критической точке через теорию неравенства Куржики — Лоясевича для широкого класса невыпуклых негладких задач[8,9]. Параллельно теоретическая информатика дала первые гарантии полиномиальной сходимости точной AM к '''глобальному''' минимуму для конкретных невыпуклых задач машинного обучения: восстановления матриц низкого ранга (Jain, Netrapalli, Sanghavi, 2013; Hardt, 2014) и фазовой задачи (Netrapalli, Jain, Sanghavi, 2013)[10,11,12]. В 2020-е годы у метода появились коммуникационно-эффективные гибриды с градиентным шагом (AltGDmin), которым посвящена отдельная статья «[[Альтернированный градиентный спуск]]»[13].
-
=== Композитные (проксимальные) задачи ===
+
== Сходимость ==
-
Для суммы гладкой функции и раздельной негладкой части Ценг и Юнь доказали глобальную сходимость метода координатного градиентного спуска и, при выполнении локального липшицевого условия оценки погрешности, — линейную скорость сходимости; это условие выполняется, в частности, когда негладкая часть полиэдральна, а гладкая часть является (невыпуклой) квадратичной функцией или композицией сильно выпуклой функции с линейным отображением — класс, покрывающий задачи типа Lasso<ref name="tsengyun2009"/>.
+
=== Монотонность и её пределы ===
-
=== Невыпуклый негладкий случай ===
+
Как отмечено выше, последовательность значений функции монотонно не возрастает и сходится к некоторому <tex>F^*</tex>, если <tex>F</tex> ограничена снизу. Из этого факта, однако, не следует ни сходимость самих итераций к точке, ни то, что предельная точка является хотя бы локальным минимумом совместной задачи.
-
Для широкого класса полуалгебраических невыпуклых негладких задач машинного обучения алгоритм PALM обеспечивает сходимость '''всей''' последовательности итераций (а не только подпоследовательности) к критической точке функции, с явной оценкой скорости в терминах показателя неравенства Куржики — Лоясевича<ref name="bolte2014"/>. Это, по сути, наиболее сильная известная теоретическая гарантия для альтернированного градиентного спуска за пределами выпуклого случая.
+
=== Двухблочный выпуклый случай ===
-
=== Важная оговорка: седловые задачи ===
+
Если <tex>F</tex> совместно выпукла (а не только по каждому блоку в отдельности) и дифференцируема, блочная минимизация по двум блокам сходится к глобальному минимуму при мягких условиях компактности множества уровня[14].
-
Все перечисленные гарантии относятся к '''задачам минимизации''' (пусть даже невыпуклым). Когда альтернированный градиентный спуск применяется к '''минимаксной''' (седловой) задаче — как при обучении GAN, где обновления дискриминатора и генератора имеют противоположные знаки цели, — классические аргументы о монотонном убывании единой функции неприменимы вовсе, поскольку такой единой функции, убывающей на обоих шагах, не существует. Сходимость в этом случае — предмет отдельной, существенно более сложной теории игр и седловой оптимизации, выходящей за рамки настоящей статьи<ref name="goodfellow2014"/>.
+
=== N ≥ 3 блока: контрпример Пауэлла ===
-
== Применения в машинном обучении ==
+
Для <tex>N\ge3</tex> блоков даже гладкая невыпуклая функция без ограничений может порождать циклический покоординатный спуск, не сходящийся к стационарной точке, — контрпример Пауэлла показывает именно это[6]. Достаточное условие, устраняющее патологию, — '''единственность блокового минимума''' на каждом шаге (строгая выпуклость подзадач) вместе с непрерывностью соответствующих отображений; при этих условиях любая предельная точка последовательности является стационарной для совместной задачи[14].
-
=== Регуляризованная линейная и логистическая регрессия (Lasso, Elastic Net) ===
+
=== Невыпуклые негладкие задачи: неравенство Куржики — Лоясевича ===
-
Пакет ''glmnet'' и лежащий в его основе алгоритм используют циклический (проксимальный) покоординатный спуск для эффективного построения всего пути регуляризации Lasso и Elastic Net: для квадратичной функции потерь проксимальный шаг по одной координате имеет замкнутую форму мягкого порогового преобразования (soft-thresholding), что делает итерацию чрезвычайно дешёвой<ref name="friedman2010"/>. Это, пожалуй, самый массово используемый на практике инструмент, основанный на идее альтернированного градиентного/проксимального шага.
+
Для широкого класса задач, включающего практически все функции потерь машинного обучения (полуалгебраические, аналитические функции), Аттуш, Больте, Редон и Свайтер доказали глобальную сходимость '''всей''' последовательности итераций проксимальной альтернированной минимизации к критической точке, используя неравенство Куржики — Лоясевича ()[8,9]. Эта теория — общая основа и для точного блокового шага, и для его линеаризованных (градиентных) вариантов, которым посвящена сибling-статья.
-
=== Матричная факторизация в рекомендательных системах ===
+
=== Локальная линейная сходимость к глобальному минимуму ===
-
Для билинейной задачи <tex>R \approx UV^\top</tex> коллаборативной фильтрации существуют два принципиально разных способа оптимизации: точная альтернированная минимизация (Alternating Least Squares, ALS), решающая подзадачу по каждому фактору в замкнутой форме, и (стохастический) альтернированный градиентный спуск, обновляющий факторы небольшими шагами по отдельным наблюдениям. Корен, Белл и Волинский подробно обсуждают оба подхода как альтернативные стратегии оптимизации одной и той же целевой функции, отмечая, что стохастический градиентный вариант проще в реализации и часто быстрее на практике для очень больших разреженных наборов данных, тогда как ALS лучше параллелизуется и естественно работает с неявной обратной связью<ref name="korenbellvolinsky2009"/>.
+
Для ряда невыпуклых задач машинного обучения — восстановления матрицы низкого ранга по неполным или случайным линейным измерениям, фазовой задачи — доказана '''линейная (геометрическая)''' сходимость точной AM именно к '''истинному глобальному решению''', а не просто к произвольной стационарной точке. Джайн, Нетрапалли и Сангхави (2013) первыми установили это для восстановления матриц при спектральной инициализации и условии некогерентности (incoherence)[10]; Хардт (2014) заметно ослабил требования к числу наблюдений, связав анализ AM со степенным методом вычисления сингулярных векторов[11]; Нетрапалли, Джайн и Сангхави (2013) дали аналогичный результат для фазовой задачи с гауссовыми измерениями[12]. Принципиальная особенность этих результатов: гарантия относится к конкретной задаче со специфичными вероятностными предположениями о данных, а не к произвольной невыпуклой AM «в общем случае».
-
=== Разреженная неотрицательная матричная факторизация ===
+
== Применения в машинном обучении и анализе данных ==
-
Алгоритм PALM применяет линеаризованный (то есть градиентный, с проксимальной коррекцией на неотрицательность и разреженность) шаг к каждому из факторов <tex>W, H</tex> в задаче <tex>\min_{W\ge0,H\ge0}\|V-WH\|_F^2 + \lambda\|H\|_1</tex>, обеспечивая сходимость к критической точке — гарантию, которой не даёт классический мультипликативный алгоритм Ли и Сын<ref name="bolte2014"/>.
+
=== Метод k-means ===
-
=== Обучение генеративно-состязательных сетей ===
+
[[k-means]] Ллойда — хрестоматийный пример точной AM с дискретным первым блоком: на шаге присвоения точки закрепляются за ближайшим центроидом (точная минимизация по дискретной переменной принадлежности кластеру), на шаге обновления центроиды пересчитываются как средние по кластеру (точная минимизация суммы квадратов расстояний по непрерывной переменной)[15,16]. Оба шага строго уменьшают суммарную внутрикластерную дисперсию, что даёт сходимость к локальному минимуму за конечное число итераций (число возможных разбиений конечно).
-
В стандартной формулировке GAN генератор <tex>G</tex> и дискриминатор <tex>D</tex> обучаются попеременными шагами стохастического градиента по минимаксной целевой функции <tex>\min_G \max_D \mathbb{E}\bigl[\log D(x)\bigr] + \mathbb{E}\bigl[\log(1-D(G(z)))\bigr]</tex><ref name="goodfellow2014"/>. Формально это альтернированный градиентный спуск (точнее, спуск-подъём) по двум блокам параметров, однако, как отмечено выше, седловой характер задачи означает, что классические гарантии монотонного убывания и сходимости, справедливые для задач минимизации, здесь не действуют напрямую — это одна из причин практической нестабильности обучения GAN.
+
=== EM-алгоритм ===
-
=== Распределённое и федеративное восстановление матриц низкого ранга ===
+
Как показали Чисар и Туснади, [[EM-алгоритм]] — это AM для двойной минимизации дивергенции Кульбака — Лейблера: E-шаг точно минимизирует по «вспомогательному» распределению скрытых переменных, M-шаг — точно по параметрам модели[2,5].
-
Гибридная схема AltGDmin применяет один (проецированный) градиентный шаг к «глобальному» фактору матрицы низкого ранга — что требует передачи между узлами лишь компактных промежуточных величин, а не полных градиентов, — и точную минимизацию к «локальному» фактору, которая распадается на независимые дешёвые подзадачи по столбцам. Это позволяет достичь почти той же выборочной сложности, что и полностью точная альтернированная минимизация, при существенно меньшей коммуникационной стоимости — что критично для федеративного обучения<ref name="nayervaswani2021"/><ref name="vaswani2024"/><ref name="abbasivaswani2024"/>.
+
=== ALS для рекомендательных систем ===
-
=== Оптимизация «огромного масштаба» ===
+
В [[коллаборативная фильтрация|коллаборативной фильтрации]] с матричной факторизацией <tex>R\approx UV^\top</tex> задача
-
Для линейных моделей с очень большим числом признаков (например, в задачах с миллионами разреженных признаков) рандомизированный покоординатный градиентный спуск позволяет работать напрямую с отдельными координатами градиента, избегая дорогостоящего вычисления полного градиента на каждой итерации — именно эта мотивация лежала в основе анализа Нестерова<ref name="nesterov2012"/>.
+
: <tex>\min_{U,V}\sum_{(i,j)\in\Omega}\bigl(R_{ij}-U_i^\top V_j\bigr)^2+\lambda\bigl(\|U\|_F^2+\|V\|_F^2\bigr)</tex>
-
== Ограничения и практические аспекты ==
+
решается методом ''чередующихся наименьших квадратов'' (Alternating Least Squares, ALS): при фиксированном <tex>V</tex> каждая строка <tex>U_i</tex> находится в замкнутой форме
-
* '''Настройка шага.''' В отличие от точной альтернированной минимизации, где монотонное убывание не требует подбора параметров, альтернированный градиентный спуск требует знания (или оценки) блоковых констант Липшица <tex>L_i</tex> либо процедуры линейного поиска; неверно подобранный шаг может свести на нет теоретические гарантии.
+
: <tex>U_i=\Bigl(\sum_{j:(i,j)\in\Omega}V_jV_j^\top+\lambda I\Bigr)^{-1}\sum_{j:(i,j)\in\Omega}R_{ij}V_j,</tex>
-
* '''Порядок обновления блоков.''' Циклический порядок прост в реализации, но в невыпуклом нерегулярном случае в принципе подвержен патологиям, аналогичным контрпримеру Пауэлла; случайный порядок допускает более чистую теорию сходимости в ожидании<ref name="nesterov2012"/>, а жадный порядок может быть быстрее по числу итераций ценой более дорогой итерации<ref name="nutini2022"/>.
+
-
* '''Экономия против точности за итерацию.''' Градиентный шаг всегда дешевле точной блоковой минимизации, но даёт меньший гарантированный прогресс за итерацию; выбор между «дорогой точной» и «дешёвой градиентной» блоковой схемой (или гибридом, как в AltGDmin) — инженерный компромисс, зависящий от того, насколько дорога подзадача и насколько ограничена коммуникация между вычислительными узлами.
+
-
* '''Неприменимость классических гарантий к седловым задачам.''' Как показывает пример обучения GAN, при переходе от задач минимизации к минимаксным задачам стандартная теория сходимости альтернированного градиентного спуска (основанная на убывании единой целевой функции) не переносится автоматически и требует отдельного анализа.
+
-
* '''Связь с проксимальными методами.''' Формально альтернированный градиентный спуск с проксимальной коррекцией негладкой части — это блочная версия проксимального градиентного метода; вся теория ускорения (моменты Нестерова, адаптивные шаги) для проксимального градиентного спуска в целом переносится на блочный случай с соответствующими оговорками.
+
-
== См. также ==
+
и аналогично для <tex>V_j</tex>. Именно точная (а не градиентная) разрешимость подзадачи сделала ALS одним из ключевых компонентов алгоритмов-победителей [[Netflix Prize]] благодаря естественной параллелизуемости независимых подзадач по строкам[17,18].
-
* [[Альтернированная минимизация]]
+
=== Неотрицательная матричная факторизация ===
-
* [[Блочный координатный спуск]]
+
-
* [[Координатный спуск]]
+
-
* [[Градиентный спуск]]
+
-
* [[Проксимальный градиентный метод]]
+
-
* [[Стохастический градиентный спуск]]
+
-
* [[Lasso (статистика)|Lasso]]
+
-
* [[Неотрицательная матричная факторизация]]
+
-
* [[Генеративно-состязательная сеть]]
+
-
* [[Рекомендательная система]]
+
-
* [[Метод чередующихся направлений множителей]] (ADMM)
+
-
* [[Невыпуклая оптимизация]]
+
 +
Для задачи <tex>\min_{W\ge0,H\ge0}\|V-WH\|_F^2</tex> точный блоковый шаг реализуется методом ANLS (Alternating Nonnegativity-Constrained Least Squares): каждая подзадача — выпуклая задача с ограничениями неотрицательности, решаемая методом активного набора. В отличие от классических мультипликативных правил обновления Ли и Сын, которые дают лишь приближённое (не точное) блоковое убывание, ANLS обеспечивает точную блоковую минимизацию и, как правило, более надёжную сходимость к стационарной точке[19,20].
-
<references>
+
=== Восстановление матриц низкого ранга ===
-
<ref name="tsengyun2009">{{статья |автор=Tseng P., Yun S. |заглавие=A coordinate gradient descent method for nonsmooth separable minimization |издание=Mathematical Programming |год=2009 |том=117 |номер=1-2 |страницы=387–423 |doi=10.1007/s10107-007-0170-0}}</ref>
+
Для восстановления неизвестной матрицы <tex>X^\star=UV^\top</tex> низкого ранга по частичным наблюдениям (matrix completion) или случайным линейным измерениям (matrix sensing) точная AM с бивыпуклой параметризацией — один из наиболее изученных невыпуклых алгоритмов в теоретическом машинном обучении, с гарантиями полиномиальной и даже линейной сходимости к истинному решению при спектральной инициализации[10,11].
-
<ref name="beck2013">{{статья |автор=Beck A., Tetruashvili L. |заглавие=On the convergence of block coordinate descent type methods |издание=SIAM Journal on Optimization |год=2013 |том=23 |номер=4 |страницы=2037–2060 |doi=10.1137/120887679}}</ref>
+
=== Фазовая задача ===
-
<ref name="nesterov2012">{{статья |автор=Nesterov Y. |заглавие=Efficiency of coordinate descent methods on huge-scale optimization problems |издание=SIAM Journal on Optimization |год=2012 |том=22 |номер=2 |страницы=341–362}}</ref>
+
В [[фазовая задача|фазовой задаче]] требуется восстановить вектор <tex>x</tex> по измерениям модулей <tex>y=|Ax|</tex> без информации о фазе. Классический алгоритм чередующихся проекций Джерчберга — Сакстона попеременно точно оценивает недостающую фазу и точно решает задачу наименьших квадратов относительно <tex>x</tex>; строгий анализ геометрической сходимости этой схемы для гауссовых измерений дали Нетрапалли, Джайн и Сангхави[12].
-
<ref name="nutini2022">{{статья |автор=Nutini J., Laradji I., Schmidt M. |заглавие=Let's make block coordinate descent converge faster: faster greedy rules, message-passing, active-set complexity, and superlinear convergence |издание=Journal of Machine Learning Research |год=2022 |том=23 |номер=131 |страницы=1–74}}</ref>
+
=== Оптимальный транспорт и алгоритм Синхорна ===
-
<ref name="friedman2010">{{статья |автор=Friedman J., Hastie T., Tibshirani R. |заглавие=Regularization paths for generalized linear models via coordinate descent |издание=Journal of Statistical Software |год=2010 |том=33 |номер=1 |страницы=1–22 |doi=10.18637/jss.v033.i01}}</ref>
+
Энтропийно регуляризованная задача [[оптимальный транспорт|оптимального транспорта]] имеет гладкую вогнутую двойственную задачу по паре потенциалов <tex>(f,g)</tex>; алгоритм Синхорна, ставший стандартом благодаря вычислительной работе Кутюри (2013), — это точный блочный координатный подъём (alternating maximization) по этой двойственной паре, реализуемый как попеременное точное масштабирование строк и столбцов матрицы <tex>K=\exp(-C/\varepsilon)</tex>[21].
-
<ref name="powell1973">{{статья |автор=Powell M. J. D. |заглавие=On search directions for minimization algorithms |издание=Mathematical Programming |год=1973 |том=4 |страницы=193–201 |doi=10.1007/BF01584660}}</ref>
+
=== Другие инженерные применения ===
-
<ref name="hildreth1957">{{статья |автор=Hildreth C. |заглавие=A quadratic programming procedure |издание=Naval Research Logistics Quarterly |год=1957 |том=4 |номер=1 |страницы=79–85}}</ref>
+
Точная AM применяется и за пределами «классического» ML: например, в проектировании гибридных (аналого-цифровых) прекодеров для систем связи миллиметрового диапазона (mmWave MIMO) задача сводится к невыпуклой матричной факторизации с ограничениями постоянного модуля, решаемой попеременной точной минимизацией по цифровому и аналоговому прекодерам[22]. Более общая теория блочного координатного спуска для мультивыпуклых задач с приложениями к тензорным разложениям и восполнению тензоров дана Сюем и Инем[1].
-
<ref name="tseng2001">{{статья |автор=Tseng P. |заглавие=Convergence of a block coordinate descent method for nondifferentiable minimization |издание=Journal of Optimization Theory and Applications |год=2001 |том=109 |номер=3 |страницы=475–494}}</ref>
+
== Ограничения и практические аспекты ==
-
<ref name="bolte2014">{{статья |автор=Bolte J., Sabach S., Teboulle M. |заглавие=Proximal alternating linearized minimization for nonconvex and nonsmooth problems |издание=Mathematical Programming |год=2014 |том=146 |номер=1-2 |страницы=459–494 |doi=10.1007/s10107-013-0701-9}}</ref>
+
* '''Чувствительность к инициализации.''' Почти все интересные приложения AM в машинном обучении невыпуклы, и метод в общем случае сходится лишь к локальному минимуму или седловой точке; теоретические гарантии глобальной сходимости для матричной факторизации и фазовой задачи опираются на специальную спектральную инициализацию, а не на случайный старт[10,12].
 +
* '''Порядок обновления блоков.''' Циклический порядок обычно даёт более быструю практическую сходимость, чем параллельный (Якоби), но при <tex>N\ge3</tex> блоках теоретически может не сходиться (контрпример Пауэлла); случайный выбор блока допускает более чистую теорию сходимости.
 +
* '''Стоимость точной подзадачи.''' Главное структурное ограничение точной AM — подзадача должна быть разрешима в замкнутой форме или очень дёшево (иначе выигрыш по сравнению с полной совместной оптимизацией теряется). Когда это не так, разумной альтернативой становится альтернированный градиентный спуск или гибридные схемы вроде AltGDmin, сочетающие точный шаг по одному блоку и градиентный — по другому; подробнее см. статью «[[Альтернированный градиентный спуск]]».
 +
* '''Соотношение с ADMM.''' [[Метод чередующихся направлений множителей]] (ADMM) можно рассматривать как AM, применённую к расширенному лагранжиану задачи с ограничениями типа равенства; в отличие от «чистой» AM, ADMM явно поддерживает двойственные переменные, что улучшает сходимость для задач со связывающими блоки ограничениями, но требует настройки штрафного параметра.
-
<ref name="attouch2010">{{статья |автор=Attouch H., Bolte J., Redont P., Soubeyran A. |заглавие=Proximal alternating minimization and projection methods for nonconvex problems: An approach based on the Kurdyka–Łojasiewicz inequality |издание=Mathematics of Operations Research |год=2010 |том=35 |номер=2 |страницы=438–457}}</ref>
+
== См. также ==
-
<ref name="attouch2013">{{статья |автор=Attouch H., Bolte J., Svaiter B. F. |заглавие=Convergence of descent methods for semi-algebraic and tame problems: proximal algorithms, forward–backward splitting, and regularized Gauss–Seidel methods |издание=Mathematical Programming |год=2013 |том=137 |номер=1-2 |страницы=91–129}}</ref>
+
* [[Альтернированный градиентный спуск]]
-
 
+
* [[Блочный координатный спуск]]
-
<ref name="goodfellow2014">{{статья |автор=Goodfellow I., Pouget-Abadie J., Mirza M., Xu B., Warde-Farley D., Ozair S., Courville A., Bengio Y. |заглавие=Generative adversarial nets |издание=Advances in Neural Information Processing Systems 27 (NIPS 2014) |год=2014 |страницы=2672–2680}}</ref>
+
* [[Координатный спуск]]
-
 
+
* [[EM-алгоритм]]
-
<ref name="korenbellvolinsky2009">{{статья |автор=Koren Y., Bell R., Volinsky C. |заглавие=Matrix factorization techniques for recommender systems |издание=Computer |год=2009 |том=42 |номер=8 |страницы=30–37 |doi=10.1109/MC.2009.263}}</ref>
+
* [[k-means]]
-
 
+
* [[Неотрицательная матричная факторизация]]
-
<ref name="nayervaswani2021">{{статья |автор=Nayer S., Vaswani N. |заглавие=Fast and sample-efficient federated low rank matrix recovery from column-wise linear and quadratic projections |год=2021 |издание=arXiv:2102.10217}}</ref>
+
* [[Метод чередующихся направлений множителей]] (ADMM)
-
 
+
* [[Оптимальный транспорт]]
-
<ref name="vaswani2024">{{статья |автор=Vaswani N. |заглавие=Efficient federated low rank matrix recovery via alternating GD and minimization: a simple proof |издание=IEEE Transactions on Information Theory |год=2024 |doi=10.1109/TIT.2024.3365795}}</ref>
+
* [[Рекомендательная система]]
 +
* [[Фазовая задача]]
 +
* [[Невыпуклая оптимизация]]
-
<ref name="abbasivaswani2024">{{статья |автор=Abbasi A. A., Vaswani N. |заглавие=Efficient federated low rank matrix completion |год=2024 |издание=arXiv:2405.06569}}</ref>
+
== Примечания ==
-
<ref name="csiszartusnady">{{статья |автор=Csiszár I., Tusnády G. |заглавие=Information geometry and alternating minimization procedures |издание=Statistics &amp; Decisions |год=1984 |выпуск=Suppl. Issue 1 |страницы=205–237}}</ref>
+
# Xu Y., Yin W. A block coordinate descent method for regularized multiconvex optimization with applications to nonnegative tensor factorization and completion // SIAM Journal on Imaging Sciences. — 2013. — Т. 6, № 3. — С. 1758–1789.
 +
# Csiszár I., Tusnády G. Information geometry and alternating minimization procedures // Statistics & Decisions. — 1984. — Вып. Suppl. Issue 1. — С. 205–237.
 +
# Bauschke H. H., Combettes P. L. Convex Analysis and Monotone Operator Theory in Hilbert Spaces. — Springer, 2011. (глава о методе чередующихся проекций фон Неймана)
 +
# Hildreth C. A quadratic programming procedure // Naval Research Logistics Quarterly. — 1957. — Т. 4, № 1. — С. 79–85.
 +
# Dempster A. P., Laird N. M., Rubin D. B. Maximum likelihood from incomplete data via the EM algorithm // Journal of the Royal Statistical Society: Series B. — 1977. — Т. 39, № 1. — С. 1–38. DOI:10.1111/j.2517-6161.1977.tb01600.x.
 +
# Powell M. J. D. On search directions for minimization algorithms // Mathematical Programming. — 1973. — Т. 4. — С. 193–201. DOI:10.1007/BF01584660.
 +
# Tseng P. Convergence of a block coordinate descent method for nondifferentiable minimization // Journal of Optimization Theory and Applications. — 2001. — Т. 109, № 3. — С. 475–494.
 +
# Attouch H., Bolte J., Redont P., Soubeyran A. Proximal alternating minimization and projection methods for nonconvex problems: An approach based on the Kurdyka–Łojasiewicz inequality // Mathematics of Operations Research. — 2010. — Т. 35, № 2. — С. 438–457.
 +
# Attouch H., Bolte J., Svaiter B. F. Convergence of descent methods for semi-algebraic and tame problems: proximal algorithms, forward–backward splitting, and regularized Gauss–Seidel methods // Mathematical Programming. — 2013. — Т. 137, № 1-2. — С. 91–129.
 +
# Jain P., Netrapalli P., Sanghavi S. Low-rank matrix completion using alternating minimization // Proceedings of the 45th Annual ACM Symposium on Theory of Computing (STOC). — 2013. — С. 665–674. DOI:10.1145/2488608.2488693.
 +
# Hardt M. Understanding alternating minimization for matrix completion // Proceedings of the 55th Annual IEEE Symposium on Foundations of Computer Science (FOCS). — 2014. — С. 651–660. DOI:10.1109/FOCS.2014.75.
 +
# Netrapalli P., Jain P., Sanghavi S. Phase retrieval using alternating minimization // Advances in Neural Information Processing Systems 26 (NIPS 2013). — 2013. — С. 2796–2804.
 +
# Vaswani N. Efficient federated low rank matrix recovery via alternating GD and minimization: a simple proof // IEEE Transactions on Information Theory. — 2024. DOI:10.1109/TIT.2024.3365795.
 +
# Bertsekas D. P. Nonlinear Programming. — 2-е изд. — Athena Scientific, 1999.
 +
# Lloyd S. P. Least squares quantization in PCM // IEEE Transactions on Information Theory. — 1982. — Т. 28, № 2. — С. 129–137. DOI:10.1109/TIT.1982.1056489. (результат распространялся как техотчёт Bell Labs с 1957 года)
 +
# MacQueen J. Some methods for classification and analysis of multivariate observations // Proceedings of the 5th Berkeley Symposium on Mathematical Statistics and Probability. — 1967. — Т. 1. — С. 281–297.
 +
# Koren Y., Bell R., Volinsky C. Matrix factorization techniques for recommender systems // Computer. — 2009. — Т. 42, № 8. — С. 30–37. DOI:10.1109/MC.2009.263.
 +
# Zhou Y., Wilkinson D., Schreiber R., Pan R. Large-scale parallel collaborative filtering for the Netflix prize // Algorithmic Aspects in Information and Management (AAIM). — 2008. — С. 337–348.
 +
# Lee D. D., Seung H. S. Learning the parts of objects by non-negative matrix factorization // Nature. — 1999. — Т. 401. — С. 788–791. DOI:10.1038/44565.
 +
# Kim H., Park H. Nonnegative matrix factorization based on alternating nonnegativity constrained least squares and active set method // SIAM Journal on Matrix Analysis and Applications. — 2008. — Т. 30, № 2. — С. 713–730.
 +
# Cuturi M. Sinkhorn distances: lightspeed computation of optimal transport // Advances in Neural Information Processing Systems 26 (NIPS 2013). — 2013. — С. 2292–2300. arXiv:1306.0895.
 +
# Yu X., Shen J.-C., Zhang J., Letaief K. B. Alternating minimization algorithms for hybrid precoding in millimeter wave MIMO systems // IEEE Journal of Selected Topics in Signal Processing. — 2016. — Т. 10. — С. 485–500.
-
</references>
 
== Литература ==
== Литература ==
-
* {{статья |автор=Tseng P., Yun S. |заглавие=A coordinate gradient descent method for nonsmooth separable minimization |издание=Mathematical Programming |год=2009 |том=117 |страницы=387–423}}
+
* Bertsekas D. P. Nonlinear Programming. — 2-е изд. — Athena Scientific, 1999.
-
* {{статья |автор=Beck A., Tetruashvili L. |заглавие=On the convergence of block coordinate descent type methods |издание=SIAM Journal on Optimization |год=2013 |том=23 |номер=4 |страницы=2037–2060}}
+
* Beck A. First-Order Methods in Optimization. SIAM, 2017.
-
* {{статья |автор=Nesterov Y. |заглавие=Efficiency of coordinate descent methods on huge-scale optimization problems |издание=SIAM Journal on Optimization |год=2012 |том=22 |номер=2 |страницы=341–362}}
+
* Bauschke H. H., Combettes P. L. Convex Analysis and Monotone Operator Theory in Hilbert Spaces. — Springer, 2011.
-
* {{статья |автор=Wright S. J. |заглавие=Coordinate descent algorithms |издание=Mathematical Programming |год=2015 |том=151 |номер=1 |страницы=3–34}}
+
* Csiszár I., Tusnády G. Information geometry and alternating minimization procedures // Statistics & Decisions. — 1984. — Вып. Suppl. Issue 1. — С. 205–237.
-
* {{статья |автор=Bolte J., Sabach S., Teboulle M. |заглавие=Proximal alternating linearized minimization for nonconvex and nonsmooth problems |издание=Mathematical Programming |год=2014 |том=146 |страницы=459–494}}
+
* Jain P., Netrapalli P., Sanghavi S. Low-rank matrix completion using alternating minimization // STOC. — 2013. — С. 665–674.
-
* {{статья |автор=Friedman J., Hastie T., Tibshirani R. |заглавие=Regularization paths for generalized linear models via coordinate descent |издание=Journal of Statistical Software |год=2010 |том=33 |номер=1 |страницы=1–22}}
+
* Attouch H., Bolte J., Svaiter B. F. Convergence of descent methods for semi-algebraic and tame problems // Mathematical Programming. — 2013. — Т. 137. — С. 91–129.
-
* {{книга |автор=Bertsekas D. P. |заглавие=Nonlinear Programming |издание=2-е изд. |издательство=Athena Scientific |год=1999}}
+
* Koren Y., Bell R., Volinsky C. Matrix factorization techniques for recommender systems // Computer. — 2009. — Т. 42, № 8. — С. 30–37.
-
* {{книга |автор=Beck A. |заглавие=First-Order Methods in Optimization |издательство=SIAM |год=2017}}
+
[[Категория:Методы оптимизации]]
[[Категория:Методы оптимизации]]
Строка 167: Строка 175:
[[Категория:Машинное обучение]]
[[Категория:Машинное обучение]]
[[Категория:Численные методы]]
[[Категория:Численные методы]]
-
[[Категория:Градиентные методы]]
+
[[Категория:Алгоритмы кластеризации]]
 +
[[Категория:Матричные разложения]]

Текущая версия

Альтернированная минимизация (англ. alternating minimization, AM; при числе блоков переменных N>2 также называется блочным координатным спуском, block coordinate descent, BCD) — семейство итеративных методов оптимизации, в которых на каждом шаге целевая функция точно минимизируется по одной группе переменных («блоку») при фиксированных значениях остальных блоков, после чего роли блоков меняются местами. Метод особенно эффективен для задач, невыпуклых по совокупности всех переменных, но выпуклых (и часто разрешимых в замкнутой форме) по каждому блоку в отдельности — такие функции называют бивыпуклыми (biconvex) при двух блоках и мультивыпуклыми (multiconvex) при большем их числе[1].

От родственного метода — альтернированного градиентного спуска, где вместо точной минимизации по блоку выполняется один (или несколько) шагов градиентного метода, — альтернированную минимизацию отличает ключевое свойство: монотонное убывание целевой функции гарантировано самой геометрией задачи и не требует подбора шага обучения. Плата за это — подзадача на каждом шаге должна быть точно разрешима, что накладывает структурные ограничения на класс решаемых задач. Настоящая статья посвящена именно точному блоковому шагу; читателя, которого интересует градиентный вариант и его отдельная теория сходимости, следует отправить к статье «Альтернированный градиентный спуск».

Идея точной блоковой минимизации лежит в основе многих базовых алгоритмов машинного обучения и анализа данных: метода k-means, EM-алгоритма, чередующихся наименьших квадратов (ALS) для рекомендательных систем, точных вариантов неотрицательной матричной факторизации, восстановления матриц низкого ранга, решения фазовой задачи и вычисления оптимального транспорта через алгоритм Синхорна.

Содержание

Формальная постановка

Двухблочный случай

Пусть требуется решить задачу

\min_{x \in X,\, y \in Y} F(x,y)

для функции F: X \times Y \to \mathbb{R}. Альтернированная минимизация порождает последовательность (x_t, y_t) по правилу

x_{t+1} = \arg\min_{x \in X} F(x, y_t), \qquad y_{t+1} = \arg\min_{y \in Y} F(x_{t+1}, y).

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

N-блочный случай

Обобщение на N блоков x=(x_1,\dots,x_N) задаётся циклом

x_i^{t+1} = \arg\min_{x_i} \; F\bigl(x_1^{t+1},\dots,x_{i-1}^{t+1},\, x_i,\, x_{i+1}^{t},\dots,x_N^{t}\bigr), \qquad i=1,\dots,N,

где уже обновлённые блоки используются немедленно (схема Гаусса — Зейделя); альтернативная схема Якоби использует во всех подзадачах значения блоков из предыдущей итерации целиком, что допускает параллельное обновление ценой более медленной сходимости.

Терминологическое замечание: исторически термин «альтернированная минимизация» закреплён за случаем N=2 — именно для двух распределений его вводили Чисар и Туснади[2], тогда как для N\ge 3 блоков в англоязычной литературе почти всегда говорят о block coordinate descent. Различие не только терминологическое: как показано ниже, свойства сходимости для N=2 и N\ge3 принципиально различаются.

Мотивация и геометрическая интуиция

Почему именно точная блоковая минимизация, а не совместная оптимизация по всем переменным сразу?

  • Подзадачи оказываются выпуклыми и разрешимыми в замкнутой форме. Классический пример — билинейная параметризация M \approx UV^\top: функция \|M-UV^\top\|_F^2 невыпукла по паре (U,V) совместно (что видно уже из неединственности решения с точностью до U\to UQ,\ V\to VQ^{-\top} для обратимой Q), но при фиксированном V строго выпукла и квадратична по U, то есть решается через нормальные уравнения без вложенного итеративного цикла.
  • Монотонность — «бесплатное» следствие геометрии, а не выбора параметров. Поскольку каждый шаг — точный минимум по подмножеству переменных, значение функции не может возрасти:
F(x_t,y_t) \ge F(x_{t+1}, y_t) \ge F(x_{t+1}, y_{t+1}) \ge \dots

Если F ограничена снизу, эта монотонно невозрастающая последовательность сходится к некоторому F^*. В отличие от градиентного варианта, здесь не нужно оценивать константы Липшица или подбирать шаг — убывание гарантировано геометрией подзадачи. Важно, однако, что из сходимости значений не следует автоматически сходимость самих итераций к стационарной точке — это требует дополнительных условий регулярности (см. раздел «Сходимость»).

Геометрически метод удобно представлять как движение по «ступенькам» вдоль линий уровня F. Частный, но принципиальный пример такой геометрии — метод чередующихся проекций фон Неймана для поиска точки в пересечении двух выпуклых множеств C_1 \cap C_2: если положить F(x,y)=\|x-y\|^2 с ограничениями x\in C_1, y\in C_2, то альтернированная минимизация в точности сводится к попеременному проецированию x_{t+1}=P_{C_1}(y_t), y_{t+1}=P_{C_2}(x_{t+1})[3].

История

Истоки метода восходят к методу чередующихся проекций фон Неймана (конец 1940-х годов)[3] и к покоординатным схемам конца 1950-х, например к алгоритму Хилдрета для квадратичного программирования[4].

Ключевой теоретический вклад внесла работа Имре Чисара и Габора Туснади 1984 года «Information geometry and alternating minimization procedures», формализовавшая метод на языке информационной геометрии: авторы доказали «трёхточечное свойство» (three-point property), гарантирующее сходимость при выпуклости обоих множеств, и показали, что классический EM-алгоритм Демпстера, Лэйрда и Рубина (1977) является частным случаем AM для минимизации дивергенции Кульбака — Лейблера между эмпирическим распределением данных и параметрическим семейством модели[2,5]. Годом ранее, в 1973 году, Майкл Пауэлл опубликовал контрпример, показавший, что точный циклический покоординатный спуск для гладких невыпуклых функций трёх и более переменных может не сходиться к стационарной точке, а «застревать» на предельном цикле, где градиент отделён от нуля[6] — этот результат на десятилетия обозначил границы применимости AM при N\ge3.

С 2000-х годов теория обогатилась инструментами для негладких и невыпуклых задач: Ценг (2001) дал условия сходимости блочного координатного спуска для недифференцируемых, но регулярных задач[7], а серия работ Аттуш, Больте, Редона и Свайтера установила глобальную сходимость проксимальной альтернированной минимизации к критической точке через теорию неравенства Куржики — Лоясевича для широкого класса невыпуклых негладких задач[8,9]. Параллельно теоретическая информатика дала первые гарантии полиномиальной сходимости точной AM к глобальному минимуму для конкретных невыпуклых задач машинного обучения: восстановления матриц низкого ранга (Jain, Netrapalli, Sanghavi, 2013; Hardt, 2014) и фазовой задачи (Netrapalli, Jain, Sanghavi, 2013)[10,11,12]. В 2020-е годы у метода появились коммуникационно-эффективные гибриды с градиентным шагом (AltGDmin), которым посвящена отдельная статья «Альтернированный градиентный спуск»[13].

Сходимость

Монотонность и её пределы

Как отмечено выше, последовательность значений функции монотонно не возрастает и сходится к некоторому F^*, если F ограничена снизу. Из этого факта, однако, не следует ни сходимость самих итераций к точке, ни то, что предельная точка является хотя бы локальным минимумом совместной задачи.

Двухблочный выпуклый случай

Если F совместно выпукла (а не только по каждому блоку в отдельности) и дифференцируема, блочная минимизация по двум блокам сходится к глобальному минимуму при мягких условиях компактности множества уровня[14].

N ≥ 3 блока: контрпример Пауэлла

Для N\ge3 блоков даже гладкая невыпуклая функция без ограничений может порождать циклический покоординатный спуск, не сходящийся к стационарной точке, — контрпример Пауэлла показывает именно это[6]. Достаточное условие, устраняющее патологию, — единственность блокового минимума на каждом шаге (строгая выпуклость подзадач) вместе с непрерывностью соответствующих отображений; при этих условиях любая предельная точка последовательности является стационарной для совместной задачи[14].

Невыпуклые негладкие задачи: неравенство Куржики — Лоясевича

Для широкого класса задач, включающего практически все функции потерь машинного обучения (полуалгебраические, аналитические функции), Аттуш, Больте, Редон и Свайтер доказали глобальную сходимость всей последовательности итераций проксимальной альтернированной минимизации к критической точке, используя неравенство Куржики — Лоясевича (KŁ)[8,9]. Эта теория — общая основа и для точного блокового шага, и для его линеаризованных (градиентных) вариантов, которым посвящена сибling-статья.

Локальная линейная сходимость к глобальному минимуму

Для ряда невыпуклых задач машинного обучения — восстановления матрицы низкого ранга по неполным или случайным линейным измерениям, фазовой задачи — доказана линейная (геометрическая) сходимость точной AM именно к истинному глобальному решению, а не просто к произвольной стационарной точке. Джайн, Нетрапалли и Сангхави (2013) первыми установили это для восстановления матриц при спектральной инициализации и условии некогерентности (incoherence)[10]; Хардт (2014) заметно ослабил требования к числу наблюдений, связав анализ AM со степенным методом вычисления сингулярных векторов[11]; Нетрапалли, Джайн и Сангхави (2013) дали аналогичный результат для фазовой задачи с гауссовыми измерениями[12]. Принципиальная особенность этих результатов: гарантия относится к конкретной задаче со специфичными вероятностными предположениями о данных, а не к произвольной невыпуклой AM «в общем случае».

Применения в машинном обучении и анализе данных

Метод k-means

k-means Ллойда — хрестоматийный пример точной AM с дискретным первым блоком: на шаге присвоения точки закрепляются за ближайшим центроидом (точная минимизация по дискретной переменной принадлежности кластеру), на шаге обновления центроиды пересчитываются как средние по кластеру (точная минимизация суммы квадратов расстояний по непрерывной переменной)[15,16]. Оба шага строго уменьшают суммарную внутрикластерную дисперсию, что даёт сходимость к локальному минимуму за конечное число итераций (число возможных разбиений конечно).

EM-алгоритм

Как показали Чисар и Туснади, EM-алгоритм — это AM для двойной минимизации дивергенции Кульбака — Лейблера: E-шаг точно минимизирует по «вспомогательному» распределению скрытых переменных, M-шаг — точно по параметрам модели[2,5].

ALS для рекомендательных систем

В коллаборативной фильтрации с матричной факторизацией R\approx UV^\top задача

\min_{U,V}\sum_{(i,j)\in\Omega}\bigl(R_{ij}-U_i^\top V_j\bigr)^2+\lambda\bigl(\|U\|_F^2+\|V\|_F^2\bigr)

решается методом чередующихся наименьших квадратов (Alternating Least Squares, ALS): при фиксированном V каждая строка U_i находится в замкнутой форме

U_i=\Bigl(\sum_{j:(i,j)\in\Omega}V_jV_j^\top+\lambda I\Bigr)^{-1}\sum_{j:(i,j)\in\Omega}R_{ij}V_j,

и аналогично для V_j. Именно точная (а не градиентная) разрешимость подзадачи сделала ALS одним из ключевых компонентов алгоритмов-победителей Netflix Prize благодаря естественной параллелизуемости независимых подзадач по строкам[17,18].

Неотрицательная матричная факторизация

Для задачи \min_{W\ge0,H\ge0}\|V-WH\|_F^2 точный блоковый шаг реализуется методом ANLS (Alternating Nonnegativity-Constrained Least Squares): каждая подзадача — выпуклая задача с ограничениями неотрицательности, решаемая методом активного набора. В отличие от классических мультипликативных правил обновления Ли и Сын, которые дают лишь приближённое (не точное) блоковое убывание, ANLS обеспечивает точную блоковую минимизацию и, как правило, более надёжную сходимость к стационарной точке[19,20].

Восстановление матриц низкого ранга

Для восстановления неизвестной матрицы X^\star=UV^\top низкого ранга по частичным наблюдениям (matrix completion) или случайным линейным измерениям (matrix sensing) точная AM с бивыпуклой параметризацией — один из наиболее изученных невыпуклых алгоритмов в теоретическом машинном обучении, с гарантиями полиномиальной и даже линейной сходимости к истинному решению при спектральной инициализации[10,11].

Фазовая задача

В фазовой задаче требуется восстановить вектор x по измерениям модулей y=|Ax| без информации о фазе. Классический алгоритм чередующихся проекций Джерчберга — Сакстона попеременно точно оценивает недостающую фазу и точно решает задачу наименьших квадратов относительно x; строгий анализ геометрической сходимости этой схемы для гауссовых измерений дали Нетрапалли, Джайн и Сангхави[12].

Оптимальный транспорт и алгоритм Синхорна

Энтропийно регуляризованная задача оптимального транспорта имеет гладкую вогнутую двойственную задачу по паре потенциалов (f,g); алгоритм Синхорна, ставший стандартом благодаря вычислительной работе Кутюри (2013), — это точный блочный координатный подъём (alternating maximization) по этой двойственной паре, реализуемый как попеременное точное масштабирование строк и столбцов матрицы K=\exp(-C/\varepsilon)[21].

Другие инженерные применения

Точная AM применяется и за пределами «классического» ML: например, в проектировании гибридных (аналого-цифровых) прекодеров для систем связи миллиметрового диапазона (mmWave MIMO) задача сводится к невыпуклой матричной факторизации с ограничениями постоянного модуля, решаемой попеременной точной минимизацией по цифровому и аналоговому прекодерам[22]. Более общая теория блочного координатного спуска для мультивыпуклых задач с приложениями к тензорным разложениям и восполнению тензоров дана Сюем и Инем[1].

Ограничения и практические аспекты

  • Чувствительность к инициализации. Почти все интересные приложения AM в машинном обучении невыпуклы, и метод в общем случае сходится лишь к локальному минимуму или седловой точке; теоретические гарантии глобальной сходимости для матричной факторизации и фазовой задачи опираются на специальную спектральную инициализацию, а не на случайный старт[10,12].
  • Порядок обновления блоков. Циклический порядок обычно даёт более быструю практическую сходимость, чем параллельный (Якоби), но при N\ge3 блоках теоретически может не сходиться (контрпример Пауэлла); случайный выбор блока допускает более чистую теорию сходимости.
  • Стоимость точной подзадачи. Главное структурное ограничение точной AM — подзадача должна быть разрешима в замкнутой форме или очень дёшево (иначе выигрыш по сравнению с полной совместной оптимизацией теряется). Когда это не так, разумной альтернативой становится альтернированный градиентный спуск или гибридные схемы вроде AltGDmin, сочетающие точный шаг по одному блоку и градиентный — по другому; подробнее см. статью «Альтернированный градиентный спуск».
  • Соотношение с ADMM. Метод чередующихся направлений множителей (ADMM) можно рассматривать как AM, применённую к расширенному лагранжиану задачи с ограничениями типа равенства; в отличие от «чистой» AM, ADMM явно поддерживает двойственные переменные, что улучшает сходимость для задач со связывающими блоки ограничениями, но требует настройки штрафного параметра.

См. также

Примечания

  1. Xu Y., Yin W. A block coordinate descent method for regularized multiconvex optimization with applications to nonnegative tensor factorization and completion // SIAM Journal on Imaging Sciences. — 2013. — Т. 6, № 3. — С. 1758–1789.
  2. Csiszár I., Tusnády G. Information geometry and alternating minimization procedures // Statistics & Decisions. — 1984. — Вып. Suppl. Issue 1. — С. 205–237.
  3. Bauschke H. H., Combettes P. L. Convex Analysis and Monotone Operator Theory in Hilbert Spaces. — Springer, 2011. (глава о методе чередующихся проекций фон Неймана)
  4. Hildreth C. A quadratic programming procedure // Naval Research Logistics Quarterly. — 1957. — Т. 4, № 1. — С. 79–85.
  5. Dempster A. P., Laird N. M., Rubin D. B. Maximum likelihood from incomplete data via the EM algorithm // Journal of the Royal Statistical Society: Series B. — 1977. — Т. 39, № 1. — С. 1–38. DOI:10.1111/j.2517-6161.1977.tb01600.x.
  6. Powell M. J. D. On search directions for minimization algorithms // Mathematical Programming. — 1973. — Т. 4. — С. 193–201. DOI:10.1007/BF01584660.
  7. Tseng P. Convergence of a block coordinate descent method for nondifferentiable minimization // Journal of Optimization Theory and Applications. — 2001. — Т. 109, № 3. — С. 475–494.
  8. Attouch H., Bolte J., Redont P., Soubeyran A. Proximal alternating minimization and projection methods for nonconvex problems: An approach based on the Kurdyka–Łojasiewicz inequality // Mathematics of Operations Research. — 2010. — Т. 35, № 2. — С. 438–457.
  9. Attouch H., Bolte J., Svaiter B. F. Convergence of descent methods for semi-algebraic and tame problems: proximal algorithms, forward–backward splitting, and regularized Gauss–Seidel methods // Mathematical Programming. — 2013. — Т. 137, № 1-2. — С. 91–129.
  10. Jain P., Netrapalli P., Sanghavi S. Low-rank matrix completion using alternating minimization // Proceedings of the 45th Annual ACM Symposium on Theory of Computing (STOC). — 2013. — С. 665–674. DOI:10.1145/2488608.2488693.
  11. Hardt M. Understanding alternating minimization for matrix completion // Proceedings of the 55th Annual IEEE Symposium on Foundations of Computer Science (FOCS). — 2014. — С. 651–660. DOI:10.1109/FOCS.2014.75.
  12. Netrapalli P., Jain P., Sanghavi S. Phase retrieval using alternating minimization // Advances in Neural Information Processing Systems 26 (NIPS 2013). — 2013. — С. 2796–2804.
  13. Vaswani N. Efficient federated low rank matrix recovery via alternating GD and minimization: a simple proof // IEEE Transactions on Information Theory. — 2024. DOI:10.1109/TIT.2024.3365795.
  14. Bertsekas D. P. Nonlinear Programming. — 2-е изд. — Athena Scientific, 1999.
  15. Lloyd S. P. Least squares quantization in PCM // IEEE Transactions on Information Theory. — 1982. — Т. 28, № 2. — С. 129–137. DOI:10.1109/TIT.1982.1056489. (результат распространялся как техотчёт Bell Labs с 1957 года)
  16. MacQueen J. Some methods for classification and analysis of multivariate observations // Proceedings of the 5th Berkeley Symposium on Mathematical Statistics and Probability. — 1967. — Т. 1. — С. 281–297.
  17. Koren Y., Bell R., Volinsky C. Matrix factorization techniques for recommender systems // Computer. — 2009. — Т. 42, № 8. — С. 30–37. DOI:10.1109/MC.2009.263.
  18. Zhou Y., Wilkinson D., Schreiber R., Pan R. Large-scale parallel collaborative filtering for the Netflix prize // Algorithmic Aspects in Information and Management (AAIM). — 2008. — С. 337–348.
  19. Lee D. D., Seung H. S. Learning the parts of objects by non-negative matrix factorization // Nature. — 1999. — Т. 401. — С. 788–791. DOI:10.1038/44565.
  20. Kim H., Park H. Nonnegative matrix factorization based on alternating nonnegativity constrained least squares and active set method // SIAM Journal on Matrix Analysis and Applications. — 2008. — Т. 30, № 2. — С. 713–730.
  21. Cuturi M. Sinkhorn distances: lightspeed computation of optimal transport // Advances in Neural Information Processing Systems 26 (NIPS 2013). — 2013. — С. 2292–2300. arXiv:1306.0895.
  22. Yu X., Shen J.-C., Zhang J., Letaief K. B. Alternating minimization algorithms for hybrid precoding in millimeter wave MIMO systems // IEEE Journal of Selected Topics in Signal Processing. — 2016. — Т. 10. — С. 485–500.


Литература

  • Bertsekas D. P. Nonlinear Programming. — 2-е изд. — Athena Scientific, 1999.
  • Beck A. First-Order Methods in Optimization. — SIAM, 2017.
  • Bauschke H. H., Combettes P. L. Convex Analysis and Monotone Operator Theory in Hilbert Spaces. — Springer, 2011.
  • Csiszár I., Tusnády G. Information geometry and alternating minimization procedures // Statistics & Decisions. — 1984. — Вып. Suppl. Issue 1. — С. 205–237.
  • Jain P., Netrapalli P., Sanghavi S. Low-rank matrix completion using alternating minimization // STOC. — 2013. — С. 665–674.
  • Attouch H., Bolte J., Svaiter B. F. Convergence of descent methods for semi-algebraic and tame problems // Mathematical Programming. — 2013. — Т. 137. — С. 91–129.
  • Koren Y., Bell R., Volinsky C. Matrix factorization techniques for recommender systems // Computer. — 2009. — Т. 42, № 8. — С. 30–37.