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

УДК 519.712.3

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

© О.В. Крючин, А.С. Козадаев, Д.В. Слетков, А.А. Арзамасцев

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

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

ВВЕДЕНИЕ

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

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

Одним из наиболее часто используемых методов решения подобных задач, наряду с методами математической статистики (в частности построение модели АРПСС [1, 2]), являются системы искусственного интеллекта, базируемые на использовании аппарата искусственных нейронных сетей (ИНС) [3, 4].

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

, N-1

£ = N - 3 )2,

г=0

где 3 - реальные значения временного ряда; у - значения временного ряда, вычисленные ИНС; N - количе-ство обучающих примеров.

Выходные значения ИНС вычисляются по следующей формуле:

Уг=Р

где хг - вектор входных значений (реальные значения временного ряда); - вектор коэффициентов синапти-

ческих связей; ц - состояния нейронов (количество, межнейронные связи, активационные функции).

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

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

ОБЪЕКТ ИССЛЕДОВАНИЯ

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

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

Исходные данные для проведения вычислительного эксперимента были предоставлены ГУ Тамбовский ЦГМС. Они представляли собой значения температуры воздуха (рис. 1) для фиксированных моментов времени. Периодичность замеров составляла 6 часов. Данные покрывают период с января 2000 г. по август 2005 г.

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

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

Рис. 1. Температура воздуха в городе Тамбове в 2000-2005 гг

Рис. 2. Схема разбиения вектора весовых коэффициентов

g

VE

dE

dw0 dwx

w(k ) = w(k -1) + Aw(k ) =

= w(k-l)i—üwg(k\ ,

dw

lw -1

где sw - коэффициент обучения (шаг); k - номер

итерации (эпохи) обучения, г - индекс весового коэффициента.

Начальное значение коэффициента обучения обычно выбирают равным 1, а затем изменяют согласно формуле (5), что позволяет уменьшать шаги вблизи минимума.

ПАРАЛЛЕЛЬНЫЙ АЛГОРИТМ ОБУЧЕНИЯ ИНС

Для адаптации к кластерным системам градиентный алгоритм должен быть модифицирован. Модифи-

кация была проведена следующим образом: вектор весовых коэффициентов w делится на п частей (при п процессорах) w = (Н0 W1 ...,Нп-1). Первая часть вектора содержит IVн элементов, а остальные - 1н . Значения Nн и 1н определяются формулами (6) и (7).

lw

n -1

lw -(n - l)lw

где lw - размерность исходного вектора w .

Таким образом, каждый процессор вычисляет часть вектора градиентов и весовых коэффициентов [9]. Схема разбиения вектора весовых коэффициентов приведена на рис. 2.

ПРОГРАММНАЯ РЕАЛИЗАЦИЯ АЛГОРИТМОВ ОБУЧЕНИЯ ИНС

Описанные выше алгоритмы были реализованы в виде программного комплекса, написанного на языке C+ + . Серверная часть программного комплекса реализует параллельные алгоритмы и предназначена для запуска на кластерных системах. Для межпроцессорной передачи данных используется библиотека CrVMpi [10], являющаяся высокоуровневой надстройкой над MPI [11].

Пользовательский интерфейс клиентской части (рис. 3) разработан с использованием библиотеки Qt и предназначен для запуска на персональном компьютере (работающим под управлением ОС GNU/Linux и MS Windows). Данный программный комплекс получил название UNS и был использован для проведения вычислительных экспериментов. Вычислительные эксперименты проводились с использованием последовательной и параллельной версии градиентного алгоритма обучения ИНС.

sw = ^ssw .

Рис. 3. Графический интерфейс нейросетевого симулятора иШ

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

На первом этапе вычислительного эксперимента необходимо решить вопрос о подготовке обучающей выборки для ИНС. В качестве входов обучающей выборки, мы используем значения исходного временного ряда со смещением [3, 12].

X = т, Т2 Тз Т4 • Т Л  ТК

Т2 Тз Т4 Т •  ТК+1

Тз Т4 Т5 Тб •  ТК+2

ТЫ+1 ТЫ+2 ты+з   ТЫ+Ку

Б

К+с

ТК

К+с+1

V ТК+Ы+с )

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

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

ИНС минимального размера изображена на рис. 4. Данная сеть содержит 1 скрытый слой с 1 нейроном. Все нейроны имеют сигмоидальную активационную

функцию у =------- ——. Параметры обучающей вы-

1 + е Сх

борки (8) были заданы следующем образом: количество входов К было взято равным 5, а значение коэффициента смещения с - 1. На рис. 5 приведен график зависимости значения невязки, вычисленной по формуле (1), от количества нейронов на скрытом слое.

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

Из рис. 6 и 7 видно, что добавлением второго скрытого слоя не удалось понизить погрешность, таким образом, наилучшая структура - структура, изображенная на рис. 7, содержит один скрытый слой с 13 нейронами.

Рис. 4. Начальная структура ИНС

Рис. 5. График зависимости значения невязки от количества нейронов на скрытом слое при одном скрытом слое

Рис. 6. График изменения значения невязки от количества нейронов на втором скрытом слое при двух скрытых слоях, первый из которых содержит 13 нейронов

Рис. 7. Граф нейронной сети, соответствующей наименьшему значению невязки

Выбор архитектуры (графа) сети такой, чтобы она не была перегружена и, соответственно, достаточно быстро обучалась, но, тем временем, достаточно полной для получения правдоподобного результата вычислений осуществлялся на втором этапе вычислительного эксперимента. Во избежание переобучения ИНС эксперимент был повторен с изменением критерия остановки обучения, тестовое множество использовалось как валидационное (обучение прекращалось с выдачей сообщения о том, что ошибка на тестовом множестве увеличилась). Такой подход не только предотвращает переобучение ИНС, но сокращает время обучения. Результаты обучения можно увидеть на рис. 8, 9. Для чистоты вычислительного эксперимента начальные параметры второго этапа эксперимента параметры ИНС не изменились.

Рис. 8. График зависимости значения невязки от количества нейронов на скрытом слое

Рис. 9. График зависимости значения невязки от количества нейронов на втором скрытом слое при использовании двух скрытых слоев, первый из которых содержит 7 нейронов

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

Заключительным этапом вычислительного эксперимента был сравнительный анализ и оценка прогнозов, осуществленных с помощью ИНС, полученных оптимальных архитектур (табл. 1).

Таблица 1

Сравнительные данные реального и вычисленных при помощи ИНС временных рядов

Дата Реаль- ное Прогноз

Нахождение оптимальной архитектуры

Прохождение заданного количества итераций Использование тестового множества в качестве валидационного

03.02.2001 -2,8 -1,4 -1,9

03.05.2001 10,1 11,1 11,9

01.06.2002 7,6 7,0 7,9

01.08.2003 14,4 13,5 14,2

01.09.2004 19,4 17,8 16,1

01.04.2005 -8,9 -10,4 -11,0

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

ОТТЕНКА ЭФФЕКТИВНОСТИ ПАРАЛЛЕЛЬНЫХ АЛГОРИТМОВ

Для проведения вычислительных экспериментов с использованием параллельных алгоритмов обучения ИНС была использована структура ИНС, определенная как оптимальная в результате анализа изменения невязки для обучения ИНС с использованием последовательного алгоритма обучения ИНС. Вычисления проводилось на двух кластерах - кластере Тамбовского государственного университета им. Г.Р. Державина (далее Cluster Г) и кластере Тамбовского государственного технического университета (далее Cluster ГГ). Cluster Г представляет собой вычислительную сеть, состоящую из 8 вычислительных узлов и сервера (мастер-узла), соединенных при помощи Myrinet 2000. Каждый вычислительный узел имеет по 2 процессора Intel Xeon 3.06, кэш L2 512kb, шину PCI-X 64/133 и 1 гигабайт оперативной памяти. Пиковая и максимальная производительность вычислительного кластера - 96 и 67 GF соответственно, пиковая и максимальная эффективность кластера - 100 % и 69,7 %.

Cluster ГГ состоит из 8 вычислительных узлов на базе процессоров MtelPentium 4 3.0 ГГц и 2 Гб ОЗУ, один из которых является сервером, на котором установлен процессор Mtel Pentium 4 3.2 ГГц и 4 Гб ОЗУ, и 11 ра-

бочих станций на базе процессоров Шві РепИиш 4 3.2 ГГц и 1024 Мб ОЗУ. Вычислительные узлы соединены витой парой пятой категории (скорость передачи

1 ГБ/с).

Временные затраты на обучение ИНС представлены на рис. 10.

При использовании параллельных алгоритмов обучения ИНС необходимо знание их эффективности, т. е. увеличения скорости при использовании определенного количества процессоров. Если обозначить время последовательного алгоритма как Ґ, а параллельного при использовании п процессоров - т(п), то величина коэффициента эффективности может быть определена как (9) [9]:

t

nv

Нужно отметить, что при вычислении t и т(n) последовательный и параллельный алгоритм должны быть выполнены на одинаковом программном и аппаратном обеспечении. Иными словами, последовательный алгоритм, также как и параллельный, следует выполнять на вычислительном кластере.

Согласно формуле (9) средняя эффективность параллельного алгоритма на кластере Cluster I составляет 89 %, а на кластере Cluster II - 86 %.

а

Рис. 10. График зависимости времени, затраченного на обучение ИНС, от количества процессоров, использованных для решения данной задачи на кластере 1 и 2

Таблица 2

Значение коэффициента эффективности

Количество Коэффициент эффективности

процессоров Cluster I Cluster II

2 0,89320993 0,86321019

4 0,89320993 0,86300019

6 0,89230993 0,86231065

8 0,89230993 0,86199928

ВЫВОД

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

ЛИТЕРАТУРА

1. Бокс Дж., Дженкинс Г. Анализ временных рядов. Прогноз и управление: М.: Мир, 1974.

2. БриллинждерД. Временные ряды. М.: Мир, 1980. 536 с.

3. Арзамасцев А.А., Козадаев А. С. Прогнозирование временных рядов с помощью аппарата искусственных нейронных сетей. Краткосрочный прогноз температуры воздуха // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2006. Т. 11. Вып. 3. С. 299-304.

4. Козадаев А. С. Специализированная модель искусственной ней-

ронной сети в задачах прогнозирования временных рядов // Исследование, разработка и применение высоких технологий в промышленности: сб. пятой Междунар. науч.-практ. конф.,

С.-Петербург, 28-30 апр. 2008 г. СПб., 2008. С. 82-84.

5. Козадаев А. С. Предварительная оценка качества обучающей выборки для искусственных нейронных сетей в задачах прогнозирования временных рядов // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2008. Т. 13. Вып. 1. С. 99-100.

6. Горбань А.Н. Обучение нейронных сетей. М.: ПараГраф, 1990. 160 с.

7. Уоссермэн Ф. Нейрокомпьютерная техника: Теория и практика. М.: Мир, 1992. 104 с.

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

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

10. Крючин О.В., Королев А.Н. Библиотека распараллеливания. // Вестник с самоорганизацией структуры // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2006. Т. 11. Вып. 4. С. 564-570; Тамбов, 2009. Т. 14. Вып. 2. С. 465467.

11. Букатов А.А., Дацюк В.Н., Жугуло А.И. Программирование многопроцессорных вычислительных систем. Ростов н/Д: Изд-во ООО «ЦВВР», 2003. 208 с.

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

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

Kryuchin O.V, Kozadayev A.S., Sletkov D.V., Arza-mastsev A.A. Testing of parallel algorithms of education of artificial neural networks on example of data of air temperature change in Tambov

In this article the artificial neural network training algorithms for personal and cluster systems are compared. As given data the temperature's values of air in Tambov were used.

Key words: artificial neural networks; forecasting of air temperature; cluster systems; parallel algorithms.