УДК 519.95
ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ ОБУЧЕНИЯ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ И ИХ ПРИМЕНЕНИЕ ДЛЯ ПРОГНОЗИРОВАНИЯ ЧИСЛЕННОСТИ ПОПУЛЯЦИИ КРЕВЕТКИ В ИНДИЙСКОМ ОКЕАНЕ
© О.В. Крючин, А.С. Козадаев, А.А. Арзамасцев
Ключевые слова: параллельные алгоритмы; искусственные нейронные сети; алгоритмы обучения нейронных сетей. В статье представлены алгоритмы обучения искусственных нейронных сетей и вычислительный эксперимент по моделированию и прогнозированию численности популяции в открытой биологической системе.
ВВЕДЕНИЕ
Моделированию и прогнозированию развития биологических популяций в естественных условиях и биотехнологиях посвящено значительное количество публикаций [1-5]. Прогноз плотности популяций в открытых системах представляет значительную проблему ввиду того, что территория обитания такой популяции обычно не ограничена никакими естественными барьерами, популяция может свободно перемещаться как по самой рассматриваемой области, так и за ее пределы. Поэтому разработка методов прогноза в этих условиях представляет собой актуальную задачу.
В настоящее время для решения задач прогнозирования временных рядов с успехом используется аппарат искусственных нейронных сетей (ИНС). В этом случае математическая модель объекта строится на основе эмпирических данных за счет выбора количества нейронов, числа скрытых слоев и распределения нейронов в слоях, выбора активационных функций нейронов и коэффициентов синаптических связей. Критерием выбора указанных параметров обычно является функционал вида:
£ = D - Y\\ =
N P
-Уы У ■
(1)
i=1 j=1
Здесь d - ожидаемые значения, у - выходные значения ИНС (таблица эмпирических данных), N - число строк данных в обучающей выборке, P - размерность вектора выходных координат объекта [6, 7]. Выходные значения ИНС у вычисляются по следующей формуле:
(2)
где X - вектор входных данных, W - вектор коэффициентов синаптических связей, $ - состояния нейронов (количество, расположение и активационные функции).
При прогнозировании временных рядов актуальна задача минимизации временных затрат, большую часть которых занимает подбор значений весовых коэффициентов w . Одним из способов ускорения обучения ИНС является использование кластерных систем, поэтому разработка алгоритмов обучения ИНС для таких систем представляется весьма актуальной.
Целью данной работы является прогноз плотности смешанной популяции креветки, базируемый на экспериментальных данных за предшествующий период, и оценка возможности использования нейронных сетей для решения подобных задач. Прогнозирование проводится как с использованием персонального компьютера, так и с использованием кластерных систем.
ОБЪЕКТ ИССЛЕДОВАНИЯ
Объектом исследования в данной работе является биоценоз, включающий смешанную популяцию креветок следующих видов: Peneaeus indicus, Metapenaeus monoceros, Peneaeus monodon, Peneaeus japonicus. Место сбора экспериментальных данных - район промышленного лова Banco da Sofala, Республика Мозамбик, Индийский океан, 1500-2000 км от Мапуто. Экспериментальные данные предоставлены компанией EFRIPEL в виде электронных таблиц Microsoft Excel. Таблицы содержали данные по отлову креветки за 1996-1998 гг.: даты начала и окончания циклов отлова (10 дней). Каждый год отлов велся в период с 1 марта по 31 декабря (см. рис. 1).
ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ
Анализ исходных данных. Подготовительные операции анализа данных заключались в заполнении пропуска в исходных данных условно-расчетным значением. Для восстановления пропуска и фильтрации были использованы методы вейвлет-преобразования [8, 9]. В результате был получен трансформированный сигнал, дополненный условно'-расчетным значением x .
Анализ исходных данных позволил сделать вывод о периодическом характере изменения плотности популяции креветки с течением времени. В табл. 1 приведены полученные коэффициенты корреляции.
Рис. 1. Временные ряды плотности популяции креветки за 1996, 1997 и 1998
Таблица 1
Коэффициенты корреляции (исходные данные)
Годы 1996 1997 1998
1996 1
1997 0,821 1
1998 0,777 0,867 1
Наибольшее значение коэффициента корреляции ~ 0,87. Это обстоятельство указывает на идентичность процессов, происходящих в объекте, в одни и те же календарные периоды и относительное постоянство результирующей всех внешних воздействий в эти периоды.
Градиентный алгоритм подбора весовых коэффициентов ИНС. Если рассматривать обучение ИНС как минимизацию априори определенной целевой функции, то можно воспользоваться алгоритмами, считающимися наиболее эффективными в теории оптимизации - градиентными. Эти методы связаны с разложением целевой функции в ряд Тейлора в ближайшей окрестности точки имеющегося решения W . В случае целевой функции многих переменных
(и = [и и2 ..,и1 ] Т) такое представление связывается
с окрестностью ранее определенной точки в направлении р. Подобное разложение описывается универсальной формулой вида (3) [10, 11].
Е(и + р)= Е(и) + [(и)] Тр + 2ртН(и)р +... (3)
Где g (и) = УЕ - градиент (4), Н - гессиан (5):
ё (н) = ЧЕ =
дЕ (ін) дЕІн) дЕІн)
——є —Є2
дн1! ’ д^2 ’ днг н
н
н
д 2 Е
д 2 Е
дн1дн-і
д2Е
дн1дн1
д2Е
дні днА
н
дні дні нн
(4)
(5)
В выражении р играет роль направляющего вектора, зависящего от фактических значений вектора н . На практике чаще всего рассчитывают три первых члена, а последующие игнорируются [7].
Таким образом, процесс подбора весовых коэффициентов сводится к вычислению элементов вектора градиента ё и изменению весовых коэффициентов в направлении антиградиента.
н (4 =н (к-11 +Дн (4 =н (к-1)
(6)
где sw - коэффициент обучения (шаг), к - номер итерации (эпохи) обучения, I - индекс весового коэффициента.
Подбор активационных функций нейронов. Выходное значение нейрона можно рассчитать по формулам (7) - (8):
т
Рис. 2. Математическая модель нейрона
y = f (і )
N
і = 1^. ,
(7) (S)
i=l
где y - выходное значение нейрона, xi - сигнал, поступающий с i -го нейрона, расположенного на предыдущем слое, wi - значение весового коэффициента, соединяющего i -й нейрон, расположенный на предыдущем слое с текущем, Nx - количество нейронов, с которых поступают сигналы на вход текущего. Ниже представлен список наиболее часто используемых активационных функции: линейная (y = x); квадратич-
2 3
ная (y = x ); кубическая (y = x ); функция четвертой
степени (y = x4 ); синус (y= sin(x)); косинус (y = cos(x)); тангенс (y = tg(x)); котангенс
1 1
( y = ctg(x )); сигмоиды ( y
1 + x
y
l + ex
l + e_
1 + e'-
В настоящее время не существует общего алгоритма определения структуры ИНС. Часто такую структуру выбирают методом «проб и ошибок», который зачастую отнимает у исследователя много времени [6]. Другим способом является полный перебор всех возможных вариантов, что также требует значительных временных затрат. Полный перебор всех возможных ком -бинаций нейронов можно рассчитать по формуле
і (д) = h
(9)
где lN - количество нейронов в структуре, N^ - ко -личество перебираемых активационных функций.
Использование кластерных систем. В 1994 г. был принят стандарт механизма передачи сообщений MPI (Message Passing Interface). Он готовился с 1992 по
1994 г. группой Message Passing Interface Forum, в которую вошли представители более чем 40 организаций из Америки и Европы. Основная цель, которую ставили перед собой разработчики MPI, - это обеспечение полной независимости приложений, написанных с использованием MPI, от архитектуры многопроцессорной системы, без какой-либо существенной потери производительности. По замыслу авторов, это должно было стать мощным стимулом для разработки прикладного программного обеспечения и стандартизованных библиотек подпрограмм для многопроцессорных систем с распределенной памятью. Подтверждением того, что эта цель была достигнута, служит тот факт, что в настоящее время этот стандарт поддерживается практически всеми производителями многопроцессорных систем. Реализации MPI успешно работают не только на классических MPP системах, но также на SMP системах и на сетях рабочих станций [12]. Таким образом, на данный момент большая часть кластерных систем поддерживает данный механизм.
При использовании таких систем можно на каждой из них первый нейрон объявить неизменным и подбирать только остальные. В таком случае количество ком -
бинаций вычисляется l(Д) = (lN — 1)N^ . Что касается
первого нейрона, то на первом вычислительном узле он принимает значение fa , на втором - fa и т. д., на
последнем узле . Ведущий узел устанавливает первые нейроны неизменными и рассылает структуру сети на вычислительные узлы. Каждый узел перебирает все варианты, подбирает оптимальную структуру и возвращает ее на ведущий узел. Ведущий устанавливает первый нейрон fan+1 и снова посылает ее на узел. Такая операция повторяется до тех пор, пока не будут перебраны все состояния первого нейрона. После этого ведущий процессор выбирает минимальное значение невязки.
Программная реализация. Описанные выше алгоритмы были реализованы в виде нескольких программ, написанных на языке C+ + . Одна из этих программ реализует параллельные алгоритмы и предназначена для запуска на кластерных системах. Для межпроцессорной передачи данных используется библиотека CrVMpi, являющаяся высокоуровневой надстройкой над MPI [13-15]. Другая программа, написанная с использованием технологии QT, реализует графический интерфейс настройки ИНС (рис. 3) и предназначена для запуска на персональном компьютере (работающим под управлением операционных систем GNU/Linux или Microsoft Windows). Данный нейросе-тевой программный комплекс получил название UNS и был использован для проведения эксперимента.
1
1
Рис. 3. Графический интерфейс нейросетевого симулятора и№
Вычислительный эксперимент. Обучение ИНС состояло из двух уровней, на внешнем производился подбор активационной функции, а на внутреннем -значений весовых коэффициентов (с использованием градиентного метода наискорейшего спуска). В результате была получена сеть конфигурации [1-4-6] (рис. 4). В этой сети входные, выходные и один из скрытых нейронов имеют линейную активационную функцию, а остальные скрытые — квадратичную, кубическую и сигмоиду, соответственно. Относительная погрешность при использовании этой структуры составила 8,89 %.
Затем эксперимент был повторен, но в качестве исходных данных были использованы значения за неполных три года (01.03.96 г. - 21.10.98 г.), рассчитывалось
Рис. 4. Структура используемой сети
Время, дни
Рис. 5. Сравнительный график массы выловленной креветки (известный - х и модели - у) 1468
Таблица 2
Временные затраты на обучение ИНС
Временные затраты, с
Персональный компьютер 216792
Вычислительный кластер (1 процессор) 145452
Вычислительный кластер (2 процессора) 72945
Вычислительный кластер (8 процессоров) 18255
Вычислительный кластер (16 процессоров) 9127
значение плотности популяции на 21 декабря 1198 г. для того, чтобы проверить, как повлияет изменение количества исходных данных на точность результата, как сильно расчетное значение будет отличаться от известного. Были использованы нейронные сети тех же типов. Анализ результатов подтвердил правильность выбора структуры ИНС. Относительная погрешность в этом случае составила 5,74 %.
Для определения адекватности результатов вычислительного эксперимента был произведен расчет значений плотности популяции на 1998 г., с использованием данных за период времени 1996-1997 гг. На рис. 4 представлены графики зависимости реального х и полученного с помощью ИНС у временных рядов.
Эффективность параллельных алгоритмов. Вычислительные эксперименты проводились на двух машинах - персональном компьютере и вычислительном кластере Тамбовского государственного университета им. Г.Р. Державина. Временные затраты на обучение приведены в табл. 2.
Для определения эффективности параллельных алгоритмов было введено понятие коэффициента эффективности как величины прямо пропорциональной временным затратам при использовании последовательного алгоритма и обратно пропорциональной временным затратам при использовании параллельной версии алгоритма [14]
t
(10)
Здесь п - количество используемых процессоров, Г -временные затраты при использовании последовательного алгоритма, т(п) - временные затраты при использовании параллельной версии алгоритма, использующего п процессоров.
Согласно формуле (10) эффективность параллельного алгоритма в данном случае составляет примерно 99 %.
ВЫВОД
Таким образом, в ходе эксперимента было установлено, что получение численных значений плотности популяции, близких к реальным, возможно (используя
нейронную сеть, описанную выше). Также возможно предположение тенденции роста-уменьшения плотности популяции. Кроме того, можно сделать вывод, что при проведении подобных экспериментов использование кластерных систем дает значительный временной выигрыш.
ЛИТЕРАТУРА
1. Абакумов А. И. Методология математического моделирования природных и экономических систем // Труды Дальрыбвтуза (ТУ). Владивосток: Изд-во Дальрыбвтуза (ТУ). 1996. Вып. 7. С. 11-16.
2. Говорухин В.Н., Моргулис А.Б., Сенина И.Н., Тютюнов Ю.В. Моделирование активных миграций пространственнораспределенной популяции // Обозрение прикладной и промышленной математики. М.: Науч. изд-во ТВП, 1999. Т. 6. Вып. 2. C. 271-295.
3. Домбровский Ю.А., Тютюнов Ю.В., Обущенко Н.И. Обзор методов моделирования рыбных популяций и сообществ. Приложение к ихтиофауне Азовского моря. Деп. в ВИНИТИ. 1986. № 2841-B86. 83 с.
4. Сенина И.Н., Тютюнов Ю.В. Эвристическая модель миграционного цикла популяции тюльки Азовского моря // Компьютерное моделирование. Экология / под ред. Г. А. Угольницкого. М.: Вузовская книга, 2004. Вып. 2. C. 92-100.
5. Тютюнов Ю.В., Титова Л.И., Сенина И.Н. Модель динамики численности судака в Азовском море // Модели иерархического управления устойчивым развитием эколого-экономических систем / под ред. Г.А. Угольницкого. М.: Вузовская книга, 2005.
6. Арзамасцев А.А., Крючин О.В., Азарова П.А., Зенкова Н.А. Универсальный программный комплекс для компьютерного моделирования на основе искусственной нейронной сети с самоорганизацией структуры // Вестн. Тамб. ун-та. Сер. Естеств. и техн. науки. Тамбов, 2006. Т. 11. Вып. 4. С. 564-570.
7. Осовский С. Нейронные сети для обработки информации / пер. с пол. И. Д. Рудинского. М.: Финансы и статистика, 2002. 344 с.
8. Блаттер К. Вейвлет-анализ. Основы теории // Техносфера. М., 2006. 272 с.
9. Козадаев А. С. Предварительная обработка данных для искусственных нейронных сетей в задачах прогнозирования временных рядов. Вейвлет преобразование // Вестн. Тамб. ун-та. Сер. Естеств. и техн. науки. 2008. Т. 13. Вып. 1. С. 98-99.
10. Gill P., Murray W., Wrights M. Practical Optimisation. N. Y.: Academic Press, 1981.
11. Widrow B., Stearns S. Adaptive signal processing. N. Y.: Prentice Hall, 1985.
12. Букатов А.А., Дацюк В.Н., Жугуло А.И. Программирование многопроцессорных вычислительных систем. Ростов н/Д: Изд-во ООО «ЦВВР», 2003. 208 с.
13. Крючин О.В. Параллельные алгоритмы обучения искусственных нейронных сетей // Материалы XV международной конференции по нейрокибернетике. Т. 2. Симпозиум «Интерфейс ''Мозг-Компьютер''», 3-й Симпозиум по Нейроинформатике и Нейрокомпьютерам. Ростов н/Д: Изд-во ЮСУ, 2009. С. 93-97.
14. Крючин О.В., Арзамасцев А.А., Королев А.Н., Горбачев С.И., Семенов Н. О. Универсальный симулятор, базирующийся на технологии искуственных нейронных сетей, способный работать на параллельных машинах // Вестн. Тамб. ун-та. Сер. Естеств. и техн. науки. Тамбов, 2008. Т. 13. Вып. 5. С. 372-375.
15. Крючин О.В., Королев А.Н. Библиотека распараллеливания // Вестн. Тамб. ун-та. Сер. Естеств. и техн. науки. Тамбов, 2009. Т. 14. Вып. 2. С. 465-467.
Поступила в редакцию 10 июня 2010 г.
Kryuchin O.V., Kozadayev A.S., Arzamastsev A.A. Parallel algorithms of artificial neuron networks teaching and their use for prediction of shrimp population level in Indian ocean
In the article the algorithms of artificial neuron networks teaching and calculated experiment of modeling and prediction of population level in open biological system.
Key words: parallel algorithms; artificial neuron networks; algorithms neuron networks teaching.
a —