Научная статья на тему 'Параллельные алгоритмы обучения искусственной нейронной сети QuickProp и RPROP'

Параллельные алгоритмы обучения искусственной нейронной сети QuickProp и RPROP Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
856
234
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ИСКУССТВЕННАЯ НЕЙРОННАЯ СЕТЬ / ЭВРИСТИЧЕСКИЕ АЛГОРИТМЫ ОБУЧЕНИЯ / КЛАСТЕРНЫЕ СИСТЕМЫ / ARTIFICIAL NEURON'S NETWORK / HEURISTIC ALGORITHMS OF TEACHING / CLUSTERS SYSTEM

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

Статья описывает градиентный алгоритм обучения искусственной нейронной сети и основанные на нем эвристические алгоритмы QuickProp и RPROP. Описывается возможность применения кластерных систем.

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

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

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

PARALLEL TEACHING'S ALGORITHMS OF ARTIFICIAL NEURON'S NETWORK QuickProp AND RPROP

The article describes gradient algorithm of artificial neuron's network and heuristic algorithms QuickProp and RPROP based on it. The possibility of use of clusters systems is described.

Текст научной работы на тему «Параллельные алгоритмы обучения искусственной нейронной сети QuickProp и RPROP»

УДК 519.95

ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ ОБУЧЕНИЯ ИСКУССТВЕННОЙ НЕЙРОННОЙ СЕТИ ОиіскРгор И RPROP

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

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

Статья описывает градиентный алгоритм обучения искусственной нейронной сети и основанные на нем эвристические алгоритмы ОшскРшр и RPROP. Описывается возможность применения кластерных систем.

Введение. Известно, что задача обучения искусственной нейронной сети (ИНС) сводится к минимизации функции

N-1Р-1 N — 1Р-1, .

е=- )=^ - йч )> (1)

1=0 У=0 1=0 У=0

где у , ё - выходные значения ИНС и моделируемого объекта, N , Р - количество строк и столбцов (выходных данных) в обучающей выборке, х - вектор входных значений, ^ - вектор синоптических связей, ц -вектор активационных функций нейронов. Таким образом, обучение состоит из двух частей: подбор активационных функций (в который также следует включать подбор структуры сети) и подбор весовых коэффициентов. В настоящее время не существует общего алгоритма определения структуры ИНС, подходящего для каждой рассматриваемой проблемы. Часто такую структуру выбирают методом «проб и ошибок», который зачастую отнимает у исследователя много времени [1]. Поскольку для каждой структуры необходимо подбирать значения весовых коэффициентов, то ускорение этого подбора должно ускорить весь процесс обучения ИНС.

На данный момент создано огромное количество алгоритмов эвристического типа, представляющих собой в основном модификацию методов наискорейшего спуска или сопряженных градиентов. Подобные модификации широко известных алгоритмов связаны с внесением в них некоторых изменений, ускоряющих (по мнению авторов) процесс обучения. Как правило, такие методы не имеют серьезного теоретического обоснования, особенно это относится к процедуре подбора управляющих параметров. Однако в таких алгоритмах реализуется личный опыт работы авторов с нейронными сетями. К наиболее известным эвристическим алгоритмам относятся QuickProp С. Фальмана, а также RPROP М. Ридмиллера и Х. Брауна [2].

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

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

Таким образом, необходимо добиться того, чтобы несколько действий выполнялись независимо друг от друга, следовательно, проектировать алгоритм с учетом этой особенности. Алгоритм разделяется на блоки, которые одновременно выполняются на разных процессорах, и обмениваются между собой данными. Блоки должны быть достаточно большими, т. к. в противном случае временные затраты на передачу данных будут больше, чем выигрыш во времени из-за одновременного выполнения блоков. С другой стороны, чем больше блоки, тем, как правило, сложнее их выделить, особенно учитывая то, что их выполнение должно занимать одинаковое время (в противном случае получается простаивание процессоров).

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

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

Параллельная версия градиентного алгоритма.

Алгоритмы QшckProp и КРЯОР базируются на класси-

(получение структуры сети)

^(получение весовых коэффициентов)

(вычисление вектора градиентов)

[вычисление новых значений весовых коэффициенов

обучение не закончено ) > обучение закончено

\

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

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

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

де

ді

( ( \\ де(і0 ) де(і1) де(і2 ) М'1н>~1

дwrl

8,=

де{у>!) дwi ~^0

дwl ді2

е(ы, + Дії’,) - е(ч1,) Ді-

ді

і-1

(1)

Следовательно, для вычисления

де(і, )

ді;

(2)

необходи-

мо вычислить значение целевой функции при текущем значении весовых коэффициентов, затем при измененном м>1 = м>1 + Ди,- . После вычисления вектора градиента происходит изменение весовых коэффициентов

і, = іі + Ді, = іі - &'8, = і, - з

де(м>,)

діі

(3)

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

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

Параллельная версия алгоритма QuickProp. В

алгоритме QuickProp изменение , -го весового коэффициента на к -й итерации производится согласно правилу:

Ді (к) = (к) + Смі, (к -1)) + Ч, (к)Ді (к -1) > (4)

где 8 і (к) - элемент вектора градиента (8 (к) = ^е(wi(kJ)),

, ді,(к )

5 - коэффициент обучения, - коэффициент минимизации значений весовых коэффициентов, 4 (к) -коэффициент фактора момента. Отличие от классического градиентного метода заключается в наличии двух слагаемых - минимизатора значений весовых коэффициентов (зс^, (к -1)) и фактора момента ( чі (к(к -1)).

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

8,

8,(к -1)- 8,(к)

(5)

а на втором коэффициент момента принимает значение минимальное значение из С и Стах. В качестве значения Цтах Фальманом предложено 1,75.

Также существует модифицированная форма алгоритма, заключающаяся в уменьшении числа управляющих параметров без потери эффективности. В модифицированном алгоритмике формула (1) заменяется на следующую:

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

Діі (к ) = ч (к )Ді (к -1) при Ді (к - 1)ф 0, Ді, (к)= 5'8, (к) при Ді, (к -1) = 0.

Таблица 1

Время, затраченное на достижение погрешности при использовании последовательной версии алгоритма ОшскРгор и параллельной, задействующей 6 процессоров

Достигнутая погрешность Затраченное время, с

Последовательная версия Параллельная версия (6 процессоров)

0,1753946543 14 3

0,1752680838 65 13

0,1749810278 111 22

0,1747113615 155 31

0,1743550748 200 41

0,1740602851 254 50

0,1737212390 293 59

0,1732056588 344 68

0,1726844013 382 78

0,1725745499 438 87

0,1725198925 473 96

0,1717896014 573 115

0,1712833941 671 133

0,1701666862 758 151

0,1699556410 861 170

0,1690629125 947 188

0,1688150615 1052 207

0,1684941053 1123 226

0,1680309176 1241 244

0,1676863879 1338 263

0,1675319374 1392 281

0,1671159714 1526 300

0,1666461974 1581 319

0,1663354933 1725 339

0,1661416739 1827 359

0,1662575752 1864 379

0,1658351421 1953 398

0,1656198651 2117 417

0,1654128879 2184 436

0,1652083248 2262 454

0,1649338007 2327 473

0,1646632403 2434 491

0,1645940393 2578 511

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

0,1641609520 2654 531

0,1639634073 2764 551

Таким образом, в случае, когда элемент вектора градиента g (к) = принимает нулевое значение, на

' ^ (к)

следующей итерации значение соответствующего ему весового коэффициента вычисляется классическим градиентным методом.

Для распараллеливания была выбрана модифицированная версия алгоритма. Как уже было сказано, отличие от классического градиентного метода заключается в том, что в случае, когда элемент вектора градиента не равен нулю, необходимо вычислять коэффициент момента с = тт(д, дтаХ) , где С вычисляется по формуле (5). Следовательно, кроме текущего значения элемента вектора градиента, необходимо знать его предыдущее значение, а значит принцип распараллеливания, используемый в классическом градиентном методе (рис. 1 ) пригоден и здесь.

Таблица 2

Время, затраченное на достижение погрешности при использовании последовательной версии алгоритма RPROP и параллельной, задействующей 6 процессоров

Достигнутая погрешность Затраченное время, с

Последовательная версия Параллельная версия (6 процессоров)

0,5395715695 14 2

0,4185650092 112 21

0,3397654225 201 39

0,2849318064 297 58

0,2428977359 384 74

0,2139470462 480 93

0,1891715499 567 110

0,1697673109 665 127

0,1520822799 759 148

0,1394646329 865 168

0,1271631984 943 184

0,1179161826 1030 201

0,1097154140 1117 217

0,1022467745 1228 239

0,0958359223 1333 260

0,0904252023 1416 276

0,0851673854 1508 294

0,0803459039 1584 309

0,0761934876 1691 330

0,0725635743 1775 346

0,0696306407 1891 369

0,0662889689 2001 390

0,0634489234 2063 402

0,0608324204 2204 430

0,0584088267 2226 434

0,0560840043 2334 455

0,0541951475 2409 470

0,0522724889 2502 488

0,0502734543 2635 415

0,0485401294 2770 540

Параллельная версия алгоритма RPROP. Суть этого метода заключается в игнорировании значения градиента, учитывается исключительно знак. Изменение весового коэффициента вычисляется по формулам

Д™г (к )= Ч- (к )б я (г) (7)

тт^, (к - 1) Стах) 8г (кк' (к - 1) > 0

^ (к) = {та4съ^ (к - 1) Чтгш) 8г (кЬ (к - 1) < 0 (8)

^ (к -1) 8г (к)Яг (к - 1)= 0

1 8г (к) > 0

08 (г) = { 0= 8г (к) = 0 (9)

- 1= 8г (к) < 0

В работе С. Осовского предложены следующие значеНИя Са= 1,2 , Съ = 0,5 , Стт= 10 - 6 , Стах = 50 .

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

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

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

t ,т.

т = - + ¥ , (10)

п

где t - время обучения на однопроцессорной машине, n - количество вычислительных узлов.

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

¥ = П + у + и + Y, (11)

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

Наличие этих величин обусловлено тем, что параллельные алгоритмы отличаются от последовательных. Поскольку очень редко удается распределить нагрузку на вычислительные узлы полностью равномерно, всегда на некоторых процессорах происходит ожидание окончания выполнения работы какого-либо другого вычислительного узла. Кроме того, средство межпроцессорной передачи данных - MPI - передает данные только определенного типа (массивы-указатели), которые отличны от используемых в алгоритмах обучения высокоуровневых типов (контейнеры), и соответственно необходимо конвертирование одного типа в другой, что также занимает определенное время. Кроме того, большое влияние оказывает аппаратная платформа. Средства межпроцессорной коммуникации имеют различную скорость передачи и поэтому выбор такого средства (оптоволокно, витая пара, wifi) также влияет на значение величины у .

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

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

t

а = — . (12)

пт

Эта величина показывает относительный временной выигрыш и для эффективных алгоритмов должна быть в диапазоне (0,7; 1).

Вычислительный эксперимент. Реализация описанных алгоритмов была выполнена в виде компьютерной программы, написанной на языке C++. В качестве средств межпроцессорной передачи данных была использована библиотека MPI. Эксперименты проводились на кластере Тамбовского государственного университета имени Г.Р. Державина.

Данные в табл. 1-2 показывают время, затраченное на обучение ИНС при использовании последовательных алгоритмов подбора весовых коэффициентов и параллельных. В случае параллельных версий используются 6 процессоров. Как можно видеть в данном случае, параллельные алгоритмы примерно в 5 раз быстрее последовательных, т. е. коэффициент эффективности а « 0,83 .

ЛИТЕРАТУРА

1. Арзамасцев А.А., Крючин О.В., Азарова П.А., Зенкова Н.А. Универсальный программный комплекс для компьютерного моделирования на основе искусственной нейронной сети с самоорганизацией структуры // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2006. Т. 11. Вып. 4. С. 564570.

2. Осовский С. Нейронные сети для обработки информации. М.: Финансы и статистика, 2002. 344 с.

3. АнтоновА.С. Введение в параллельные вычисления. М., 2002.

4. Крючин О.В., Арзамасцев А.А., Королев А.Н., Горбачев С.И., Семенов Н.О. Универсальный симулятор, базирующийся на технологии искусственных нейронных сетей, способный работать на параллельных машинах // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2008. Т. 13. Вып. 5. С. 372-375.

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

Kryuchin O.V, Arzamastcev A.A. PARALLEL TEACHING'S ALGORITHMS OF ARTIFICIAL NEURON’S NETWORK QuickProp AND RPROP

The article describes gradient algorithm of artificial neuron’s network and heuristic algorithms QuickProp and RPROP based on it. The possibility of use of clusters systems is described.

Key words: artificial neuron’s network; heuristic algorithms of teaching; clusters system.

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