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

УДК 519.95

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

© О.В. Крючин, А.А. Арзамасцев

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

Проведена оценка количества мультипликативных и аддитивных операций, необходимых для обучения искусственных нейронных сетей с использованием последовательных и параллельных алгоритмов на кластерных вычислительных системах. Выполнена оценка эффективности данных алгоритмов. В качестве нейросетевых структур использованы многослойный персептрон, сеть Вольтерри и сеть каскадной корреляции Фальмана. Для вычисления весовых коэффициентов использованы градиентные и безградиентные методы нелинейного программирования.

ВВЕДЕНИЕ

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

Главными недостатками ИНС как универсального аппарата построения математических моделей для объектов, заданных эмпирическими данными, являются значительная сложность алгоритмов выбора структуры такой сети и существенная размерность вектора переменных целевой функции, минимизируемой при обучении сети. Данные недостатки приводят к значительным временным затратам в процессе разработки адекватной объекту ИНС-модели.

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

ИСПОЛЬЗУЕМЫЕ СТРУКТУРЫ ИНС

Будем рассматривать следующие структуры ИНС - многослойный персептрон (рис. 1), сеть каскадной корреляции Фальмана (рис. 2-5) и сеть Вольтерри (рис. 6). Выбор данных структур обусловлен их широким использованием в задачах аппроксимации и прогнозирования временных рядов [3, 7].

1872

Многослойный персептрон (МЬР) - это полносвязная сеть прямого распространения. Такая структура содержит входной, выходной и несколько скрытых слоев. Количество нейронов на слоях может быть произвольным. Поскольку сеть является полносвязной, то каждый нейрон г -го слоя соединен с каждым нейроном (г +1) -го слоя. Данные структуры являются наиболее распространенными, что обусловливается их универсальностью.

На рис. 1 х обозначает вектор входных, а у - вектор выходных данных. Данная сеть имеет Мь слоев, среди которых слой с индексом 0 является входным, с индексом NЬ — 1 - выходным, а слои с 1 по Мь — 2 - скрытыми. Каждый 1 -й скрытый слой содержит М нейронов. Количество нейронов на входном слое обозначено Ь, а на выходном - Р .

Скрытые нейроны

Рис. 1. Многослойный персептрон

Сеть каскадной корреляции Фальмана - это специализированная многослойная нейронная конструкция, в которой подбор структуры сети происходит параллельно с ее обучением путем добавления на каждом этапе обучения одного скрытого нейрона. Таким образом, определение структуры сети и реализацию алгоритма обучения можно трактовать как подбор оптимальной архитектуры. Архитектура сети каскадной корреляции представляет собой объединение нейронов взвешенными связями в виде развивающегося каскада. Каждый очередной добавляемый нейрон подключается к входным узлам и ко всем уже существующим скрытым нейронам сети. Выходы всех скрытых нейронов и входные узлы сети напрямую подключаются также и к выходным нейронам [8, 9].

Процесс обучения сети начинается до ввода в нее скрытых нейронов. Значения весовых коэффициентов подбираются таким образом, чтобы минимизировать значение целевой функции (рис. 2).

Если результат функционирования сети считается удовлетворительным с точки зрения ожидаемой или допустимой погрешности, процесс обучения и формирования структуры сети завершается. В противном случае следует расширить структуру сети добавлением одного скрытого нейрона (рис. 3). Для этого применяется специальная процедура, при выполнении которой вначале формируются и фиксируются входные веса нового нейрона, после чего он вводится в существующую сетевую структуру и его выход подключается ко всем выходным нейронам посредством связей с соответствующими весами. После подключения очередного скрытого нейрона происходит уточнение весов выходных нейронов. Если полученный результат признается удовлетворительным, обучение завершается. В противном случае процедура включения в сеть очередного скрытого нейрона повторяется вплоть до достижения желаемого результата обучения (рис. 4-5) [3, 10].

1873

Рис. 2. Сеть каскадной корреляции Фальмана без скрытых нейронов

Рис. 4. Сеть каскадной корреляции Фальмана с двумя скрытыми нейронами

Рис. 3. Сеть каскадной корреляции Фальмана с одним скрытым нейроном

Скрытые нейроны

Рис. 5. Сеть каскадной корреляции Фальмана с несколькими скрытыми нейронами

Сеть Вольтерри - это динамическая сеть для нелинейной обработки последовательности

сигналов, задержанных относительно друг друга. Возбуждением для сети в момент I служит вектор х = |хг, х— ,х_2,.,х1—1^ ], где 4 - количество единичных задержек, а ^+1 означает размерность вектора. В соответствии с определением ряда Вольтерри выходной сигнал генерируется по следующей формуле [11, 12].

і 1 ( 1

Ч і \ Ч Ч (

у

= І1=11 і'2=1^ 1,2

+

+

X

X

Ч12 1

Е... Е

^і3 1 ік 1

\\

\ і2 .,Ікх

/У

где х обозначает входной сигнал, а веса w, м?г, .., ^ к и т. д., называемые ядрами Воль-

терри, соответствуют реакциям высших порядков. Порядок этого полинома также называют степенью ряда Вольтерри [3, 13-16].

У о

V

Скрытые нейроны

Рис. 6. Сеть Вольтерри

1874

1

1

АКТИВАЦИОННЫЕ ФУНКЦИИ НЕЙРОНОВ

Модель искусственного нейрона, как самостоятельная единица, должна суммировать сигналы, поступающие на него с соответствующими весовыми коэффициентами (аналогия синаптической силе биологического прототипа) и выполнять нелинейную функцию, формирующую выходной сигнал нейрона.

Рис. 7. Модель нейрона МакКаллока-Питса

Модель МакКаллока-Питса является одной из первых моделей искусственного нейрона. Схема модели представлена на рис. 7. Здесь £ обозначает сигналы, подаваемые на синапсы (как правило, выходные значения нейронов на предыдущем слое).

Для преобразования сигнала используется пороговая функция вида (4).

/

|о, х < 0.

Функция (4) называется функцией активации. Аргументом функции для каждого конкретного нейрона модели МакКаллока-Питса выступает суммарный сигнал, вычисленный по формуле (5).

х =

І£>.

=1

Где £ - суммарный сигнал, м - весовые коэффициенты межнейронных (синаптических) связей, £ (/ = 1,2,...,Ь) - входные сигналы, I - номер входа текущего нейрона, Ь - количество

входов нейрона.

Модель МакКалок-Питса с соответствующей стратегией обучения называется «простой персептрон» [13].

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

Как можно видеть на рис. 7, нейрон имеет 2 импульса - добавочных весовых коэффициента, - значение одного из которых остается неизменным, а второй обучается наряду с прочими весовыми коэффициентами. Также аргумент активационной функции имеет коэффициент, и, таким образом, выходное значение нейрона может быть выражено формулой (6):

У = /

N -1

1 У Ц 1

сх І + Рі + Ре

і=0

1875

Использование импульсов и коэффициента позволяет более гибко настраивать активационные функции.

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

Таблица 1

Количество операций, необходимых для вычисления выходного значения нейрона

Активационная функция Количество аддитивных операций

У = Х = Сх ( + Р!+Ре ) 2 1

У = х 2 = (сх ( + Р1+РЕ ))2 2 2

У = х3 = (сх ( + Р1+РЕ ))3 2 3

У = х 4 = (сх ( + Р1+РЕ ))4 2 3

У = 81П(х) = 81п(сх ( + Р!+ Ре )) 2 28

у = соз(х) = соб(сх (^ + Р!+ Ре )) 2 28

У = ^п(х) = 1ап(сх( + Р!+ Ре )) 2 24

у = с^п(х) = ^ап(сх(^ + Р!+ Ре )) 3 24

1 = 1 У 1+х 1 + сх (+ Р1+РЕ) 3 2

11 3 2

' 1+х 1+сх (+ Р1+РЕ)|

1 = 1 У 1 + ех 1 + есх( + Р1+РЕ) 3 12

1 = 1 1 + е|х| 1 + е|сх ( + Р1+РЕ )| 3 12

СЛОЖНОСТЬ ВЫЧИСЛЕНИЯ ВЫХОДНЫХ ЗНАЧЕНИЙ ИНС

Количество мультипликативных операций, необходимых для вычисления выходных значений ИНС складывается из количества мультипликативных операций, необходимых для вычисления выходных значений нейронов и количества синаптических связей.

N ,х-1

Су= ^ СN

1=0

где СN (м) - количество мультипликативных операций, необходимых для вычисления выходного значения г -го нейрона, - количество нейронов в сети, 1п - количество синаптиче-

ских связей (весовых коэффициентов).

Аналогично можно вычислить количество аддитивных операций, необходимых для вычисления выходных значений ИНС.

1876

Nц-1

6 У = Е 6 N

г=0

где 0/ - количество аддитивных операций, необходимых для изменения счетчиков цикла.

Можно расписать формулы (7)-(8) для различных типов структур. Так, формулы (9)-( 10) определяют количество операций при использовании многослойного персептрона.

N^-1 NL -1

=0 =1

N^-1 NL -1 ^

«уМ = Е «N

=0 =1

Здесь NL - количество слоев, N. - количество нейронов на I -ом слое, Р - количество выходов, L - количество входов.

Аналогично, можно посчитать количество мультипликативных и аддитивных операций для сети каскадной корреляции Фальмана (11) и (12) и сети Вольтерри (13) и (14).

Nv, -1 N -1

=0 ]=0

^ -1 N -1

«уС = Е «А-

1=0 у=0

N^-1

^уУ = Е

=0

N^-1 NL -1

«уУ = Ев*'

^чм,)+ 2 Е NN-1 +

=0 =1

Если посчитать, что мультиплактивная операция занимает в о раз больше времени, чем аддитивная то одну мультиплактивную операцию можно заменить о аддитивными и наоборот. Следовательно, на основе (9)—(14) можно вывести (15)-( 18).

2уМ = СуМ + о6 уМ

2уС = СуС + о6 уС

2уУ= СуУ + °6 уУ

N ц-1 NL -1 (N^-1 NL-1

*>М= Е(м,) + Е NД_l + о ЕвN(м,)+ 2 Е N,N,-1 + 2NL+P + L

=0 =1

=0 =1

V

1877

N^-1 N1 -1

2уС =

Е&

1=0 1=0

(N^-1 N1 -1

+о

Е9Д' (м,)+2 Е ( +1)+2Р( +Nl)+Nl + 2Р+L

-'N

1=0 1=0

N ц-1

( N^-1

,=0

NL-1

*\г = Е Ск

,=0

,=1

N ц-1

Поскольку для вычисления каждой структуры необходимо Е(N (м,)+ 6 N (м,)) мультип-

,=0

ликативных операций, то общий член выражений (18)-(20) можно обозначить как 2у0 , следовательно, выражения (18)-(20) можно преобразовать к виду (21)-(24).

N^-1

2у0 = Е(N (м,)+ 6 N (м, ^

,=0

NL -1

(Nг -1

,=1

Р + L

\

,=1

2

N -1

(N1 -1

2уС = *,« + Е

1=0

1=0

+ о

( NL -1

2уУ = 2у0 + о

Л

2 Е N - «м + ^N1 -1)

V =

СЛОЖНОСТЬ ВЫЧИСЛЕНИЯ ЗНАЧЕНИЯ НЕВЯЗКИ Исходя из вышесказанного на основе формулы (3) можно вывести (25)-(27).

с = ы

бе =ы

2е = Се +о6е = N

1878

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

п-1

е = Е ек

к=0

где є к - значение невязки на к -м процессоре [5].

Каждый процессор, за исключением ведущего, обрабатывает М строк. Ведущий работает с М строками.

М

N

п

N п -1

N шоё п = 0

N шоё п ф 0

N шоё п = 0

[N - М(п -1), N швё п Ф 0

Для работы параллельного алгоритма необходимо:

- перед началом обучения разделить обучающую выборку на п частей и передать ее на процессоры;

- при каждом вычислении невязки передавать на процессоры вектор весовых коэффициентов ^ и возвращать значение невязки.

Для разделения выборки на п частей необходимо 2 мультипликативные и N аддитивных операций, а для передачи на п -1 процессоров - РМ (п -1) мультипликативных и 2РМ (п -1) аддитивных операций. Следовательно, для выполнения первого п)ункта на ведущем процессоре выполняется 2 + N - М)р мультипликативных и N + 2р(ы - М) аддитивных операции, а на неведущем - МР мультипликативных и 2МР аддитивных. Кроме того, неведущий процессор не может начать получение данных пока ведущий процессор не отправит их, поэтому на к -м процессоре (к > 0) выполняется 2 + РМк + оN+2оРМк пустых операций (соответствующих операциям подготовки данных на ведущем процессоре) и у(МР,у) операций, время выполнения которых соответствует времени передачи МР чисел при скорости интерконекта V . Таким образом, ведущий процессор затрачивает С° = 2+РИ - РМ + оИ+2ор( - М) мультипликативных операций, а к -й процессор - С° .

С$ = 2 + РМк+ оЫ+ 2оРМк+ у(МР, у)+МР + 2оМР =

= 2 + РМ

Вычисление значения невязки состоит из нескольких этапов:

1. Передача на все процессоры значений вектора весовых коэффициентов (на ведущем требуется /м, (п -1) мультипликативных и 2/м, (п -1) аддитивных, а на к -м неведущем - /К

мультипликатиных и 2/м, аддитивных для получения, /^к+у(/^ ,у) и 21 Кк пустых операция

ожидания; таким образом, всего /м,+2о/м,+/м,к+у(1м, ,у)+2о/м,к операций).

1879

2. Вычисление значения невязки.

3. Возвращение на ведущий процессор значений невязки (на к -м неведущем - 1 мультипликативная и 2 аддитивных операции, а на ведущем - (п -1) мультипликативных и 2п - 2 аддитивных для приема и 1 + 2о+у(1, V) операций ожидания - п+2 о п+ У(1, v)).

4. Вычисление ведущим процессором результата.

Количества операций, необходимых для этих этапов представлены в табл. 2.

Таблица 2

Количество операций, необходимых для вычисления невязки

Этап Ведущий процессор Неведущий (к -й) процессор

1 2 + 1- кК

2 М

3 п (1+2о)+ у(1, V) 1+2о

4 о

Таким образом, первые 2 этапа производят С\ операций.

С\ = шах

Для вычисления количества операций, производимых ведущим процессором до получения ведущим процессором результатов на основе С\ , необходимо вывести С^ -

2

Се = шах

'/^ (п -1)(1 + 2о)+М (су+1+о0у+о), '

+ п + 2

Следовательно, для параллельного вычисления невязки требуется 7е итераций.

7е = С^ + о

Исходя из формул (27), (29) и (31) можно вывести (32), показывающую эффективность алгоритма распараллеленного на уровне вычисления невязки.

а = —12е +

п1е 7 е + сек) + X

где 1е - количество вычислений невязки, X - количество прочих операций алгоритма (не относящихся к вычислению значения невязки).

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

1880

Одним из методов подбора весовых коэффициентов является метод полного сканирования, осуществляющий перебор всех возможных вариантов. Для этого метод совершает 1р итераций (1р вычисляется по формуле (33)) [3].

і -1 і -1/

1р = № - П

і=0 і=0 V

11і 10і

+1

где /0г-, 1ц - пределы, а - шаг сканирования / -го весового коэффициента, /п - размерность

вектора весовых коэффициентов, - количество вариантов / -го весового коэффициента.

Значение / -го весового коэффициента на I -й итерации можно вычислить следующей формуле:

1

Б

modN

S

1

К.,-1

]-1

,і - 1„ -1

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

см>Р

гє 1Р + 2 а 1

Р

Для вычисления количества мультипликативных операций, производимых параллельным алгоритмом полного сканирования, необходимо рассмотреть этапы, из которых он состоит. Как можно видеть, на рис. 8 алгоритм состоит из 5 этапов:

1) инициализация;

2) передача данных с ведущего процессора на прочие;

3) перебор значений весовых коэффициентов, принадлежащих данному процессору;

4) передача данных с всех процессоров на ведущий;

5) выбор ведущим процессором оптимальной конфигурации.

На первом этапе на ведущем процессоре происходит 21 к аддитивных операции

аддитивных (п - количество используемых процессоров). На неведущих на втором этапе происходит 1к мультипликативных и 21к аддитивных операций, но начаться они могут лишь после того, как ведущий процессор отправит данные, следовательно, происходит к1м, + 2 к о 1п

пустых мультипликативных операций (к - номер принимающего процессора). Кроме того передача данных не мгновенна, поэтому если обозначить количество операций, необходимых для пересылки как У(і™ ,у) (V - скорость интерконекта), то на неведущем процессоре происходит і№ (к + 2ок + о)+у( ^) мультипликативных операций.

На третьем этапе ведущий процессор делает

1р -

и

п -1

Л

£ мультипликативных и

( Г и Л

1 - ± р

1Р V п -1 )

(( + 2) аддитивных операций, а к -й неведущий - I---I мультипликативных и

п -1

п -1

( + 2) аддитивных. Если обозначить 1Р количество итераций, выполняемых веду-

1881

щим процессором, а 3 р количество итераций выполняемых неведущим, то на ведущем процессоре выполняется 3рСЕ мультипликативных и 3 р (ве + 2) аддитивных, а на неведущем -3р(, и 3 ( + 2) соответственно.

I

Рис. 8. Этапы параллельного подбора весовых коэффициентов методом полного сканирования

На четвертом этапе ведущий процессор делает (п —1)(/, +1) мультипликативных и

2

аддитивных. На пятом ведущий процессор делает 2п аддитивных операций. Если привести аддитивные операции к мультипликативным, то можно получить выражения, приведенные в табл. 3.

Таблица 3

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

Этап Ведущий процессор Неведущий к -й процессор

1 2а/,

2 /, (п —1)(1 + 2о) + 2 а к +

3 3р + 2 а 3р Zе 3р + 2 о 3р

4

5 2оп

Таким образом, второй и третий этапы можно объединить: Ср0 - на ведущем и Срк - на к -м процессоре.

1882

Ср0 =К

Срк = К

Ср = 1таХ

к=1..п-1

Что касается четвертого этапа, то на ведущем процессоре начаться он может после того как:

1. закончен подбор на ведущем процессоре,

2. закончен подбор и отправлены данные с других процессоров.

Таким образом:

Инициализация - 2 а Іп ;

Перебор (с передачами) -

тах(Ср0 +{к-( + і)(і + 2о), Ср + (2о + і)(і + ІМ>)+у(і, +1у))+{п-1)(1, +1)(1 + 2о) Выбор - 2 о п .

Следовательно, количество мультипликативных операций на ведущем процессоре можно выразить:

1,р = тах(2 о /, + Ср 0 + (п —1)(/, +1)(1 + 2о), Ср+ (2а +1)(1 + /, ) + у (/, +1, у))+

+ (п — 1)(/, + 1Х1+ 2о) + 2 о п.

Эффективность параллельного алгоритма можно выразить

а,р _ 4^.

п^,р

Подставив (35) и (39) в (40), можно получить (41).

_ 1р + 2 о 1р

,р п тах

+ п (п —1)(/, +1)1 + 2о)+ 2 о п2 ГРАДИЕНТНЫЕ АЛГОРИТМЫ

Известно, что градиентные алгоритмы подбора весовых коэффициентов основываются на идее вычисления градиента и изменении весовых коэффициентов в противоположном направлении. В данной работе рассмотрены три наиболее распространенных алгоритма - алгоритм наискорейшего спуска, QuickProp и КРЯОР.

Алгоритм наискорейшего спуска применяет для вычисления нового значения / -го весового коэффициента на I -ой итерации следующую формулу

,

где 5 - коэффициент обучения (шаг), У є=

( \ дє дє дє

- градиент, q - коэффици-

ент момента.

1883

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

QuickProp вычисляет весовые коэффициенты иначе:

где дМАХ - максимальны коэффициент момента (Фальманом предложено значение 1,75 [10]).

Следовательно, количество мультипликативных операций равно 3, а количество аддитивных - двум.

Алгоритм RPROP использует следующие формулы:

Таким образом, в данном случае количество мультипликативных операций также равно 3 , а количество аддитивных - одному.

Исходя из вышесказанного, а также из того, что для вычисления одного элемента градиента

(49) требуется +1 мультипликативная и 9е + 3 аддитивных операций можно вывести, что

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

В работе Осовского предложены следующие значения да = 1,2, д^ = 0,5, ^Мм = 10 6 ,

#МЛХ = 50 [8].

1884

,г

________________________1У_______________

Аж

Таблица 4

Количество операций, необходимых для одной итерации градиентных методов

Метод Количество мультипликативных операций Количество аддитивных операций

Метод наискорейшего спуска /,

QuickProp 1,

ИРЯОР 1,

При использовании параллельных градиентных методов вектор весовых коэффициентов , и градиент делится на п частей, которые размещаются на различные процессоры (рис. 9). Каждая из частей (за исключением первой) состоит из /,=/,: (п — 1). элементов. Ведущему процессору достается Ым=1м — /, (п — 1) элементов.

Каждая параллельная итерация состоит из нескольких этапов:

— рассылка ведущим процессором вектора весовых коэффициентов , ;

— вычисление элементов своей части градиента и весовых коэффициентов;

— передача на ведущий процессор новых значений весовых коэффициентов.

Первый этап требует у ведущего процессора /, (п — 1) мультипликативных и (п — 1)2/, аддитивных операций, а у к -го неведущего — соответственно (к + 1)/, + Л, ,г) (/, на прием, к/, — ожидание отправки ведутттими) и 2/, (к + 1) (2/, - прием, 2/,к - ожидание отправки). Количество операций, необходимых для второго этапа, приведено в табл. 5. Что касается третьего этапа, то неведущий процессор производит /, мультипликативных и 2/, аддитивных

операций, а ведущий - соответственно 1,п + у(/, ,у) и 2

п.

Таблица 5

Количество операций, необходимых для второго этапа параллельной итерации

градиентных методов

Метод Количество мультипликативных операций на ведущем процессоре Количество аддитивных операций на ведущем процессоре Количество мультипликативных операций на неведущем (к -м) процессоре Количество аддитивных операций на неведущем (к -м) процессоре

Метод наискорейшего спуска N,

QuickProp N,,

ИРЯОР N,,

1885

Количества операций, необходимых для проведения одной параллельной итерации можно выразить следующим образом:

Сс = тах

где С00 =/,(1+2с)(п —1), Сск=/,(( + 1Х1 + 2а)+ У(/,,у), Сск=/, + 20/,, С200 и С20к - количество мультипликативных и аддитивных операций, необходимых для второго этапа итерации параллельного градиентного алгоритма на ведущем и к -ом неведущем процессоре.

В е с о

Л'- ]

вые к

N...

Р э ф ф

N+1.

и ц и

енты

N +!

Процессор 0

Процессор 1

Процессор 2

• • •

Процессор п-1

Рис. 9. Размещение вектора весовых коэффициентов по процессорам

Таким образом, эффективность параллельных градиентных алгоритмов, выраженную формулой (51), можно расписать как (52) для метода наискорейшего спуска и QuickProp и (53) для ИРЯОР.

а^о-^т0-,

%,оп

а = О,

О п1о + Со + (п — 1) + 2о 1, (п — 1) + X

а,,0К = -------У,,

по + Со +/,(п — 1) + 2°/,(п — 1) + х

где 1о - количество итераций, X - количество прочих операций алгоритма.

ЭКСПЕРИМЕНТЫ

Для проверки приведенных выше формул был проведен эксперимент. Он состоял в прогнозировании котировок валютной пары €/$. Для этого были использованы 2 структуры ИНС -многослойный персептрон (рис. 10) и сеть Вольтерри. Обучающая выборка состояла из 300

1886

строк, каждая из которых содержала 12 входных и одно выходное значение. Результаты приведены в табл. 6.

Другой эксперимент состоял в прогнозировании массы улова креветки в Индийском океане. Для эксперимента использовался многослойный персептрон (рис. 11). Результаты приведены в табл. 7.

Рис. 10. Многослойный персептрон, используемый для прогнозирования котировок

валютной пары

Таблица 6

Количество мультипликативных операций при прогнозировании валютной пары

Многослойный персептрон Сеть Вольтерри

1,72858 х 10751 9,94386 х 10361

2,р (8 процессоров) 2,0959 х 10750 1,20569 х 10361

2,р (16 процессоров) 1,04795 х10750 6,02846 х 10360

5,33654 х 10130 2,2744365 х 1061

2,о (8 процессоров) 7,411861 х 10129 3,15894 х 1060

^,о, (16 процессоров) 3,705931 х 10129 1,57947 х 1060

1887

Рис. 11. Многослойный персептрон, используемый для прогнозирования массы улова креветки

Таблица 7

Количество мультипликативных операций при прогнозировании массы улова креветки

1,54333 х1067

(8 процессоров) 1,95516 х1066

(16 процессоров) 9,77583 х 1065

7,83234 х 1014

(8 процессоров) 1,062248 х1014

(16 процессоров) 5,31124 х1013

Таким образом, эффективность параллельного алгоритма полного сканирования составляет примерно 97 %, а градиентных алгоритмов - 90 %.

ВЫВОДЫ

Таким образом, можно седлать вывод, что использование параллельных алгоритмов обучения ИНС значительно снижает вычислительную нагрузку, что в, свою очередь, снижает временные затраты. Следовательно, параллельные алгоритмы достаточно эффективны.

ЛИТЕРАТУРА

1. Горбань А.Н. и др. Нейроинформатика. Новосибирск: Наука, 1998. 296 с.

2. Зенкова Н.А. Моделирование на основе аппарата искусственных нейронных сетей как метод исследования в психологической науке // Вестн. Тамб. ун-та. Сер. Естеств. и техн. науки. Тамбов, 2009. Т. 14. Вып. 3. С. 577-591.

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

4. Крючин О.В. Использование кластерных систем для обучения искусственных нейронных сетей при применении параллельного вычисления значения невязки // Наука и образование в развитии промышленной, социальной и экономической сфер регионов России [Электронный ресурс]: II Всерос. науч. Зворыкинские чтения. Сб. тез. докладов II Всерос. межвуз. науч. конф. (Муром, 5 февр. 2010 г.). Муром: Издат.-полиграф. центр МИ ВлГУ, 2010. 802 с. 1 электрон. опт. диск (СБ-ЯОМ).

5. Крючин О.В. Параллельные алгоритмы обучения искусственных нейронных сетей // Информационные технологии и математическое моделирование (ИТММ-2009): материалы VIII Всерос. науч.-практ. конф. с междунар. участием (12-13 ноября 2009 г.). Томск: Изд-во Том. ун-та, 2009. Ч. 2. С. 241-244.

1888

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

7. Солдатова О.П., Семенов В.В. Применение нейронных сетей для решения задач прогнозирования // Исследовано в России: электронный журнал. 2009. 136. С. 1270-1270. URL: http://zhurnal.ape.relarn.ru/ articles/2006/136.pdf, свободный. Загл. с экрана.

8. 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.

9. Fahlman S.E. The recurrent cascade-correlation architecture. Tech. Rep. CMU-CS-91-100, School of Computer Science, Carnegie Mellon University, 1991.

10. HoefeldM., Fahlman S.E. Learning with limited numerical precision using the cascade-correlation algorithm. Tech. Rep. CMU-CS-91-130, School of Computer Science, Carnegie Mellon University, 1991.

11. Osowsky S., Siwek K. Study of generality ability of neural networks // Sieci Neuronowe i ich zastosowania: III Konferencja. Kule, 1997.

12. Rugh W. Nonlincar Systems a Volterra approach. N.Y.: J. Hopkins Press, 1981.

13. Крючин О.В., Арзамасцев А.А. Параллельный алгоритм полного сканирования минимизации функций // Информационные технологии, системный анализ и управление: VII Всерос. науч. конф. молодых ученых, аспирантов и студентов. Таганрог: Таганрог. технолог. ин- ЮФУ, 2009. С. 270-272.

14. Крючин О.В., Арзамасцев А.А. Прогнозирование валютных пар с помощью искусственной нейронной сети // Вестн. Тамб. ун-та. Сер. Естеств. и техн. науки. Тамбов, 2009. Т. 14. Вып. 3. С. 591-596.

15. Fahlman S.E. An empirical study of learning speed in back-propagation +networks. Technical report, CMU-CS-88-162. Carnegie-Mellon University, 1988.

16. Hertz J., Kroght A., Palmer R. Wstep do teorii obliczen neuronowych. Warszawa: WNT, 1995. Wyd. II.

Поступила в редакцию 20 августа 2010 г.

Kryuchin O.V., Arzamastsev A.A. Comparison of effectiveness of consecutive and parallel algorithms of teaching of artificial neural networks on cluster computation systems

The estimation of the quantity of the multiplicative and additive operations for the training of artificial neural networks by means of the consecutive and parallel algorithms on the cluster computation systems has been carried out. The evaluation of the efficiency of these algorithms has been developed. The multilayer perceptron, Volterry network and network of Falman’s cascade correlation were used as the structures of artificial neural networks. The different methods of non-linear programming such as gradient and non-gradient methods were used for calculation of the weight coefficients.

Key words: parallel algorithms; artificial neural networks; estimation of algorithms efficiency; cluster computation systems.

1889