ПОМЕХОУСТОЙЧИВОСТЬ МЕТОДА РАЗНОСТНОЙ АППРОКСИМАЦИИ ГРАДИЕНТА ПРИ РАСПАРАЛЛЕЛИВАНИИ
Перунова Ю.Н. ([email protected])
МГУ, факультет ВМиК
1. Введение
Рассмотрим задачу
F (х) — min, (1.1)
xeR t
где Rk -- k - мерное Евклидово пространство, функция цели F: Rk — R непрерывно дифференцируема на Rk и ее градиент VF() удовлетворяет условию Липшица с некоторой константой L>0:
VF (•) e CLip (R k, L). (1.2)
Требуется найти приближенное решение задачи (1.1), т.е. точку xeXopt(s) для
достаточно малого s>0. Здесь
Xopt(s):= {х e R t|F (х) < fopt +s},
fopt = mRnF (x)-
Обычно, задача безусловной оптимизации выпуклой функции цели решается стандартными локальными алгоритмами, например, различными алгоритмами градиентного спуска [1]. Градиентные алгоритмы хорошо изучены и позволяют быстро находить единственный экстремум. Однако на практике большинство нелинейных задач являются многоэкстремальными. В таких случаях, для поиска глобального экстремума можно применить те же алгоритмы локальной оптимизации, используя не одну, а множество точек начального приближения. Этот подход носит название метода мультистарта [2].
Эффективность применения метода мультистарта зависит от свойств составляющих его локальных алгоритмов. Поэтому для выбора стартовых точек и
определения критерия остановки вычислений необходимо изучить траектории алгоритмов в условиях многоэкстремальности функции цели.
При решении многоэкстремальных задач глобальной оптимизации желательно, чтобы алгоритмы локального спуска рассматривали незначительные минимумы как помехи в вычислении значений функции цели и не обращали на них внимания. Другими словами, благодаря своей помехоустойчивости, алгоритмы приобретают некоторые глобальные свойства. На основании исследований, приведенных в главе 4 из [3] можно считать, что наименее чувствительны к разного рода помехам методы прямого поиска. В тоже время такие помехоустойчивые алгоритмы, обладая низкой скоростью сходимости и используя ограниченную информацию о функции цели, требуют при расчете траекторий больших временных затрат.
Один из путей решения современных задач повышенной вычислительной сложности в режиме реального времени состоит в применении параллельных версий алгоритмов оптимизации. Реализация алгоритмов на многопроцессорных или векторных системах позволяет проводить независимые расчеты для нескольких траекторий одновременно, а также сокращать затраты времени, используя дополнительные вычислительные мощности в рамках одной итерации [4] - [6].
В настоящей работе предложена параллельная версия модифицированного алгоритма градиентного спуска и рассмотрена его сходимость при наличие постоянного шума неопределенной природы при вычислении значений функции цели.
Изучение помехоустойчивости параллельных версий локальных алгоритмов спуска является продолжением анализа свойств конечно-разностных алгоритмов для решения задач оптимизации строго выпуклых функций [7].
2. Помехоустойчивость алгоритма градиентного спуска
Исследуем поведение траекторий алгоритма градиентного спуска при наличии шума при вычислении значений функции и градиента.
Классический алгоритм скорейшего градиентного спуска (ГС) с учетом погрешности будет иметь следующий вид:
хп+1 = хп - ап (У^(хп +5х(хп)), п = 0,1,...; х0 е Я к, где шаг ап, п=0,1,... удовлетворяет условию
ап = я^шт (Р(хп) - а(УГ(х") + ^(хп))),
а =г«о,г=0,1,..., N
ао>0, NоеN -- параметры, ао<1/(2Ц, ^ао>1;
. . . х ) = ^ ( х ) + 10( х),
|(х) < е0, |(х)| < е Vх е Як,
5о(х)е Я1, 51(х)е Як -- возмущения Р(х) и УР(х) соответственно, ео, е1>о -- размеры возмущений; хо е Як -- стартовая точка.
Для ограниченной последовательности {хп}, хпе Як, п=1,2,..., обозначим через и {хп} множество ее предельных точек и будем говорить, что {хп} сходится к ЛОЯк, если к аЛ.
Свойства сходимости градиентного метода при ео= е1= 0 хорошо известны (см., например, [8]). В [3] без указания точных оценок представлены помехоустойчивость метода ГС при ео=о, е1>0 и скорость сходимости его траекторий к некоторой окрестности точки локального минимума.
Для описания параметров этой окрестности представим помехоустойчивость метода скорейшего спуска другим способом. Нам потребуется следующая лемма Лемма 2.1 Для любых х, 5еНк и а, о<а < 1/Л, справедливы оценки:
^(х) - ^(х - а(УР(х) +1)) > а((х)|| +Щ)((1 - а ¿?)|(х)|| - (а ¿?)||||). а
Следствие 2.2 Для каждого х,8 еЯк и ао, N0. о<ао<1/(2Ц, аоМо<1/Ц выполнено
1 N II? II II?
^(х) - шт ^(х - 1а0 (УР(х) +I)) >-( УР(х)? - ||| ),
0<г 4 04 2ЬС0 ......
где Со :=1 /(1-2Ьао)>1. □
Введем обозначение для е -окрестности множества стационарных точек функции Р(х) как
Ха(е):= {х е Я к| ^ (х )|| <е}. Теорема 2.3 Каждая траектория {хп} метода ГС сходится к
Ха((е1 + 4 ¿ад"2). □
Введем несколько важных параметров для описания основных свойств
регулярных функций цели. Речь не идет о сужении класса рассматриваемых задач.
Введение параметров позволит изучать и сравнивать между собой численные
методы оптимизации.
Определение 2.4 Будем называть функцию Р(х) регулярной функцией с параметрами п, V л, и>о и Ме{1,2,...}, если
1) функция Р(х), Р: Р^Р непрерывно дифференцируема на Р и выполнено условие (1.2);
2) множество стационарных точек функции Р(х) конечно
Х stat=X stat(0) = {Xstat V, Х мШг X Х\tatl = М;
3) в некоторой ^-окрестности множества Х^ существует гессиан Н=Р"(х) функции Р(х) и он невырожден
Н-1
< 1/м Ух е Бц( Х^);
4) для некоторого у>0 и для п>0 из п.3) выполнено
Xstаt( V) ^ В п ( Xstat),
где
В е (X) := { х е Р I 3 х'е X : ||х - х'|| <е};
5) множество
Х^(е) : = {х е Рк | (х)|| <е} ограничено для любого е>0.
Теорема 2.5 Пусть функция цели Р() - регулярная функция с параметрами п, V м, 1->0 и Ме{1,2,...} в смысле определения 2.4, и величины возмущений е0, е1 удовлетворяют условию
82 + 4^0е0 <v2.
Тогда любая траектория {хп} метода ГС сходится к е -окрестности одной из стационарных точек функции Р(), т.е.
м
где
Очевидно, что
и{хп}с и Ве(х:а<),
е = т1п(п, —(е12 + 4!С0е0)1/2).
м
□
2 „ 2л12е1/2) е0 ) .
е < max(— е1з
м м
Глобальный оптимум предлагается находить путем сравнения результатов решения Мзадач локальной оптимизации в Вп(х1ш), / = 1,...,М.
г =1
Параметр п служит для описания величины окрестности стационарного множества Хцш, в которой поведение Р() близко к поведению квадратичной функции. Оценками величин гессиана и градиента Р() в этой окрестности являются 1/м и Vсоответственно. Поиск решения задачи оптимизации в Вп(х[ш) не составляет
большого труда, так как задача оказывается одноэкстремальной. Более того, в Вп(х1ш) эффективно работают методы квазиньютоновского типа, обладающие
высокой скоростью сходимости.
Другими словами, показателем "хорошей" регулярной функции являются достаточно большие значения параметров п и V и не слишком большое значение параметра М, а нашей задачей становится построение методов, траектории которых сходятся к Вп(Х^) .
В рамках решения этой сложной задачи предлагается описание области предельных точек алгоритма ГС, использующего вместо точных производных конечные разности.
3. Параллельная версия алгоритма градиентного спуска с использованием конечных разностей
В случае, когда функция цели задачи оптимизации не задана явно, ее градиент не определен и применение метода градиентного спуска (ГС) невозможно. Для решения таких задач предлагается заменить значение точного градиента функции V Р(х) в алгоритме ГС на его приближенное значение с использованием конечных разностей при шаге дискретизации Ь>0.
Точность аппроксимации градиента конечными разностями достаточно высока при малом значении параметра Л. Поэтому, теорема 2.3 гарантирует сходимость траекторий метода градиентного спуска в некоторую небольшую окрестность локального минимума функции цели.
С другой стороны, выбирая Л не очень маленьким, а в соответствии с глобальной структурой функции цели, можно значительно повысить эффективность каждой итерации метода [9].
При наличии нескольких процессоров расчет каждой итерации метода для различных значений Л возможно осуществлять параллельно, выбирая затем лучший
результат. Тем самым обеспечивается оптимальный подбор параметра Л без дополнительных временных затрат.
Пусть е0 -- стандартный ортонормированный базис в Як, е°={е 0 ,...,е 0},
е0 =(1,0,.,°),., е0 =(0,...,0,1), а 0(х,Ь) = (0(х,Л) 1 ,.,0(х,Л) 2)е Як - аппроксимация градиента УР(х) конечными разностями
в(х,Ь)г: = (Р(х+Ье0) - Р(х))/Ь, 1=1 ,...,к,
с параметром Ь>о.
Лемма 3.1 Для любого Л>0 и х е Як
| в(х,Л)-У Р(х) \\<у[к Ш2. □
С учетом погрешности в вычислении значений функции Р(х):
О (х,Ь) = (О (х,Ь) 1,..., О (х,Ь)к) (3.1)
О (х,Ь)г = (Р (х+Ье0) - (Р (х)))/Ь, /=1,..., к,
П=0,1,..., х е Як,
где
Р (х)= Р(х) + до(х).
Вычисления вектора приближенного градиента О (х,Ь) из (3.1) в точке х для различных значений параметра Л будем выполнять независимо друг от друга. Таким образом, параллельные вычисления по модифицированному алгоритму градиентного спуска позволяют аппроксимировать направление поиска решения задачи оптимизации, затратив времени не больше, чем на вычисление точного градиента в последовательном алгоритме градиентного спуска.
Для распределения вычислений на несколько процессоров в данном случае используется топология звезды [4]. Общее число процессоров равно (р+1).
Для вычисления одной итерации алгоритма на каждом 1-ом рабочем процессоре 1=1,...,р в качестве возможного направления спуска функции Г в точке х используется вектор - О (х,Ь 1), где
¡!1>о - различные значения параметра дискретизации Л, !=1,...,р.
Выбор наиболее подходящего параметра 1!1>0 осуществляет управляющий (р+1)-ый процессор по результатам спуска в рамках одной итерации.
Алгоритм А(р).
Параметры: Л 0, а > 0, Бв, N0 е М 0<в<1, еstop > 0,
1 а, 1
а0 < —, Мае > —, Ре N. 4Ь Ь
Входные данные: х0 е
Результат: М^ор е N,xNstopе Рк $
Обозначим:
И - инициализация: п := 0; хп := х0. П - подготовка к работе: п := п+1; хп : = хп-1.
Р -- вычисления на /-ом рабочем процессоре, l=1,..,p\
(ai,hi) := arg min F (xn -aG (xn,h));
a=ia0,i=0,...,Nq ;
h=ho6J, j=(l-1) So,..,So-1
У -- вычисления на (р+1)-ом управляющем процессоре:
(an,hn) := arg min F (xn -a,G (xn,h/));
l=1,... , p
xn := xn - an G (xn,hn);
К -- критерий остановки:
Р (хп-1) - Р (хп) < е5ор, О -- остановка вычислений: Мц0р := п; хШор := хп.
Блок-схема метода изображена на Рисунке 1
О
Рисунок 1. Блок-схема алгоритма разностной аппроксимации градиента при распараллеливании.
Нетрудно заметить, что для любой траектории {xn} алгоритма A(p) мы получаем
F (xn) — F (xn+1) > sstop >0, n = 0,1,...,NstoP- 1. Так как F (x) близка к регулярной функции F(x), то
min F (x) > - w,
xeR k
следовательно
Nstop < + w.
Теорема 3.2 Каждая траектория {xn } метода A(p) сходится к
Xstat(y[k (Lho/2+2so/(ho9pS°'1))+2^LCs ).
Для последовательного алгоритма А(1), в случае постоянного значения параметра Лп = 2у/е0 /Ь , п=0,1,..,№0р, при к>1, е0 <у2/(16/Ьк) выполнено
__м
¡к{хп} е и),
г=1
где
- . 4л[Ьк 1/2 е = т1п(7, -е0/2).
Предложенный параллельный алгоритм был реализован на системе Рагву1ес 8ирегс1ив1ег ВЦ РАН для поиска решения ряда тестовых задач, а также реальной задачи структурной химии - задачи конформации многоатомных молекул.
Для практического сравнения результатов работы последовательной и параллельной версий модифицированного алгоритма градиентного спуска рассматривался алгоритм с применением конечных разностей А(1) и А(р),р>1, а также обычный последовательный точный градиентный алгоритм скорейшего спуска [10] (стр. 261).
4. Заключение
В результате проведенных исследований было показано, что классический алгоритм скорейшего спуска обладает свойством устойчивости к помехам в вычислении градиента функции цели задачи оптимизации. Приведено описание области предельных точек траекторий алгоритма скорейшего спуска и параллельной версии алгоритма разностной аппроксимации градиента.
Использование параллельных вычислений значительно сокращает временные затраты при подборе оптимального значения параметра конечных разностей Л. Параллельная версия разностного алгоритма градиентного спуска по сравнению со своим последовательным аналогом обладает большей вычислительной мощностью и в р раз (где р - количество используемых рабочих процессоров) тщательнее исследует область текущего значения аргумента хп.
Литература
[1] Torn, A., Zilinskas, A. Global Optimization. Springer Verlag, Berlin, 1989.
[2] Rinnoy Kan, A.H., Timmer, G.T. Stocastic global optimization methods. Mathematical programming. 1987, 39, pp. 27-78.
[3] Поляк Б.Т. Введение в оптимизацию. Москва, Наука,1985.
[4] Bertsekas, D.P., Tsitsiklis, J.N. Parallel and Distributed Computation: Numerical methods. Prentice Hall, Englewood Cliffs, N.J. 1989.
[5] Mangasarian, O.L. Parallel gradient distribution in unconstrained optimization. SIAM J. Control and Optimization, 33, 6, 1916-1925, 1995.
[6] Masao Fukushima Parallel variable transformation in unconstrained optimization. SIAM J.Optimization, 8, 4, 658-672, 1998.
[7] Zavriev, S.K. On the global optimization properties of finite-difference local descent algorithms. Journal of Global Optimization, 1993, 3, pp 63-78.
[8] Luenberger, D.G. Linear and Nonlinear Programming. Addison-Wesle, London, 1984.
[9] Завриев С.К., Перунова Ю.Н. Об использовании конечных разностей в методе мультистарта для решения некоторого класса задач глобальной оптимизации. Вестник Московского Университета, серия 15, 3, 1997.
[10] Васильев Ф.П. Численные методы решения экстремальных задач. Москва, Наука, 1980.