Пред.
След.
Макеты страниц
Распознанный текст, спецсимволы и формулы могут содержать ошибки, поэтому с корректным вариантом рекомендуем ознакомиться на отсканированных изображениях учебника выше Также, советуем воспользоваться поиском по сайту, мы уверены, что вы сможете найти больше информации по нужной Вам тематике ДЛЯ СТУДЕНТОВ И ШКОЛЬНИКОВ ЕСТЬ
ZADANIA.TO
7.2. АЛГОРИТМЫ НЕЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ ДЛЯ ВОССТАНОВЛЕНИЯ ИЗОБРАЖЕНИЙКак было показано в гл. 3, задача восстановления в общей форме сводится к задаче нелинейного программирования. Необходимо минимизировать некоторый функционал
с учетом ограничений:
Существуют различные пути решения (7.7). Если результирующий функционал с учетом ограничений может быть представлен в виде суммы линейного и квадратичного функционалов, то решение можно найти аналитически. В противном случае необходимо создать вычислительные схемы для решения задачи минимизации. Задачи нелинейного программирования в постановке (7.7) применительно к восстановлению изображений могут решаться двумя путями: сведением к системе нелинейных уравнений и использованием методов прямой оптимизации. Сведение к системе нелинейных уравнений и ее решение. Будем рассматривать нелинейный функционал с ограничениями как нелинейную функцию от ряда дискретных аргументов:
где
Мы получили систему нелинейных уравнений
Для решения системы (7.8) могут быть использованы различные методы, например, метод Ньютона — Рафсона, заключающийся в вычислении элементов якобиана:
и выполнении итераций вида
Именно таким методом решались большинство задач восстановления на основе метода максимума энтропии [60]. Однако для каждой итерации при вычислениях по формуле (7.10) необходимо вычислять якобиан и производить его обращение. Методы прямой оптимизации. Эти методы являются более привлекательными. Пусть нам задан нелинейный функционал
где
Простейший метод нахождения экстремума, так называемый метод градиентного спуска, был предложен еще Коши и заключается в следующей последовательности операции: 1) выбор начального приближения 2) нахождение 3) выбор 4) переходим к п. 2, если не достигнута сходимость, в противном случае получаем решение Метод градиентного спуска заключается в выборе такого направления, при котором градиент
Рис. 7.1. Условное представление за дачи поиска экстремума
Рис. 7.2. Структура метода градиентного поиска с постоянным шагом приращения Если сохранить значение а постоянным для всех итераций, то существует опасность «проскакивания» максимума и колебаний около него. На рис. 7.2 эта ситуация изображена на плоскости, в которой нанесены контуры
Если (7.11) выполняется, то шаг оставляем прежним, если нет — шаг уменьшаем вдвое [71]. Более оптимальным является алгоритм, в котором шаг при максимизации выбирается на каждой итерации, исходя из условия [164]
Этот метод называется также методом наискорейшего спуска. Внимательный анализ, однако, показывает, что и у (7.12) имеются свои недостатки: чрезвычайно медленная сходимость в случае вытянутых линий уровня («овражная структура» поверхности) (рис. 7.3), а также опасность локальных максимумов (рис. 7.4). Действительно, в ситуации, изображенной на рис. 7.4, алгоритм никогда не находит глобального решения [64]. Наилучшую сходимость среди рассматриваемых методов имеют методы сопряженных градиентов, основанные на использовании последовательности направлений поиска, которая является линейной комбинацией градиента
Рис. 7.3. «Овражная» структура поверхности и осцилляции решения, возникающие при использовании метода дробления шага
Рис. 7.4. Локальные максимумы и неоднозначность решения и предыдущего направления поиска. Окончательная схема алгоритма сопряженных градиентов выглядит следующим образом. Каждый последующий шаг вычисляется по формуле
где
Входящая в это уравнение величина
где круглые скобки означают скалярное произведение, а Экспериментальные исследования показывают, что в тех случаях, когда решается задача нелинейного программирования с несколькими ограничениями, исследуемая «поверхность» очень сложна и приобретает «овражную» структуру с локальными максимумами, так что добиться сходимости обычными градиентными методами становится очень непросто; в то же время метод сопряженных градиентов, как правило, работает вполне устойчиво и надежно сходится к искомой оценке. В качестве практического примера рассмотрим реализацию алгоритма максимума энтропии с ограничениями на функцию автокорреляции (модуль спектра) и уравнения формирования и регуляризацией в форме тихоновского функционала. В дискретной форме общий функционал, подлежащий оптимизации, выглядит следующим образом:
Сформируем частные производные функционала (7.14)
Далее будем использовать схему метода сопряженных градиентов: 1. Находим
2. Находим величину
3. Формируем
и решаем задачу одномерной минимизации
4. Находим следующий шаг
Если условие сходимости (например, разность в метрике Один из полезных приемов улучшения сходимости методов прямой оптимизации состоит в модификации структуры функций Лагранжа. Так, на практике помогает следующий прием. Если известны ограничения в виде равенств
Известны строгие математические результаты о том, что при
где а — коэффициент штрафа. Метод решения (7.17) имеет довольно сложную, двуступенчатую структуру. Сначала решается задача прямой оптимизации (например, при использовании метода сопряженных градиентов), затем делается пересчет множителей Лагранжа
которые используются на следующей итерации метода сопряженных градиентов. Метод МЛФ особенно хорошо зарекомендовал себя при наличии нескольких различных ограничений. Например, экспериментальные результаты, приведенные в гл. 3, основаны на решении задачи оптимизации методом сопряженных градиентов с использованием модифицированных функций Лагранжа. Рассмотрим некоторые особенности решения задач нелинейного программирования на универсальных ЭВМ. 1. Необходимое число точек задачи оптимизации. Будем считать формат изображения равным экстремума функционала при наличии одного ограничения на формирование изображения, то число точек задачи оптимизации составляет 2. Требуемый объем памяти. Если используется метод сопряженных градиентов, то нетрудно видеть, что кроме собственно изображения 3. Объем вычислений. На каждой итерации необходимо вычислять приблизительно 5 двумерных сверток длиной Таким образом, реализация задач нелинейного программирования на универсальных ЭВМ требует в 3—4 раза большего машинного времени и памяти, чем реализация итерационных алгоритмов с ограничениями. В случае использования специализированных ЭВМ, приспособленных для работы с большими массивами и имеющих аппаратурно реализованные средства вычисления БПФ, в том числе при использовании специализированных оптико-электронных вычислительных комплексов, время выполнения задачи снижается на порядок. Методы прямой оптимизации, рассмотренные в этом параграфе, сводятся к следующей простой вычислительной схеме: выполняется процесс последовательных итераций до тех пор, пока не будет обеспечена сходимость
где В уравнениях (7.18) градиенты вычисляются с помощью алгоритмов БПФ, поэтому этот процесс представляет собой метод прямой оптимизации с вычислением итераций через
Выражение (7.19) совпадает с формой записи итерационных алгоритмов восстановления. Отличие (7.18) от (7.19) заключается в том, что приращение аргумента
Рис. 7.5. Параллельная структура вычислений при решении многомерной задачи нелинейного программирования блок данных В заключение остановимся на возможности создания более эффективных алгоритмов решения задач оптимизации. В этой области не решено еще множество задач. Действительно, практически все описанные нами градиентные алгоритмы строятся на основе «локальных» принципов: выбирается точка на поверхности, обследуется ее окрестность, начинается движение на поверхности и т. д. Таким образом, алгоритмы градиентного типа основываются на знании малой окрестности точки поверхности. Возникает естественный вопрос о возможности построения более «глобального» алгоритма. Например, можно предложить следующий простой алгоритм, реализация которого изображена на рис. 7.6. Суть работы такого алгоритма заключается в разумном сочетании «локальной» и «глобальной» стратегий: 1) выбираем начальное приближение 2) находим значение 3) выбираем
Рис. 7.6. Возможный алгоритм нелокального поиска решения 4) находим возможное пересечение поверхностей Если найден эффективный метод определения факта пересечения Основной проблемой, возникающей при реализации подобного алгоритма, является эффективный способ определения пересечения
и решать задачу на максимум В итоге приведенная задача сведена к: набору задач оптимизации, каждая из которых может быть сделана устойчивой к сложноц структуре поверхности. Результирующий алгоритм должен всегда сходиться к глобальному максимуму. Таким образом, необходима разработка эффективных методов решения многомерных задач нелинейного программирования. Эта задача может решаться несколькими путями: разработкой новых, более эффективных методов оптимизации; разработкой эффективных численных алгоритмов, реализующих оптимизацию; повышением производительности ЭВМ, использованием параллельных вычислений, специализированных процессоров и БПФ-процессоров, оптико-электронных комплексов, увеличением памяти ЭВМ.
|
1 |
Оглавление
|