Алгоритм Шамболь-Пока
В математике алгоритм Шамболь-Пока — это алгоритм, используемый для решения выпуклой оптимизации задач . Его представили Антонен Шамболь и Томас Пок. [1] в 2011 году и с тех пор стал широко используемым методом в различных областях, включая обработку изображений , [2] [3] [4] компьютерное зрение , [5] и обработка сигналов . [6]
Алгоритм Шамболь-Пока специально разработан для эффективного решения задач выпуклой оптимизации, которые включают минимизацию негладкой функции стоимости , состоящей из члена точности данных и члена регуляризации. [1] Это типичная конфигурация, которая обычно возникает при некорректных обратных задачах построения изображений, таких как реконструкция изображений . [2] шумоподавление [3] и роспись . [4]
Алгоритм основан на формулировке «просто-двойственный», которая позволяет одновременно обновлять основные и двойственные переменные. Используя проксимальный оператор , алгоритм Шамболь-Пока эффективно обрабатывает негладкие и невыпуклые члены регуляризации, такие как общая вариация , специфичные для структуры визуализации. [1]
Постановка задачи
[ редактировать ]Пусть будет два действительных векторных пространства, снабженных внутренним произведением и норма . До сих пор функция называется простым, если его проксимальный оператор имеет представление в замкнутой форме или может быть точно вычислено, поскольку , [1] где упоминается
Рассмотрим следующую простую задачу с ограничениями: [1]
где — ограниченный линейный оператор , выпуклы . , полунепрерывны снизу и просты [1]
Задача минимизации имеет двойственную соответствующую проблему: [1]
где и являются двойной картой и , соответственно. [1]
Предположим, что основная и двойственная задачи имеют по крайней мере решение. , это означает, что они удовлетворяют [7]
где и являются субградиентом выпуклых функций и , соответственно. [7]
Алгоритм Шамболя-Пока решает так называемую проблему седловой точки. [1]
которая представляет собой первично-двойственную формулировку сформулированных ранее нелинейных первичной и двойственной задач. [1]
Алгоритм
[ редактировать ]Алгоритм Шамболь-Пока в первую очередь включает в себя итеративное чередование возрастания двойной переменной и по убыванию основной переменной используя градиентный подход с размерами шага и соответственно, чтобы одновременно решить первичную и двойственную задачу. [2] Кроме того, используется метод сверхрелаксации для основной переменной с параметром . [1]
Algorithm Chambolle-Pock algorithm
Input: and set , stopping criterion.
do while stopping criterion not satisfied end do
- « ←» означает присвоение . Например, « самый большой ← элемент » означает, что значение самого большого изменяется на значение элемента .
- « return » завершает алгоритм и выводит следующее значение.
Шамболь и Пок доказали [1] что алгоритм сходится, если и , последовательно и с как скорость сходимости первично-двойственного разрыва. Это было расширено С. Банертом и др. [8] держать всякий раз, когда и .
Полунеявный метод Эрроу-Гурвича. [9] совпадает с конкретным выбором в алгоритме Шамболя-Пока. [1]
Ускорение
[ редактировать ]Существуют особые случаи, когда скорость сходимости теоретически увеличивается. [1] Фактически, если , соответственно , равномерно выпукла, то , соответственно , имеет непрерывный градиент Липшица. Тогда скорость сходимости можно улучшить до , внося небольшие изменения в алгоритм Шамболь-Пока. Он приводит к ускоренному варианту метода и заключается в итеративном выборе , а также , вместо фиксации этих значений. [1]
В случае равномерно выпуклый, с константа равномерной выпуклости, модифицированный алгоритм становится [1]
Algorithm Accelerated Chambolle-Pock algorithm
Input: such that and set , stopping criterion.
do while stopping criterion not satisfied end do
- « ←» означает присвоение . Например, « самый большой ← элемент » означает, что значение самого большого изменяется на значение элемента .
- « return » завершает алгоритм и выводит следующее значение.
Более того, сходимость алгоритма замедляется, когда , норма оператора , не поддается простой оценке или может быть очень большим. Выбор правильных предобуславливателей и , модифицируя проксимальный оператор с введением индуцированной нормы через операторы и , то сходимость предложенного предобусловленного алгоритма будет обеспечена. [10]
Приложение
[ редактировать ]Типичное применение этого алгоритма — в системе шумоподавления изображений , основанной на общей вариации. [3] Он основан на концепции, согласно которой сигналы, содержащие чрезмерные и потенциально ошибочные детали, демонстрируют высокую общую вариацию, которая представляет собой интеграл градиента абсолютного значения изображения. [3] Придерживаясь этого принципа, процесс направлен на уменьшение общего отклонения сигнала, сохраняя при этом его сходство с исходным сигналом, эффективно устраняя нежелательные детали и сохраняя при этом такие важные характеристики, как края. В классической двумерной дискретной ситуации [11] учитывать , где элемент представляет изображение со значениями пикселей, расположенными в декартовой сетке . [1]
Определите внутренний продукт на как [1]
что вызывает норма на , обозначенный как . [1]
Следовательно, градиент вычисляется с использованием стандартных конечных разностей ,
который является элементом пространства , где [1]
На определяется основанная норма как [1]
Тогда основная проблема модели ROF , предложенной Рудиным, Ошером и Фатеми, [12] дается [1]
где неизвестное решение и данные зашумленные данные вместо этого описывает компромисс между регуляризацией и подгонкой данных. [1]
Первично-двойственная формулировка проблемы ROF формулируется следующим образом. [1]
где индикаторная функция определяется как [1]
на выпуклом множестве который можно рассматривать как унитарные шары относительно заданной нормы на . [1]
Обратите внимание, что функции, включенные в указанную первично-двойственную формулировку, просты, поскольку их проксимальный оператор легко вычислить. [1] Проблему шумоподавления при полной вариации изображения можно также решить с помощью других алгоритмов. [13] такие как метод множителей переменного направления (ADMM), [14] прогнозируемый (суб)градиент [15] или быстрое итеративное определение порога сжатия. [16]
Выполнение
[ редактировать ]- Манопт.jl [17] пакет реализует алгоритм в Julia
- Габриэль Пейре реализует алгоритм в MATLAB , [примечание 1] Джулия, Р и Питон [18]
- В Библиотеке дискретизации оператора (ODL) [19] библиотека Python для обратных задач,
chambolle_pock_solver
реализует метод.
См. также
[ редактировать ]- Метод переменного направления множителей
- Выпуклая оптимизация
- Проксимальный оператор
- Полное шумоподавление вариаций
Примечания
[ редактировать ]- ^ Эти коды были использованы для получения изображений в статье.
Ссылки
[ редактировать ]- ^ Jump up to: а б с д и ж г час я дж к л м н тот п д р с т в v В х и С аа Шамболь, Антонен; Пок, Томас (1 мая 2011 г.). «Алгоритм первично-двойственного первого порядка для выпуклых задач с приложениями к визуализации» . Журнал математического изображения и видения . 40 (1): 120–145. дои : 10.1007/s10851-010-0251-1 . ISSN 1573-7683 . S2CID 207175707 .
- ^ Jump up to: а б с Сидки, Эмиль Ю; Йоргенсен, Якоб Х; Пан, Сяочуань (21 мая 2012 г.). «Прототипирование задачи выпуклой оптимизации для реконструкции изображений в компьютерной томографии с помощью алгоритма Шамболя – Пока» . Физика в медицине и биологии . 57 (10): 3065–3091. arXiv : 1111.5632 . Бибкод : 2012PMB....57.3065S . дои : 10.1088/0031-9155/57/10/3065 . ISSN 0031-9155 . ПМК 3370658 . ПМИД 22538474 .
- ^ Jump up to: а б с д Клык, Слава; Ли, Фанг; Цзэн, Тиеонг (13 марта 2014 г.). «Удаление дымки и шумоподавление одиночного изображения: быстрый вариационный подход» . SIAM Journal on Imaging Sciences . 7 (2): 969–996. дои : 10.1137/130919696 . ISSN 1936-4954 .
- ^ Jump up to: а б Аллаг, А.; Бенаммар, А.; Драй, Р.; Буткеджирт, Т. (01 июля 2019 г.). «Реконструкция томографического изображения в случае ограниченного числа рентгеновских проекций с использованием синограммной окраски» . Российский журнал неразрушающего контроля . 55 (7): 542–548. дои : 10.1134/S1061830919070027 . ISSN 1608-3385 . S2CID 203437503 .
- ^ Пок, Томас; Кремерс, Дэниел; Бишоф, Хорст; Шамболь, Антонин (2009). «Алгоритм минимизации функционала Мамфорда-Шаха» . 2009 г. 12-я Международная конференция IEEE по компьютерному зрению . стр. 1133–1140. дои : 10.1109/ICCV.2009.5459348 . ISBN 978-1-4244-4420-5 . S2CID 15991312 .
- ^ «Общий проксимальный алгоритм выпуклой оптимизации — применение к минимизации общего отклонения» . Письма об обработке сигналов IEEE . 21 (8): 985–989. 2014. Бибкод : 2014ISPL...21..985. . дои : 10.1109/ЛСП.2014.2322123 . ISSN 1070-9908 . S2CID 8976837 .
- ^ Jump up to: а б Экеланд, Ивар; Темам, Роджер (1999). Выпуклый анализ и вариационные задачи . Общество промышленной и прикладной математики. п. 61. дои : 10.1137/1.9781611971088 . ISBN 978-0-89871-450-0 .
- ^ Банерт, Себастьян; Упадхьяя, Ману; Гизельссон, Понт (2023). «Метод Шамболь-Пока слабо сходится при и " .arXiv : 2309.03998 [ math.OC ].
- ^ Удзава, Х. (1958). «Итеративные методы вогнутого программирования». Ин Эрроу, К.Дж.; Гурвич, Л.; Узава, Х. (ред.). Исследования в области линейного и нелинейного программирования . Издательство Стэнфордского университета.
- ^ Пок, Томас; Шамболь, Антонен (6 ноября 2011 г.). «Диагональная предобусловливание для примитивно-двойственных алгоритмов первого порядка в выпуклой оптимизации» . 2011 Международная конференция по компьютерному зрению . стр. 1762–1769. дои : 10.1109/ICCV.2011.6126441 . ISBN 978-1-4577-1102-2 . S2CID 17485166 .
- ^ Шамболь, Антонен (1 января 2004 г.). «Алгоритм минимизации полной вариации и приложения» . Журнал математического изображения и видения . 20 (1): 89–97. дои : 10.1023/B:JMIV.0000011325.36760.1e . ISSN 1573-7683 . S2CID 207622122 .
- ^ Гетройер, Паскаль (2012). «Полное шумоподавление Рудина-Ошера-Фатеми с использованием разделения Брегмана» (PDF) .
- ^ Эссер, Эрни; Чжан, Сяоцюнь; Чан, Тони Ф. (2010). «Общая основа класса первично-двойственных алгоритмов первого порядка для выпуклой оптимизации в области обработки изображений» . SIAM Journal on Imaging Sciences . 3 (4): 1015–1046. дои : 10.1137/09076934X . ISSN 1936-4954 .
- ^ Лайонс, Польша; Мерсье, Б. (1979). «Алгоритмы расщепления суммы двух нелинейных операторов» . SIAM Journal по численному анализу . 16 (6): 964–979. Бибкод : 1979SJNA...16..964L . дои : 10.1137/0716071 . ISSN 0036-1429 . JSTOR 2156649 .
- ^ Бек, Амир; Тебулль, Марк (2009). «Быстрый итерационный алгоритм определения порога усадки для линейных обратных задач» . SIAM Journal on Imaging Sciences . 2 (1): 183–202. дои : 10.1137/080716542 . ISSN 1936-4954 . S2CID 3072879 .
- ^ Несторов, Ю.Е. «Метод решения задачи выпуклого программирования со скоростью сходимости " . Dokl. Akad. Nauk SSSR . 269 (3): 543–547.
- ^ "Шамболь-Пок · Manopt.jl" . docs.juliahub.com . Проверено 7 июля 2023 г.
- ^ «Численные туры — числовой тур по науке о данных» . www.numerical-tours.com . Проверено 7 июля 2023 г.
- ^ «Решатель Шамболь-Пок — документация odl 0.6.1.dev0» . odl.readthedocs.io . Проверено 7 июля 2023 г.
Дальнейшее чтение
[ редактировать ]- Бойд, Стивен; Ванденберге, Ливен (2004). Выпуклая оптимизация (PDF) . Издательство Кембриджского университета.
- Райт, Стивен (1997). Методы первично-двойственной внутренней точки . Филадельфия, Пенсильвания: СИАМ. ISBN 978-0-89871-382-4 .
- Носедаль, Хорхе; Стивен Райт (1999). Численная оптимизация . Нью-Йорк, штат Нью-Йорк: Спрингер. ISBN 978-0-387-98793-4 .
Внешние ссылки
[ редактировать ]- EE364b — домашняя страница Стэнфордского курса.