УДК 519.95
ИНФОРМАЦИОННЫЕ ПРОЦЕССЫ ПОВЫШЕНИЯ ЭФФЕКТИВНОСТИ ПОДБОРА ВЕСОВЫХ КОЭФФИЦИЕНТОВ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ С ПОМОЩЬЮ КВАЗИНЬЮТОНОВСКИХ МЕТОДОВ, ИСПОЛЬЗУЮЩИХ ФОРМУЛУ БРОЙДЕНА-ФЛЕТЧЕРА-ГОЛЬДФАРДА-ШЕННО
© О.В. Крючин, Е.В. Вязовова, А.А. Арзамасцев
Ключевые слова: искусственные нейронные сети; параллельные вычисления; квазиньютоновские методы; информационные ресурсы; повышение эффективности; аналитические выражения.
Описан параллельный квазиньютоновский метод, использующий формулу Бройдена-Флетчера-Гольдфарда-Шенно. Приводятся аналитические выражения, позволяющие оценить эффективность предложенных алгоритмов, и вычислительные эксперименты, проведенные для проверки этих выражений.
Введение. В настоящее время существуют различные методы подбора весовых коэффициентов искусственной нейронной сети (ИНС), наиболее распространенными из которых являются градиентные [1], базирующиеся на разложении целевой функции в ряд Тейлора. Суть этих методов заключается в вычислении градиента:
(
V« - -
дм
дє(м0) де(н,1) дє(м2)
Л
дм
дм дм2
уі -1 м
дм
і -1 м
)+-11)-е(4‘')
Тї-ї)
Амо
є(м(і) + Ам>^-1))- є(м(і )) Ам>(
М[-1+А47 -1))- є(м£-1)
(1)
Ам (1-1)
и изменении весовых коэффициентов Л в противоположном направлении. Здесь е - невязка, вычисляемая целевой функцией:
измененном. После вычисления градиента происходит изменение весовых коэффициентов согласно формуле:
^ -м(і)- ?(і)vє(I)
?(і)
(3)
где ?' ' - коэффициент обучения на I -й итерации.
Изменение весовых коэффициентов можно вычислить как
Ам(і) -г^(і)- (і-1)
(4)
Одним из частных случаев градиентных методов являются методы переменной метрики, известные также как квазиньютоновские, которые предполагают, что функция (2) аппроксимируется как квадратичная в области оптимума, и используют не только первую, но и вторую производную (гессиан) для поиска решения. В квазиньютоновских методах не требуется рассчитывать гессиан через вторую производную минимизируемой функции, поскольку эта матрица вычисляется на основе градиента (1) [2].
Согласно квазиньютоновским методам, значение вектора весовых коэффициентов можно вычислить по формуле:
V«
(І-1)
(5)
где Н(м(і 1)) - гессиан, элементы которого вычисляются по формуле:
Є = «(м) ,
(2)
Л - весовые коэффициенты (веса); - число весов;
I - номер итерации [2, 3].
Следовательно, для вычисления одного элемента
градиента Уе]1 ^ необходимо вычислить невязку при
текущем значении весовых коэффициентов, а затем при
Н
& >)=
дм(і )дм((І)
д 2 є
дм
(І )
і -1
м
дм(і )ди,(
5 2 є
дм(і\дм> (і ^ і —1 і —1
м м
(6)
ч
у
д є
д є
Формула (5) представляет собой основу ньютоновского алгоритма оптимизации и является теоретическим выражением, т. к. требует положительной определенности гессиана на каждом шаге. Поскольку практически это неосуществимо, то гессиан Н(л) заменяют
на его приближение Н . На каждом шаге гессиан и обратная ему величина, которая получена на предыдущем шаге, модифицируются на величину некоторой поправки [4-5].
Целью данной работы является повышение эффективности квазиньютоновских методов подбора весовых коэффициентов при помощи параллельных вычислений, выведение аналитических выражений, показывающих значение эффективности разработанного алгоритма, и проведение вычислительных экспериментов для подтверждения этого значения.
Формула Бройдена-Флетчера-Гольдфарда-Шен-но. В соответствии с формулой Бройдена-Флетчера-Гольдфарда-Шенно (Вгоу<1еп-Р1е1;сЬег-ОоЫ£агЬ-8Ьап-
по) процесс уточнения значения матрицы Н можно описать рекуррентной зависимостью:
Н
(і+і) - н (І)+с(ні)(/) - с(н2 )(І)
(7)
с(ні)(І) -\ам (І ^ АVє(І) + v+[АVє(І ^ Н(І )АVє(І
Ам
(І)
[ам (І >Г
[аім (і ^ АVє(І)'
С (Н2 )(І) -
Н(І ^ АУє (І )\ам{і ^ + Ам(і )[АVє(І ^ Н(І)
(8)
АVє
(і)
(9)
Обозначим произведение изменения вектора весовых коэффициентов Ам на транспонированное изменение вектора весовых коэффициентов [ам]Т как мм :
(і ^[аім (і^ =
(Ам0І 1..,АМ(*-1)
Ам(І). і -1
V м у
Ам,(і ^ Ам(і)
А* -1
(10)
Ам( ’Ам>\ , 0 -1
(ч -1)2
произведение транспонированного вектора приращения весовых коэффициентов [ам]Т на вектор приращения градиента АVє как С(Н 3):
С (Н 3)(І) - [аім (І )]ГАVєl
.(і)
АVє(І
АVє
(і)
(11)
і -1
(а4 )АкЄ());
і-0
а произведение транспонированного вектора приращения градиента [АУе] на матрицу Н как [С(Н4)] :
(і ) =
= ^I
Г Н (І)
Н(і)
Vп 1*-1.о (I -1
£ )1)*
Н
(і)
Н
(і)
(12)
і-0
і-0
В этом случае формула (7) может быть записана как
Н(+ = Н(1) +
^ С(Н3 )(1) + [с (Н4 )(1 )]Г АУе(1 )
(с(нз )(1 (13)
Н(1 А Уе(1 )[атМ (1)] + АЛ(1 )[С (Н4 )(1^
Ф¥]
Подбор весовых коэффициентов при использовании большого числа информационных ресурсов классическим градиентным алгоритмом. Пусть имеется п элементов информационных ресурсов (ИР-элементов), имеющих распределенную память, пронумерованных от 0 до п - 1. Первый ИР-элемент называется управляющим, поскольку отвечает за синхронизацию вычислений. В качестве такого информационного ресурса может быть использована кластерная система или вычислительная сеть.
Как можно заметить, для вычисления нового значения одного из весовых коэффициентов Л(1+1) градиентные алгоритмы используют значения остальных
і -1
м
весовых коэффициентов, которые были на предыдущей итерации їм(і). Исходя из этого, можно сделать вывод,
что элементы градиента V«(і ^ могут быть вычислены одновременно, следовательно, этот вектор может быть разделен на п частей, каждая из которых вычисляется отдельным ИР-элементом, которому для этого необходимо лишь передать текущие значения весовых коэффициентов м(і). После окончания вычисления ИР-элементы не возвращают полученные результаты на управляющий, а изменяют значения приписанных к ним весовых коэффициентов, а уже после этого возвращают результат (новые весовые коэффициенты). Следовательно, каждый ИР-элемент, за исключением управляющего, вычисляет
К-
ім шей п - 0;
ім шей п Ф 0
(14)
п -1
весовых коэффициентов (и соответствующих им элементов градиента), а ведущий вычисляет
^м-
ім шей п- 0; (15)
ім - і м (п - 1), ім шей п Ф 0
элементов, где п - число используемых ИР-элементов; 1№ - количество весовых коэффициентов [1] (рис. 1).
Таким образом, на каждой итерации происходит только две передачи данных - всех весовых коэффициентов на все ИР-элементы и части из них со всех ИР-элементов на управляющий [1, 6].
Подбор весовых коэффициентов модифицированным квазиньютовским методом. Модифициро-
ванный для использования большого числа ИР-элементов квазиньютоновский алгоритм может быть реализован следующим способом (рис. 2).
1. Поскольку первые шаги, вычисляющие значения V«(і), АVє(/) и м~(і), нуждаются только в значениях, полученных на предыдущих шагах, то каждый ИР-элемент может вычислять часть значений этих векторов и строк матриц. После этого неуправляющие ИР-элементы передают на управляющий вычисленные ими
части изменения градиента АVє(/^ и матрицы м~(і)
(значения градиента Vє(/ ) не требуются управляющему ИР-элементу).
2. Управляющий ИР-элемент рассылает новые
значения вектора АVє(/ ^ на все прочие (матрица м~(і) необходима только управляющему ИР-элементу). Каждый ИР-элемент, за исключением управляющего, вычисляет соответствующие строки матрицы
С
І)
ВО
АVє(І)
- АVє(I \ам>(і )]Г Л
АVє{I),
V А*-1 у
(16)
- ГАVє(I^Ам(І) ••• АVє(I)Ам{і\ \
АVє ,(і \ Ам () ••• АVє(I ),Ам(І \
V V-1 0 -1 -1
и вектора С(Н4)(і) . Строки матрицы с{нво) ^ и
элементы вектора С(Н4 ) ) распределяются таким образом, что все ИР-элементы с второго по предпоследний вычисляют
і
і
Рис. 1. Схема размещения вектора весовых коэффициентов по ИР-элементам
n -1
n - 2
lw mod (n - і)= 0;
lw mod (n - і)ф 0,
строк/элементов, а последний -
(l7)
с(нв2 f = (ні(I )),c!ü в0 )
(I)
Г H? (I ) ¡ 0,0
H
(I )
h(i) - i?(I)
IV1,0 Hlw -Uw-1.
Аіі )(i )
'нв^0,0
с(н в
lw,
lw mod (n - і) = 0;
(l8)
lw -¡w(n -2), lw mod (n -0* 0
Управляющий ИР-элемент вычисляет значение С(н3){I ) .
4. Неуправляющие ИР-элементы передают на управляющий вычисленные ими значения матрицы
С{Нво )(I ) и вектора С{Н4 )').
5. Управляющий ИР-элемент рассылает значения
'Яв0 )
I)
и вектора
матрицы С1 ИР-элементы.
б. Управляющий ИР-элемент вычисляет
С (Нв1 )(I ) = [С(Н4 )(I )]rAV.(l ) =
на прочие
: (с(Н4 )“) с (¡4 )ÍI >1
V Awl -1,
V !w 1 у
l -і
(I)
lwS (с(Н4 )(I ) AV.i' ))
(l9)
с(Нв0)(I-1,0 . с(нв0 P1, -1
Г l..1
L.-1
S Г Н0С(нв0 S Г Hi —lAHвo)(
(I)
- —1 ■ ■ ■ l —1 / \
HL-1,iC(Нв0К 1 SfHl - 1,ic(Hв0)(I)—1
ÑÍHb3 )' ) = AW(I ^(ж )(I =
f Л
AW(I )
і Í C(H4f0> C(H4){I )_ 1
AWÍIК V W
l -і
V W у
Aw0 С(Н4 )0') - AW01 С (H4 ){I)_1
Aw(l-іС (H4 ft) - Aw(l-іС (H4 ){l -1
(22)
(23)
i=0
c{¡ii )') = Г c(H3Ÿ ) +с{ям )' )jwÍI ) =
= Tc(H3 )ÍI ) + с{і?ві)1 )']^?0,0, ■" Í с(нз)' ) +с{і?ві)1 )')
(2G)
Íc(h3 )i ) + сНГв1) 1 )')wl -1,o, - iC(H3)ÍI| +с{нві}' )1Wl -1, l -1
C
Ш.
і )
с(нз )2
(21)
а все прочие - соответствующие строки матриц
С(Я2 ) ' ) -Фв2 У \+ С(Н вз f
С (Н3 )
(24)
При этом все ИР-элементы кроме последнего вычисляют lw , а последний - lw строк.
7. Неуправляющие ИР-элементы передают на
управляющий С{¡2)(') (значения матриц С{¡в2) )
и С (¡яз ) ) не требуются на управляющем ИР-элементе).
8. Управляющий ИР-элемент вычисляет гессиан и новые значения весовых коэффициентов W^I+1^ и рассылает их на все прочие ИР'-элементы.
l
w
w
l
w
lw-1
w
i= 0
i=0
i= 0
i=0
и
и
Рис. 2. Диаграмма последовательности выполнения параллельного вычисления весовых коэффициентов
Число мультипликативных операций, необходимых для вычисления нового значения весовых коэффициентов. Традиционным способом определения эффективности алгоритма является подсчет числа сделанных им мультипликативных операций. Поскольку на современных компьютерах мультипликативная операция обычно занимает немногим больше времени, чем аддитивная, то для построения аналитических выражений будем производить подсчет и мультипликативных, и аддитивных операций. Для приведения аддитивных операций к мультипликативным введем коэффициент а, значение которого прямо пропорционально времени, затрачиваемому на одну аддитивную операцию, и обратно пропорционально времени, затрачиваемому на одну мультипликативную:
■ = 1а.
(25)
вычислить количество операций, которые требуются для вычисления нового значения вектора весовых коэффициентов м(і+1) по формуле Бройдена-Флетчера-Г ольдфарда-Шенно - г (н ).
Обозначим количество операций, необходимых для вычисления произведения вектора, содержащего ім элементов, на транспонированный вектор, содержащий ім элементов, как
2у0 ім +
(26)
количество операций, необходимых для вычисления произведения транспонированного вектора на вектор, как
2У1 - 2а1м + а + К
(27)
где Iа - время, затрачиваемое на одну аддитивную операцию; /т - время, затрачиваемое на одну мультипликативную операцию.
Таким образом, одна аддитивная операция занимает в а раз больше времени, чем мультипликативная, и, следовательно, одну аддитивную операцию можно заменить а мультипликативными и наоборот [8]. Обозначим количество мультипликативных операций, необходимых для вычисления значения невязки, как г е . Тогда для определения эффективности необходимо
количество операций, необходимых для вычисления произведения матриц размерностью , как
2у2 2у1ім +
(28)
а количество операций, необходимых для произведения транспонированного вектора на матрицу, как
•у3 2у1ім +
(размерность матрицы и вектора равна ім ).
(29)
Для получения количества мультипликативных операций, требуемых для вычисления нового значения
вектора весовых коэффициентов Л(1+!) , необходимо вычислить количества операций для каждого из шагов:
1) вычисление по формуле (1) значения градиента
Уе(1). Для этого необходимо 1Л(ге + 3о + 1)+1л мультипликативных операций;
2) вычисление приращения градиента АУе(1 ^, требующее 2а1м, операций;
3) вычисление по формуле (10) матрицы (1 ^ . Для вычисления г~(1 ) необходимо 2у0 операций;
4) вычисление по формуле (11) С(Н3)(1). Для этого необходимо 2у1 мультипликативных операций;
5) вычисление по формуле (12) [С(Н4 )(1 )]Г бующее 2у3 операций;
6) произведение приращения градиента АУе
тре-
(/)
на транспонированный вектор приращения весовых коэффициентов [ім(і ^ - вычисление С Нв0 )І) по формуле (16). Для этого необходимо гу0 мультипликативных операций;
7) умножение транспонированного вектора
на вектор приращения градиента АVє
(/)
[с (H4 )(1 )]Г
(с(нbi) ) - формула (19)), требующее zw мультипликативных операций;
8) вычисление по формуле (22) значения
С (HB2) , представляющего собой произведение
ІНВ2 )і}
матриц Н(і ^ и С (іво) ^ . Для вычисления
С(нВ2) ) необходимо операций;
9) произведение вектора приращения весовых коэффициентов на транспонированный вектор
С(Н4)(І )]Г г
С(нвзУ ^. Для этого необходимо мультиплика-
т. е. вычисление по формуле (23)
тивных операций;
10) умножение матрицы w(1) на число
С(Н3)(/) + с(нв0 )7) (в результате
чего по формуле
(20) вычисляется значение С(Н~) ^) требует
%а + % +1 операций;
11) вычисление по формуле (21) С(Н1)(1 ) , требующее а/2 + I2 операций;
12) вычисление по формуле (24) С(Н2)(1) , требующее а/2 + 12 +2а/2+1 операций;
13) вычисление по формуле (7) значения матрицы Н~(1+1). Для этого необходимо 3а/2 операций;
14) вычисление новых значений весовых коэффициентов требует zv0lw + ст/Л операций.
Таким образом, количество операций, необходимых для вычисления значений Уе , АУе , Л , С(Н3) и
[С(Н 4)] , может быть вычислено по формуле:
z (С(Я О)) = lw(zs + За + l)+lw+ 2alw +
= lwze + 5alw + 2lw + zv0 + zv1 + zv3 >
(30)
количество операций, необходимых для вычисления С (ні) ( с(НВ0 ) и с{н м ) X - по формуле:
z (с (Н1))=zvo + aw +lw +1+aw +lw =
= zv0 + 2lw + 2lw + 1,
(31)
а количество операций, необходимых для вычисления С(Н2) ( с{нв1 ), с(нВ2) и с{нвз)), - по формуле:
z (с (Н 2)) = zv1 + zv2 + zv1 + 2aiw + alw + lw
+1 = 2zvi + zv2 + 3alw +lw +1.
(32)
Следовательно, общее число операций 2 может быть вычислено по формуле:
г = г (С (Н 0))+ г(С(Н1)) + 2 (С (Н 2)) +
+ 3ст1Л + 2у01л + ст1л = 1л2е + 5ст1л + 21Л +
+ 2 2у0 + 2у1 + 2уЗ + 2у0 + 21Л + 21Л + 1 +
(33)
+ 2 zv1 + zv2 + 3alw + lw + 1zv0lw + CTl= w = = lwzs + 6alw + 2lw + 3zv0 + 3zv1 + Zv 2 + + zv3 + + 2 + 3aiw + zv0lw ■
Число мультипликативных операций, необходимых для параллельного вычисления гессиана. Обозначим количество мультипликативных операций, необходимых для передачи I элементов с одного ИР-элемента на другой при скорости интерконекта V как у(/, V) (значение у(/, V) зависит от используемой платформы). Тогда, учитывая, что для подготовки одного элемента к передаче между ИР-элементами и обработке его после приема необходимо 1 + 2а операций, для каждого из шагов алгоритма необходимо следующее количество операций.
1. Для вычисления элементов градиента и его
приращения необходимо ^л2,, + 5oNw + 2ИЛ мультипликативных операций на управляющем ИР-элементе и I + 5а1к + 21м, на прочих. Для вычис-
~(I)
ления части строк матрицы л все неуправляющие ИР-элементы выполняют по + 2ст1и,1и, операций (управляющий выполняет lwNw + 2alwNw операций). Для передачи элементов вектора АУе(1 ^ необходимо 1К + 2(51^, операций, а для передачи I к
+ zv0 + zv1 + zv3
строк матрицы м(І ) - ім (ім + 2аі м) . Для приема вычисленных значений управляющему ИР-элементу необходимо выполнить (п -1)
(м + 2аі м + імім + 2аІмі м ) операций, но прием может начаться лишь после отправки, следовательно, количество операций, выполняемых на управляющем ИР-элементе, вычисляется по формуле:
С(1.0) -СВ
ґ^мгє + + 2К +^
і„А„ + 2&lwмw,
V к-П- + У І^))
(34)
+ пім+ 2спі м - і м - 2<5і м.
где у(^.у) - число мультипликативных операций,
выполняемых для передачи I ^ элементов при скорости интерконекта V, а на прочих - по формуле:
С( ^ — імг8 + 7аім — 3ім + імім + 2імім +
В м 8 м м м м м м
імім + 2аімім = імгм + 7сті» + 3ім +
(35)
+ 4імі м + 2аімім,-
2. Для рассылки значений АVє(I) ведущий ИР-
элемент выполняет
С(2’0) - пІ„ + 2апІ„ -- 2аІ
(36)
операций, а прочие - по
СВВ"к^ -ім+ 2<зім + 7(ім,у) + кім + 2®кім> . (37)
3. Для вычисления части строк матрицы С(Нв0 ) все неуправляющие ИР-элементы, за исключением последнего, выполняют по імім+ 2стімім операций
(последний выполняет імім + 2стімім операций). Для вычисления части элементов вектора С(Н 4) неуправляющие ИР-элементы выполняют •У1(ім )ім +ст ім и
•у1(ім)ім +стім операций, соответственно. Таким образом, общее число мультипликативных операций для неуправляющих ИР-элементов -
С()3’к^ -і„/„ + 2сті„/„ + (і„)і„ +ст/~
В м м м м У1V м/ м м
(для непоследних) и Сн3.п-1) -і^і + 2оім,ім, + г,., (іи,) і +сті,
В м м м м У1 V м* м м
(38)
(39)
(для последнего), а управляющий ИР-элемент выполняет (для вычисления С(Н3)(і))
С(3’0) -г СВ 2у1
(40)
операций.
4. Для оправки вычисленных значений (С (Нв0 ) и С(Н 4) ) неуправляющие ИР-элементы выполняют
С(4,к }= і„1 + 1 + 2ЫХ + 2<
(для непоследних) и
с (4.п-1) = іХ+їм + 2аим + 2аТм
В м м м м м м
(41)
(42)
(для последнего) операций, а управляющий ИР-элемент - для получения
= (п - 2)(імім, +Т„ + 2ЫХ + 2<) +
+ імім +ім+ 2^імім + 2оАм
(43)
операций.
5. Для рассылки элементов матрицы с(Нво) вектора С (Н4 ) управляющий ИР-элемент выполняет
Ф0) = (п - 1)(ім + 2стім + ім + 2аім)
(44)
мультипликативных операций, а прочие ИР-элементы -по
сВ5,к ^ = ім+2стімм+ім+2аім+у(імм + ім.у)+ + к ( ^ + 2аім + ім + 2сті» )
(45)
мультипликативных операций.
6. Для вычисления строк матриц С1
с(НвзУ) и С(Н2)(І)
/53) и С(Н 2) последний неуправляющий
ИР-элемент выполняет
сВб"-1) = •УііКї + 2аТм +а + 7 +
+ і»Ам + 6стімім + 1
(46)
операций (из них 2у11л1 + о1Л1Л операций для вычисления с(Нв2 ) ), 2о/Л +5 + 1М, операций для в^гчис-
ления СНвз) ) и 5о1Л/Л + 1Ч,1 + 1 для вычисления С(Н2)(1)), остальн^1е неуправляющие - по
+
: zv1lwlw + 2g1w + CT + ¡w
+ lwl + 6(jlwlw + 1
Как можно видеть, для выполнения первых четырех (47) шагов максимально-выполняемое число мультипликативных операций составляет
(из которых 2у11М!1М! + о1Л1Л операций для вычисления С Нв2 ) ^, 2а/Л +5 + 1Л операций для вычисления с(Нвз I1 1 и 5о1^ + 1^ + 1 для вычисления С(Н2)(1)), а управляющий (для вычисления с(Нв1 )(11, С(Щ )(11 и С(Н1)(1)) -
С{в,’0) =zvl + 2a¡W + 2¡W +1
(48)
(zvl операций для вычисления c{hbi)(1 ), all+il+i операций для вычисления cH )1)
и all +ll для
выиисления C(H1)(1 )).
7. Для передачи C(H2)(1) неуправляющие ИР-элементы вытолняют по
с(7,n-1)=СС + 2al С
B W W W W
(49)
С(1) = С^ max( 42,0)+ с(3,0)
max
k=1..n-2
вв
_(cB2,k ) + cB3’k ) + cB4k ) + Y(~w¡w + ~w, v))
Cj2, n-l) + ф n-l) + cB4, n-l) + Y(~w¡w +
+ ¡w, v)) + фЧ
для пятого, шестого и седьмого -
С(2) = max( фЧ
max (CÍ5,k ) + фк ) + C(7,k ) + Y(~Wlw, v)),
k=1..n-2
(5,n-l) , r( 6,n-l) , r( 7,k)_
r(5,n
CB
'+ C(6,n-1)+ C(',k ) + Y(lw¡w, v)) + Св
7,0)
а для восьмого -
СP = max (СI’k)).
k=0..n-1
(54)
(55)
(5б)
(последний ИР-элемент) и C(7,k )=lw/W + 2ctIw/W
(5G)
Исходя из вышесказанного, общее число мультипликативных операций, выполняемых для параллельного вычисления весовых коэффициентов на одной итерации, составляет
(непоследние неуправляющие ИР-элементы) мультипликативных операций, а управляющий -
С{7,0) = (n - 2)(L L + 2aL¡ ) +l.X, + 2aluí
в V -'V w w w W' w w w 1
(51)
операций.
8. Для вычисления гессиана управляющий ИР-элемент выполняет 3a¡l мультипликативных операций, а для вычисления новых значений весовых коэффициентов - zv0lw + alw операций. Для рассылки вычисленных значений управляющий ИР-элемент выполняет (n - 1)(¡W + <5¡W + ¡w + alw) , а прочие для
приема - по ¡2 + al2 + lw + alw операций. Таким образом, общее число мультипликативных операций, выполняемых на управляющем ИР-элементе на данном шаге, -
Св =S с(1)
(57)
1=1
Аналитические и эмпирические значения коэффициента эффективности. Для проверки эффективности разработанных параллельных алгоритмов введем коэффициент эффективности, который вычисляется по формуле:
a (Z ) = Zw0l°Z 100 % ,
nzw0+nIGZ
(58)
где 1а - число итераций алгоритма обучения; 2л0 -количество операций, необходимых для инициализации; 2 - число операций, необходимых для параллельного вычисления весовых коэффициентов, вычисляемое по формуле:
С(8,0)= С +(n - 1)(¡W +a¡W + ¡w +a¡w )
(52)
Z =CB+ 2alw
(59)
где С = 3alw + zv0lw + alw , а на прочих - по Ф0) =¡l + alW + ¡w +alw +Y(lW + ¡w, v) +
+ k (lW + + ¡W + alw ) + C
(5З)
Для определения эмпирического значения коэффициента эффективности необходимо вычислить временные затраты на последовательный Г и параллельный т (п) алгоритм. Таким образом, эмпирическое значение коэффициента эффективности может быть вычислено по формуле:
Таблица 1
Аналитические и эмпирические значения коэффициента эффективности
Число ИР-элементов (процессоров) Аналитический коэффициент эффективности, % Эмпирический коэффициент эффективности, %
2 90,02 89,99
4 90,01 89,99
6 90,00 89,97
8 90,00 89,96
10 89,98 89,96
12 89,96 89,96
14 89,95 89,95
а (/) -—Ц 100% . (60)
пт (п)
Вычислительные эксперименты. Вычислительные эксперименты были проведены на кластерной системе Тамбовского государственного университета им. Г.Р. Державина. Для проведения эксперимента была использована сеть каскадной корреляции Фальмана [7]. Аналитические и эмпирические значения коэффициента эффективности приведены в табл. 1.
Выводы. Приведенные выше результаты говорят о том, что данная технология распараллеливания способна значительно снизить временные затраты на обучение ИНС, что обусловливает более эффективное использование. Таким образом, поставленную цель повышения эффективности квазиньютоновских методов при помощи параллельных вычислений можно считать достигнутой.
ЛИТЕРАТУРА
1. Крючин О.В. Разработка параллельных градиентных алгоритмов
обучения искусственной нейронной сети // Исследовано в России. 2009. C. 1208-1221. URL: // http://zhurnal.ape.relam.ru
/artides/2009/096.pdf. Загл. с экрана.
2. Gill P., Murray W., Wrights M.H., Wrights M. Practical Optimisation. N. Y.: Academic Press, 1981. 420 p.
3. Bonnans J.F., Gilbert J.Ch., Lemarechal C., Sagastizbal C.A. Numerical optimization, theoretical and numerical aspects. Springer, 2006. 437 p.
4. Byrd R.H., Lu P., Nocedal J.A. Limited Memory Algorithm for Bound
Constrained Optimization // SIAM J. on Scientific and Statistical Computing. 1995. P. 1190-1208. URL: // http://www.ece.north-
western.edu/~nocedal/PSfiles/limited.ps.gz. Загл. с экрана.
5. Крючин О.В., Арзамасцев А.А., Королев А.Н., Горбачев С.И., Семенов Н.О. Универсальный симулятор, базирующийся на технологии искусственных нейронных сетей, способный работать на параллельных машинах // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2008. Т. 13. Вып. 5. C. 372-375.
6. Крючин О.В., Арзамасцев А.А. Сравнение эффективности последовательных и параллельных алгоритмов обучения искусственных нейронных сетей на кластерных вычислительных системах // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2010. Т. 15. Вып. 6. C. 372-375.
7. Fahlman S.E., Lebiere C. The cascade-correlation learning architecture: tech. rep. CMU-CS-90-100. School of Computer Science. Carnegie Mellon University. August 1991. 18 p.
Поступила в редакцию 31 августа 2012 г.
Kryuchin O.V., Vyazovova E.V, Arzamastsev A.A. INFORMATION PROCESSES OF EFFICIENCY INCREASING OF SELECTION OF WEIGHT COEFFICIENTS OF ARTIFICIAL NEURAL NETWORK BY MEANS OF QUASI-NEWTON METHODS USING BROYDEN-FLETCHER-GOLDFARB-SHANNO FORMULA
In this paper the parallel quasi-Newton method which uses the Broyden-Fletcher-Goldfarb-Shanno formula is presented. It describes analytic equations allowing estimating the presented algorithm efficiency and experiments which were done for these equations checking.
Key words: artificial neural networks; parallel calculations; quasi-Newton methods; information resources; efficiency increasing; analytic equations.