Применение многопроцессорных систем для реализации многослойного персептрона

УДК 004.93

И. В. Новосельцев, Н. Г. Аксак

ПРИМЕНЕНИЕ МНОГОПРОЦЕССОРНЫХ СИСТЕМ ДЛЯ РЕАЛИЗАЦИИ МНОГОСЛОЙНОГО ПЕРСЕПТРОНА

В данной работе предложена модель реализации МП на многопроцессорной системе при ограниченном количестве процессоров. В качестве топологии вычислительной системы предложена организация процессоров в виде звезды. Данный подход позволяет значительно снизить время обучения НС, и дает возможность получения максимального ускорения, ограниченного числом имеющихся процессоров.

ВВЕДЕНИЕ

Сегодня по-прежнему остается актуальной задача распознавания изображения. Применение нейронных сетей (НС) является перспективным для решения задач в этой области [1]. Однако сложность подбора оптимальной архитектуры сети для решения конкретной задачи, а также большие вычислительные затраты, требуемые для обучения нейросетей, сдерживает их массовое применение.

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

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

В данной работе рассмотрен метод распараллеливания при ограниченном количестве процессоров [2]. В качестве топологии вычислительной системы предложена организация процессоров в виде звезды. Управляющий процессор в подобной топологии может использоваться для загрузки вычислительных процессоров исходными данными и для приема результатов выполненных вычислений.

1 АРХИТЕКТУРА НЕЙРОННОЙ СЕТИ

Для решения задачи распознавания образов применяется многослойный персептрон

[3-5].

Обучающий пример представляется парой {X = [Х1, ], О = [й1, ¿2, ..., ¿к]}, где X - вход-

ной массив, О - вектор цели.

Функционирование нейрона определяется следующим соотношением:

ур( t) = Ф

1=1

,,

для скрытого слоя,

Уи\ О = Ф

£ ш\1)( ^ t) + ък

I = 1

для выходного

слоя,

где ш

синаптический вес связи г-го входа с )-м

порог )-го нейрона скрытого слоя,

нейроном, Ъ

ш)к - синаптический вес связи )-го выхода нейрона

и и

скрытого слоя с к-м нейроном выходного слоя, Ъ\ -

порог к-го нейрона выходного слоя, ф(^) - функция

активации нейрона.

Рисунок 1 - Архитектура многослойного персептрона

© Новосельцев И. В., Аксак Н. Г., 2008 108

1607-3274 «Радюелектрошка. 1нформатика. Управлшня» № 1, 2008

И. В. Новосельцев, Н. Г. Аксак: ПРИМЕНЕНИЕ МНОГОПРОЦЕССОРНЫХ СИСТЕМ ДЛЯ РЕАЛИЗАЦИИ МНОГОСЛОЙНОГО ПЕРСЕПТРОНА

В качестве функции активации для всех слоев выбрана сигмоидальная функция

ф( У Ь)( *)) =

1

1 + ехр

На однопроцессорной системе данные вычисления

выполняются последовательно, т. е. при формировала 1)

нии выходного вектора скрытого слоя У последова-

(1) (1) (1) тельно вычисляются у1 , у2 , •••,У) , затем аналогично вычисляются значения выходного слоя.

где а - параметр наклона сигмоидальной функции (а > 0).

Обучение сводится к минимизации среднеквадра-тической ошибки. Подстройка весов т)) и проводится после подачи каждого примера (последовательный режим обучения). Настройка весов слоя Ь осуществляется в соответствии

)Ь + 1) = а) Ь) + пб)Ь)( Ь) УЬ)( Ь),

где п - параметр, отвечающий за скорость обучения, а -постоянная момента (а = 1), б)Ь) - локальный градиент )-го нейрона слоя Ь. Для выходного слоя локальный градиент вычисляется следующим образом:

бк2)( Ь) = ек( Ь),

где ек(Ь) - ошибка к-го нейрона выходного слоя. А для скрытого слоя:

б)1 >( Ь) = £5^ (Ь) ж)2' (Ь) у) >( Ь).

¡

(2^л„.( 1)/

2 РЕАЛИЗАЦИЯ МНОГОСЛОЙНОГО ПЕРСЕПТРОНА НА МНОГОПРОЦЕССОРНОЙ СИСТЕМЕ

Реализация МП (рис. 1) на многопроцессорной системе может быть представлена схемой, приведенной на рис. 2.

Соотношение (1) можно представить в матричном виде как умножение матрицы весовых коэффициентов ^1) скрытого слоя на вектор входа X:

У( 1) = ф( ^1) Т X + Б(1)) = ф

<1)-

х X + Б

= ф

I = 1

(1) (1) (1 )-ж11 ж21 -жг1

(1) (1) (1) ж12 ж22 -жг2

(1) (1) (1) 1У1 /ж2) -Щ) л

-ь^ \

х х2 + ь(1) ь2

_хг_ /

Рисунок 2 - Схема реализации многослойного персептрона

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

- выполнение операции умножения строк матрица на вектор выполняется при помощи последовательного алгоритма.

У( 2) = Ф( Ш 2)ТУ() + Б( 2)) = ф

Ш2)

х У

= ф

(2) (2) (2)-

(2) (2) (2) 12 22 ••ж/2

(2) (2) (2) |И>1 к^2к -т/к

Г (1)1 Г, (2)-|

У1 Ь1

х У 2 + 2

(1) Ук » (2) Ьк

Г02)«}(2¥ 2)ж( 2) 01 Ж11 02 ж12  0(2) ж(2)п ок т1к Г (1)1 У1

0(1) = 0/ = О(2) 22)О22)222)- 0(2) т{2) 0к т2к х У1) у2

,о(12) ж/2)О22)ж/2). 0(2) ш( 2) 0к т/к. (1) У/ -

Соотношение (6) - умножение матрицы весовых коэффициентов Ш2) скрытого слоя на вектор локальных градиентов выходного слоя:

Тем самым, получение результирующего вектора У(2) на каждом шаге обучения предполагает повторение п = (2/ + к) однотипных операций по умножению строк матриц на векторы. Выполнение каждой такой операции включает поэлементное умножение элементов строки матрицы на векторы и последующее суммирование полученных произведений. Общее количество необходимых скалярных операций необходимых для обучения НС оценивается величиной:

Т1 = 2 п М,

где М - количество эпох, п - количество однотипных операций.

Если, например, размерность изображения 100*100, обучающая выборка состоит из 1000 примеров и количество эпох обучения равно 500, тогда Т( = = 2(2*100*100+4)2*500 *1000 = 400160016000000.

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

- на каждый из имеющихся управляющих процессоров пересылается вектор X и 5 = п/р строк матрицы;

3 ВЫБОР ТОПОЛОГИИ ВЫЧИСЛИТЕЛЬНОЙ СИСТЕМЫ

В соответствии с характером выполняемых межпроцессорных взаимодействий, для предложенной вычислительной схемы в качестве топологии выбрана организация процессоров в виде звезды. На рис. 3 представлен фрагмент распараллеливания соотношения (7).

1 1 41) <и х,ъ...ь X ...те/ 1 лф 1 ^

I

1 л/р

3 &

чччч

I

р ь

чччч

I

„

Рисунок 3 - Топология вычислительной системы

Управляющий процессор формирует данные для обработки вычислительными процессорами (рис. 3):

- посылает входной вектор X всем процессорам;

- распределяет матрицу весовых коэффициентов Ш1) и вектор смещений Б(1) между процессорами, а именно: строки Ш((), Щ1), .., , ^^ ••> Ь//Р -

(1) (1) первому процессору, строки Ш(// ) + (,.., Ш(// )*2,

и

Ь//р) + 1,-> Ь//р)*2 - вт°р°му пPоЦессоPУ,  строки

т!/

//р )*(р -IV ••> , Ь(//»)• (р -1) ,->Ь/ - р-му про-

(//р )*(р -1)' цессору.

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

слоя НС - У . Аналогично производится вычисление соотношений (8) и (9).

110

1607-3274 «Радюелектрошка. 1нформатика. Управлшня» № 1, 2008

С. О. Суббоmiн, A. О. Олшник: CTPУKTУPHИЙ СИНТЕЗ HEЙPOМOДEЛEЙ HA ОСНОВ1 ПOЛIМOДAЛЬHOГO ЕВОЛЮЦ1ЙНОГО ПОШУКУ

ЗАКЛЮЧЕНИЕ

С целью снижения времени обучения НС в работе решена актуальная задача распределения НС по процессорам.

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

Прaкmичеcкaя цений^ь работы состоит в том, что проведенные эксперименты, реализующие предложенную модель, показали высокую эффективность. Данная модель реализована с помощью технологии параллельного программирования MPI.

ПЕРЕЧЕНЬ ССЫЛОК

1. Richard O. Duda, Peter E. Hart, David G. Stork. Pattern classification: Wiley-Interscience; 2nd edition, 2000. -680 p.

2. Гергель В. П., Стронгин Р. Г. Основы параллельных вычислений для многопроцессорных вычислительных систем: Учебное пособие Нижегородский госуниверситета. - Нижний Новгород, 2003. - 184 с.

3. Саймон Хайкин. Нейронные сети: полный курс, 2-е издание. М.: Издательский дом «Вильямс», 2006. -1104 с.

4. Миркес Е. М. Учебное пособие по курсу НЕЙРОИНФОР-МАТИКА. - Красноярск, 2002. - 347 с.

5. Ben Krose, Patrick van der Smagt. An Introduction to Neural Networks: University of Amsterdam, 1996. -154 p.

Надшшла 2.03.2007

In this work the MP model realization on multiprocessing system is offered. The processors organization as a star topology is offered. The given approach allows considerably to lower time of training neural network and enables receptions of the maximal acceleration limited to number of available processors.

В дaноï робоmi запропонована модель реaлiзaцn бага-mошaрового nерcеnmрону на бaгamоnроцеcорноï cucmемi при обмеженш кiлькоcmi nроцеcорiв. В якоcmi mоnологiï обчиcлювaльноï cиcmеми запропонована оргатзащя nроцеcорiв у виглядi зiрки. Даний niдxiд дозволяе значно знизиmи час навчання нейронноï мережi ma дае мож-ливicmь одержання максимального прискорення, що обме-жений числом наявнux nроцеcорiв.

УДК 519.7:004.93

С. О. Субботш, A. О. Олшник

CTPVKTVPHÈÉ CÈHTE3 HEÉPOMOÂEËEÉ HA OCHOBI ïOËlMOÂAËbHOTO EBOËNôlÉHOrO nO0VKV

Доcлiджено проблему cmрукmурного cинmезу нейроме-режнux моделей. Розроблено меmод nолiмодaльного ево-люцтного пошуку з клacmеризaцieю xромоcом, що дозволяе одержamи рiзнi cmрукmури нейромереж, тдвищуючи ймовiрнicmь знaxодження моделi, aдеквamноï розв'язува-тй зaдaчi. Проведено екcnерименmи по cинmезi моделей зaлежноcmi cmaну здоров'я населення вiд забруднення на-вколишнього середовища.

ВСТУП

Етап вибору оптимально! арх!тектури нейромодел! е одним з найважлив!ших завдань при синтез! нейромереж [1], оск!льки на цьому етап! формуеться топо-лог!я зв'язк!в та обираються функц!! активац!! ней-рон!в, яю надал1 визначають принцип функцюнування мереж! й !! ефективн!сть для вир!шення досл!джувано! задач!. Так, нейромереж!, що мають невелику к!льк!сть нейрон!в ! л!н!йн! функц!! активац!!, як правило, через сво! обмежен! апроксимац!йн! здатност! не дозволяють вир!шувати реальн! практичн! задач!. У той же час

© Субботш С. О., Олшник А. О., 2008

виб1р надлишково! юлькоси нейрошв у мереж1 приз-водить до проблеми перенавчання й втрати апрокси-мацшних властивостей нейромодел! [2, 3].

У наш час структурний синтез нейромережних моделей в!дбуваеться за участю експерта в предметн!й об-ласт! розв'язувано! задач!, що призводить до значного впливу р!вня досв!ду й знань експерта на ефективн!сть побудовано! нейромодел! [4].

1снуюч! методи автоматичного пошуку оптимально'! структури нейромережних моделей використовують жад!бну стратег!ю пошуку [5]. Так конструктивн! (constructive) методи починають пошук з м!н!мально мож-ливо! арх!тектури мереж! (нейромережа !з м!н!маль-ною к!льк!стю шар!в, нейрон!в ! м!жнейронних зв'язк!в) ! по-сл!довно на кожн!й !терац!! додають нов! шари, нейрони й м!жнейронн! зв'язки. При використанн! де-структивних метод!в (destructive) на початков!й !те-рац!! оц!нюеться ефективн!сть нейромодел!, що м!с-тить максимально припустиму к!льк!сть шар!в, ней-

lll