Научная статья на тему 'Параллельные градиентные алгоритмы подбора весовых коэффициентов'

Параллельные градиентные алгоритмы подбора весовых коэффициентов Текст научной статьи по специальности «Математика»

CC BY
470
108
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ / ИСКУССТВЕННЫЕ НЕЙРОННЫЕ СЕТИ / PARALLEL ALGORITHMS / ARTIFICIAL NEURAL NETWORKS

Аннотация научной статьи по математике, автор научной работы — Крючин Олег Владимирович, Вязовова Елена Владимировна

Предложены параллельные методы обучения искусственной нейронной сети, основанные на разложении целевой функции в ряд Тейлора. Предложены параллельные алгоритмы методов наискорейшего спуска, QuickProp, RPROP, BFGS и DFP.

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по математике , автор научной работы — Крючин Олег Владимирович, Вязовова Елена Владимировна

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

PARALLEL GRADIENT ALGORITHMS OF WEIGHT COEFFICIENTS SELECTION

Parallel methods of training artificial neural networks based on the target function decomposition to a Teylor row are suggested. Parallel algorithms for methods of fastest descent, QuickProp, RPROP, BFGS and DFP are offered.

Текст научной работы на тему «Параллельные градиентные алгоритмы подбора весовых коэффициентов»

УДК 519.95

ПАРАЛЛЕЛЬНЫЕ ГРАДИЕНТНЫЕ АЛГОРИТМЫ ПОДБОРА ВЕСОВЫХ КОЭФФИЦИЕНТОВ

© О.В. Крючин, Е.В. Вязовова

Ключевые слова: параллельные алгоритмы; искусственные нейронные сети.

Предложены параллельные методы обучения искусственной нейронной сети, основанные на разложении целевой функции в ряд Тейлора. Предложены параллельные алгоритмы методов наискорейшего спуска, QuickProp, RPROP, BFGS и DFP.

ВВЕДЕНИЕ

Как известно, искусственные нейронные сети (ИНС) представляют собой математическую модель человеческого мозга. Однако мощность современных компьютеров существенно уступает мозгу человека, и поэтому в большинстве случаев для обучения ИНС необходимы значительные временные затраты, что не всегда допустимо. Решением этой проблемы могла бы стать кластеризация - распределение нагрузки на несколько машин, объединенных в локальную сеть, поскольку ИНС, обучающаяся не на персональном компьютере, а на вычислительном кластере, требует значительно меньше временных затрат. Но для того чтобы ИНС могла использовать ресурсы нескольких машин, необходима разработка параллельных алгоритмов обучения.

Если рассматривать обучение ИНС как минимизацию априори определенной целевой функции, то можно воспользоваться алгоритмами, считающимися наиболее эффективными в теории оптимизации - градиентными. Эти методы связаны с разложением целевой функции е(м) в ряд Тейлора в ближайшей окрестности точки имеющегося решения V . В работах [1-2] подобное разложение описывается универсальной формулой вида:

є

(г (І+1))= е(г(І))+ Уе(г(І ))*(І) +

■(І).

(1)

где Ує1

(г (І ))=

дг

■ градиент; симметричная

квадратная матрица Н -

д 2е(г (і ))

дг, дг

является матри-

цей производных второго порядка, называемой гессианом; а 5 (і ) играет роль направляющего вектора, зависящего от фактических значений вектора Г . На прак-

тике чаще всего рассчитываются только три первых члена, а остальные игнорируются.

Целью данной работы является разработка параллельных алгоритмов нескольких градиентных методов -наискорейшего спуска, QuickProp, RPROP, BFGS и DFP.

ГРАДИЕНТНЫЕ МЕТОДЫ

Если при разложении целевой функции е(^) в ряд Тейлора ограничиться ее линейным приближением, то будет получен алгоритм наискорейшего спуска, и для

выполнения соотношения ф(/+1))< е(^ ()) достаточно подобрать направление — Vе(^(/)). То есть вычисление изменения весов можно получить по формуле:

Аг(І+1) = -5(І )Уе(г(І )).

(2)

Ограничение слагаемым первого порядка при разложении функции в ряд Тейлора не позволяет использовать информацию о ее кривизне, что обусловливает линейную сходимость метода. Тем не менее, из-за своей простоты, невысоких требований к объему памяти и относительно небольшой вычислительной сложности именно этот метод остается основным способом обучения многослойных сетей [3].

В алгоритме QшckProp изменение г-го весового коэффициента на 1-й итерации производится согласно правилу:

А»(І+1) = -5(І )(уе(г(І))+ сГ))+ І ЇА»?), (3)

где сг - коэффициент минимизации значений весовых

коэффициентов; ^ - коэффициент фактора момента. Отличие от метода наискорейшего спуска заключается в наличии двух слагаемых: минимизатора значений

весовых коэффициентов Ь'(і '1сгГ'1) и фактора момента

ч,

Коэффициент минимизации cw обтічно 4

принимает значение 10 4 и служит для ослабления весовых связей (вплоть до полного разрыва), а фактор момента необходим для адаптации алгоритма к текущим результатам обучения. Коэффициент qi уникален для каждого весового коэффициента и вычисляется в два этапа. На первом определяется величина:

Ч,

Ve(w

Ve1

іт-її

Wiü

I-Ve'

Iw'77)

(4)

а на втором коэффициент момента принимает минимальное значение из qt и qmax . В качестве значения qmax Фальманом предложено 1,75 [6].

Суть метода RPROP заключается в игнорировании значения градиента, т. е. при вычислении новых значений весовых коэффициентов учитывается исключительно знак. В работе [4-5] изменение весового коэффициента вычисляется по формулам:

AW(i ) = -5

s(7 T =

mmiqaSf l),4max, 1

max(4bs{( 1\чтіп di-1)

Ve(w(I)).Ve(w(I-1)) > 0; Ve(w (i)1vs(w (i-1)) < 0; Ve(w(I ))ve(w(I-1)1 = 0;

(5)

(6)

1, Ve(w(I-1)) > 0;

0, Ve(w(I-1))г = 0; (7)

-1, Ve(w(I-1)) ; < 0.

В работе Осовского предложены следующие значения: Ча = 1,2, qb = 0,5 , qmin = 10~б , qmax = 50 [6].

КВАЗИНЬЮТОНОВСКИЕ АЛГОРИТМЫ

В теории оптимизации методы переменной метрики, известные также как «квазиньютоновские», являются алгоритмами, предназначенными для поиска локальных экстремумов функции. В основе этих методов лежит метод Ньютона поиска решения при значении градиента, равного нулю. Квазиньютоновские методы предполагают, что функция аппроксимируется как квадратичная в области оптимума, и используют первую и вторую производную (градиент и гессиан) для поиска решения. В методах переменной метрики не требуется рассчитывать матрицу гессиана через вторую производную минимизируемой функции, поскольку эта матрица вычисляется на основе вектора градиента. Таким образом, эти методы представляют собой обобщение методов секущей, предназначенных для поиска корней первой производной в многообразных задачах. В многообразных задачах уравнения секущей недостаточно, и поэтому методы переменной метрики используют значение гессиана [7].

Согласно квазиньютоновским методам новое значение вектора весовых коэффициентов можно вычислить по формуле:

—(I+1) -(I) , Ve|w

H (w

(I)) nr)

(8)

которая представляет собой основу ньютоновского алгоритма оптимизации и является теоретическим выражением, т. к. требует положительной определенности гессиана на каждом шаге. Поскольку практически это неосуществимо, то гессиан заменяют на его приближение. На каждом шаге гессиан и обратная ему величина, которая получена на предыдущем шаге, модифицируются на некоторую поправку.

Обозначим матрицу обратную к матрице приближенного гессиана как Н , а изменение вектора градиента как VAe . В этом случае, согласно [1-2], новое значение вектора весовых коэффициентов может быть выражено формулой:

il7(I+1^ w(I ) - ~(I Veiw

w

HTVe

(w (I)).

(9)

Начальное значение матрицы Н принимают равным 1 (Н(о) = 1), а последующие значения, как правило, рассчитываются по формуле Бройдена-Флетчера-Г ольдфарда-Шенно:

H( ) = H(I-1) + СІНІ Y) - C(H2 )

i(i).

(10)

c(hi)(i ) =

[aw (i )]r AVe(i) + [aVs(i ^H(I-1)AVe(I )'X Aw (i )[aw (i ^ ] (11)

[aw (i )]t

AVe

(I)

С(Н2 )(i ) =

_ H(I-1)AVe(I)[aw(i)f + Aw(I)[AVe(i)f H(I-1) (12)

[aw (i )]r

AVe

(I)

Обозначим произведение изменения градиента AVe на транспонированное изменение градиента

[AVef

el как

V e(i) = AVe(I)

[AVe(I)T ;

(13)

произведение изменения вектора весовых коэффициентов V на транспонированное изменение вектора весовых коэффициентов V ]Г как

w(i) = Aw

w(I )[aw(i )]r

(14)

произведение транспонированного вектора приращения весовых коэффициентов \Ам> ]Г на вектор приращения градиента ДУе как

0

2

С(Н3)(І) = [аг (І )]г

ДУе

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

(I).

(15)

произведение транспонированного вектора приращения градиента [ДУе]Т на матрицу Н как

[с(Н4)(і)]Г = [дУє(і^Н(І-1),

(16)

а произведение транспонированного вектора С (Н4 )Г на вектор приращения градиента ДУе как С (нм ):

с(Нм )(І) = [с (Н4)(і ^ ДУе(і).

(17)

В этом случае формула (10) может быть записана

Н(І) = Н(І-1) +

(і-1).

С (Н3 )(І) + С (нм)(/ ^ Г(І)

(с(нз )(І ))2

Н(І-1)ДУе(і )[аГ (І ^ + АГ(І )[с (Н4 )(і )]Т

с(Нз)(і )

(18)

В другом известном квазиньютоновском алгоритме -Девидона-Флетчера-Пауэлла [8] - значение матрицы

Н уточняется согласно выражению:

(і )= ~(I-1) , Аг (І}

Н(І > = Н

Аг

[аг (і )

Н(І-1)ДУе(І )[дує (І)

[ДУе(І )]Г

гТГ(і)

ДУе

(І)

Н

(I-1)

(19)

Переписав эту формулу, используя обозначения (13)-(17), можно получить выражение:

Н

(і ) = н (і-1)

?(І)

' + -

С( Н 3^ С (Нм )(

ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ

Н(І-1)У е(І Н(І-1)

'

(20)

Проанализировав формулы градиентных методов, можно заметить, что значение г-го весового коэффициента на (I + 1)-й итерации рассчитывается по формуле:

г,

(і+1) = Л1)

= г( ' + А»,

(і+1) =

= г(і ) + С(Уе

(І-1) ^(І)

(І У')).

(21)

где О - метод вычисления значения весового коэффициента. Таким образом, для вычисления значения

4+1) необходима: значения весовых коэффициентов на 1-й итерации ( V(/) ), значения градиента на (I - 1)-й

итерации (Уе(г(І х))), значение соответствующего вычисляемому весовому коэффициенту элемента вектора градиента Ує(г(і^ и значение коэффициента обучения 5(і ).

При этом для вычисления

Уе1

(і ) =

_ де(г-)'

дг

( і )

(22)

7(1)

необходимы только значения вектора г ' , т. е. зная значения весовых коэффициентов на 1-й итерации, можно вычислить значения на I +1 -й итерации независимо друг от друга.

Исходя из вышесказанного, при наличии п вычислительных узлов можно разделить вектор весовых коэффициентов на п частей. Каждый вычислительный узел получает один из этих векторов, и на каждой итерации вычисляет свою часть градиента и весов, а затем посылает результат вычисления на ведущий процессор, который формирует единый вектор весовых коэффициентов и рассылает его по всем процессорам [9-10].

ПАРАЛЛЕЛЬНЫЕ КВАЗИНЬЮТОНОВСКИЕ АЛГОРИТМЫ

Параллельный алгоритм переменной метрики может быть реализован двумя способами. Первый способ распараллеливания заключается в том, что градиент

Уе(і ^ вычисляется всеми процессорами аналогично другим параллельным градиентным методам, приращение градиента ДУе (г(Івычисляется аналогично и посылается на нулевой процессор, а затем ведущий процессор получает с неведущих ДУе(г(І, самостоятельно вычисляет значение Н (і ) и изменения весовых коэффициентов Дг(і+х) , а затем рассылает их (изменения весов) по всем процессорам. После этого все процессоры самостоятельно вычисляют новые зна-

—(І+1) чения весов г ' .

При использовании второго способа параллелизм алгоритмов BFGS и БЕР различается. Алгоритм BFGS выглядит следующим образом:

1) значения Уе(і ^ и ДУе(г(Івычисляются так же, как и при первом способе параллелизма;

2) неведущие процессоры посылают ведущему

вычисленные части изменения градиента ДУе (г (і ));

3) ведущий процессор формирует единый вектор ДУе(г(іи рассылает его новые значения на все процессоры;

4) каждый процессор, за исключением ведущего, вычисляет соответствующие строки матрицы г(і ^ и

вектора [с (Н4 )(і ^ , а затем посылает их на ведущий,

который в это время вычисляет значение С(Н3 )(І);

5) неведущие процессоры передают на ведущий вычисленные элементы матрицы Т(і ) и вектора С (Н4 )(і };

6) ведущий процессор вычисляет значение [С(Н4)(і ^ ;

7) каждый процессор, за исключением ведущего, вычисляет соответствующие строки матрицы:

cftsi )(/ ) = А^є(/ \aw (/ )]Г

(23)

а ведущии процессор в это время вычисляет матрицу:

(24)

8) неведущие процессоры передают на ведущий

вычисленные элементы матрицы с(,НВ1) );

9) ведущий процессор рассылает матрицу

Н31? ] :

C

скаляр

с(нз )(/ )

и вектор

)

всем прочим;

10) ведущий процессор вычисляет матрицу:

/ )

(25)

а прочие - соответствующие им строки матриц:

C (HB2 )(/ ) - (н(/-1)( с(иВ1 f)]

с(Нвзf) - Aw(/)[С(Н4)(/)f ;

C(H2 )(/ )-С^О+СНв! C(H2) C(H3)(/)

/ )

(26)

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

(27)

(28)

11) неведущие процессоры передают на ведущий вычисленные строки матрицы С(Н2)(/);

12) ведущий процессор вычисляет матрицу Н(/) и изменение весов Ам(/+1);

13) ведущий процессор рассылает матрицу Н(/) и изменение весов Ам(/+1) по всем прочим;

14) вычисление всеми процессорами новых значений весовых коэффициентов м(/+1) .

Первые шаги параллельного алгоритма DPF аналогичны шагам алгоритма BFGS. Ниже приведены дальнейшие:

15) неведущие процессоры вычисляют соответствующие им строки матрицы Vs(/^;

16) передача вычисленных строк матрицы Уе(І) на ведущий процессор;

17) ведущий процессор формирует матрицу Уе(І) и рассылает ее, матрицу 1~(І) и скаляр С(Н3 )(І) по всем прочим процессорам;

18) неведущие процессоры вычисляют соответствующие им строки матриц:

c(Hd1 )(/ ) - (Н(/-1))~є(/-1),

cHD2)/) - (сHdi Г ))(H(/-1))

(29)

(30)

с (HD3 )(/ )

w(/ ) C(H3 )(/ )

(31)

а ведущии процессор в это время вычисляет

(/) = C(Hd2)(/)

c(Hm )

(32)

19) передача с неведущих процессоров вычисленных ими строк матрицы Фпз)(/};

20) ведущий процессор вычисляет матрицу:

Н(/) = Н(/—1)+с(нВ4)(/)+с(н03)(/)

и изменение весов Aw ;

21) ведущий процессор рассылает матрицу H ^ ^ и

изменение весов Aw (/+1 по всем прочим;

22) вычисление всеми процессорами новых значений весовых коэффициентов w *-/+1 .

ЗАКЛЮЧЕНИЕ

Таким образом, были разработаны параллельные версии некоторых градиентных и квазиньютоновских алгоритмов, которые могут быть использованы для обучения искусственных нейронных сетей.

ЛИТЕРАТУРА

1. Gill P., Murray W., WrightsM. Practical Optimisation. N. Y.: Academic Press, 1981.

2. Widrow B., Stearns S. Adaptive signal processing. N. Y.: Prentice Hall, 1985.

3. Осовский С. Нейронные сети для обработки информации / пер. с польск. И.Д. Рудинского. М.: Финансы и статистика, 2002. 344 с.

4. Riedmiller M., Brawn H. RPROP - a fast adaptive learning algorithms. Technical Report. Karlsruhe: University Karlsruhe, 1992.

5. Zadeh L.A. The concept of linguistic variable and its application to approximate reasoning. Part 1-3 // Information Sciences. 1975. P. 199-249.

и

и

6. Riedmiller M. Untersuchungen zu konvergenz und generalisierungsverhalten überwachter lernverfahren mit dem SNNS // Proceedings of the SNNS. 1993.

7. Bonnans J.F., Gilbert J.Ch, Lemarechal C., Sagastizbal C.A. Numerical optimization, theoretical and numerical aspects. 2-nd ed. Springer, 2006. 437 p.

8. Davidon W.C. Variable Metric Method for Minimization // SIOPT. 1991. V. 1. № 1. P. 1-17.

9. Крючин О.В. Разработка параллельных градиентных алгоритмов обучения искусственной нейронной сети // Электронный журнал «Исследовано в России». 2009. № 096. С. 1208-1221. URL: http://zhumal.ape.relam.ru/articles/2009/096.pdf. Загл. с экрана.

10. Крючин О.В. Параллельные алгоритмы обучения искусственных нейронных сетей с использованием градиентных методов. // Актуальные вопросы современной науки, техники и технологий: мате-

риалы 2 Всерос. науч.-практ. (заочной) конф. М.: Издат.-полиграф. комплекс НИИРРР, 2010. C. 81-86.

Поступила в редакцию 23 ноября 2012 г.

Kryuchin O.V., Vyazovova E.B. PARALLEL GRADIENT ALGORITHMS OF WEIGHT COEFFICIENTS SELECTION Parallel methods of training artificial neural networks based on the target function decomposition to a Teylor row are suggested. Parallel algorithms for methods of fastest descent, Quick-Prop, RPROP, BFGS and DFP are offered.

Key words: parallel algorithms; artificial neural networks.

i Надоели баннеры? Вы всегда можете отключить рекламу.