УДК 519.85
ФОРМАТ КОНФИГУРАЦИИ НЕЙРОСЕТЕВОГО СИМУЛЯТОРА, РЕАЛИЗУЮЩЕГО ПАРАЛЛЕЛЬНОЕ ОБУЧЕНИЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ
© О.В. Крючин, Е.В. Вязовова, А.А. Арзамасцев
Ключевые слова: искусственные нейронные сети; формат конфигурации; нейросетевой симулятор. В данной работе описан формат конфигурации интеллектуального ядра информационной системы нейросетево-го симулятора и всех его базовых элементов. Такими элементами являются нейроны, структуры и алгоритмы обучения.
ВВЕДЕНИЕ
В работах [1-3] описана информационная система (ИС), использующая в качестве интеллектуального ядра нейросетевой симулятор, обучающий искусственные нейронные сети (ИНС) при помощи параллельных вычислений. Целью данной работы является разработка формата, способного описать все базовые элементы нейросетвого симулятора - нейрон, структуру сети, алгоритм подбора весов, алгоритм подбора структуры и активационных функций, методы сохранения выборки и реализация данного формата в нейросетевом си-муляторе.
Нейрон. Формальный нейрон (блок конфигурации определяется тегом neuron) - это узел искусственной нейронной сети, являющийся упрощенной моделью естественного нейрона. Математически его обычно представляют как некоторую нелинейную функцию от единственного аргумента - линейной комбинации всех входных сигналов. Данную функцию называют функцией активации или функцией срабатывания, передаточной функцией [4-5]. Вид передаточной функции определяется атрибутом type, возможные варианты которого:
- линейная (y = x ) - Linear - сигнал на выходе нейрона линейно связан со взвешенной суммой сигналов на его входе;
- логистическая (y = —— ) - Sigm1 - область
1 + x
значений находится в интервале (0,1);
- пороговая - Threshold - представляет собой перепад, до тех пор пока взвешенный сигнал на входе нейрона не достигает некоторого уровня - сигнал на выходе равен нулю;
Sigm2 (y = —1— ), Sigm3
сигмоида
1 + ex
(У = :
1 + e"
1 ) или Sigm4 (y = —) - один из самых
1 + еХ
часто используемых на данный момент типов передаточных функций (введение функций сигмоидального типа было обусловлено ограниченностью нейронных сетей с пороговой функцией активации нейронов - при
такой функции активации любой из выходов сети равен либо нулю, либо единице, что ограничивает использование сетей не в задачах классификации);
- тригонометрическая - Sin( y = sin(x)), Cos( y = cos (x)), Tg( y = tg(x)), Ctg( y = ctg(x));
- степенная - Square( y = x2 ), Cube( y = x3 ),
Four-power( y = x4 ).
Блок neuron содержит следующие теги: coeff - коэффициент активационной функции, impulse -импульс, threshold - порог и limits - пределы.
Блок limits определяет наличие верхнего и нижнего пределов. Он содержит два вложенных тега up и down, каждый из которых имеет атрибут existence, показывающий, имеется ли значение по умолчанию в случае, когда входное значение активационной функции оказывается снизу (для down) или сверху (для up) от порогового значения threshold. Если это значение существует, то атрибут existence равен TRUE и имеется вложенный атрибут value, в котором указано значение предела.
Импульс представляет собой добавочный весовой коэффициент. В реализации нейросетевого симулятора математический нейрон имеет два импульса, внешний и внутренний, различающиеся тем, что только внешний может обучаться наряду с весовыми коэффициентами [6]. Конфигурация импульса содержит два тега:
- internal - определяет внутренний импульс;
- external - определяет внутренний импульс, имеющий атрибут lock, который принимает 2 значения: (TRUE - импульс заблокирован и не изменяется в процессе подбора весовых коэффициентов; FALSE - импульс не заблокирован и изменяется в процессе подбора весовых коэффициентов).
Структура сети. Блок structure, отвечающий за конфигурацию структуры сети, содержит атрибут type, определяющий тип ИНС. Этот блок содержит следующие теги:
- condition - состояние сети, для некоторых случаев - подвид (для сети Вольтери в случае, когда значение равно 0, принимается классический вариант структуры, если же значение равно 1, то вариант Осовского [7], для каскадной сети рекомендуется брать
значение, равное нулю, для многослойного персептрона -неважно);
- layers - положение нейронов;
- weights - положение весовых коэффициентов.
Узел layers, определяющий конфигурацию
нейронов, содержит тег count, определяющий количество слоев, и теги layer, каждый из которых отвечает за определенный слой (они имеют атрибут index, указывающий номер слоя). В свою очередь layer имеет вложенный тег count, описывающий количество нейронов на данном слое, и теги neuron, определяющие нейроны (каждый из них также имеет атрибут index, отвечающий за номер позиции).
Узел weights, определяющий конфигурацию весовых коэффициентов, содержит следующие теги:
- count - количество весовых коэффициентов структуры;
- weight - конкретный весовой коэффициент, имеет атрибут value, хранящий его значение и вложенные теги - input и output (input - нейрон, к которому идет вес, имеет вложенные теги layer - номер слоя нейрона и neuron - номер позиции нейрона; output - нейрон, испускающий вес, имеет вложенные теги layer - номер слоя нейрона и neuron - номер позиции нейрона).
Остановка обучения. Блок stopping предназначен для конфигурации метода остановки обучения и содержит атрибут type, принимающий следующие значения:
- Iterative - остановка по достижению заданного количества итераций, значение тега определяет это количество;
- AbsoluteInaccuracy - остановка по достижению заданного значения погрешности, значение тега определяет это значение;
- RelativeInaccuracy - остановка по достижению заданной разницы между начальной и текущей погрешностями, значение тега определят величину коэффициента погрешности се , и после того, как выполнится условие cse < е0 , обучение завершится;
- IdenticalInaccuracyQuantity - остановка по достижению заданного количества одинаковых погрешностей, значение тега определяет это количество;
- Time - остановка по достижению заданного времени обучения, значение тега определяет количество секунд.
Сохранение промежуточной информации обучения. При обучении ИНС часто требуется отслеживать изменение некоторых величин, например невязки, и сохранять эти значения. Для этого предназначен блок preservations, содержащий конфигурацию средств сохранения промежуточных результатов, который имеет вложенные теги preservation, отвечающие за конфигурацию конкретного элемента сохранения. Каждый из них содержит следующие теги:
- object - информация об объекте сохранения, имеет атрибут type, принимающий значения:
а. output-data - выходные данные ИНС, вычисляемые при ее обучении; inccuracy - погрешность, абсолютная и относительная, сохраняется в формате еа <TAB>er <TAB>еа <TAB>е- ;
б. weights - значения весовых коэффициентов.
В случае, когда атрибут type принимает значение weights, имеется вложенный тег best, который принимает значение TRUE, говорящее о том, что сохранять следует наилучшие значения весовых коэффициентов, или FALSE, в этом случае сохраняются текущие (это актуально лишь для некоторых алгоритмов обучения). Если атрибут type принимает значения inccuracy или output-data, то имеется вложенный тег teaching. Если его значение TRUE, то сохраняются обучающие данные, в противном случае - проверочные.
- reciver - информация о получателе данных;
- lock - наличие блокировки в момент сохранения (TRUE - есть блокировка, FALSE - нет блокировки);
- level - уровень сохранения (0 - уровень вычисления значения целевой функции, 1 - уровень изменения одного весового коэффициента, 2 - уровень одной итерации изменения весовых коэффициентов, 3 - уровень одной итерации изменения нейрона, 4 -уровень одной итерации изменения структуры сети).
Тег receiver содержит конфигурацию получателя и имеет атрибут type принимающий значение file или socket. В первом случае идет сохранение в файл, а во втором - в сокет. Значение этого тега определяет имя файла или сокета (ip-адрес и порт, разделенные символом ':').
Обучающая выборка. Блок pattern определяет конфигурацию выборки данных, содержит три тега:
- teaching - конфигурация обучающей выборки;
- checking - конфигурация проверочной выборки;
- norming - нормирование.
Первый и второй из приведенных выше тегов содержат следующие вложенные теги:
- place - конфигурация местонахождения файлов, содержащих выборку, содержит 2 вложенных тега (input - имя файла с входными данными и output - имя файла с выходными данными);
- size - конфигурация размерности выборки (содержит три вложенных тега: rows - количество строк, input - количество столбцов входных данных, output - количество столбцов выходных данных и values - конфигурация значений выборки).
Выборка может как содержаться в конфигурации (внутренняя), так и находиться вне ее (внешняя). В первом случае имеет место тег place, а во втором - size и values.
Узел values определяет конфигурацию значений выборки и содержит теги row, отвечающие за конкретную строку данных и имеющие атрибут index, хранящий номер этой строки. Тег row содержит два вложенных тега - input и output, отвечающих за входные и выходные данные. Эти теги в свою очередь содержат теги col, отвечающие за значение, стоящее на определенной позиции. Номер позиции хранит атрибут index.
Конфигурация нормирования определяется тегом norming. Содержит тег limits, отвечающий за пределы нормирования. Этот тег содержит два вложенных -down и up, хранящие значение нижнего и верхнего соответственно. Если тег limits содержит атрибут col, то значение этого атрибута определяет столбец, к которому применяется нормирование. Если такой атрибут
отсутствует, то нормирование применяется ко всем столбцам. Если имеются как теги limits с атрибутом col, так и тег без атрибута, то пределы, содержащиеся в последнем, применяются ко всем столбцам за исключением тех, которые указаны в атрибутах col.
Подбор весовых коэффициентов. Конфигурация алгоритма обучения весовых коэффициентов содержится в блоке weights, который имеет атрибут type, определяющий алгоритм обучения. Возможные варианты:
- FullScan - метод полного сканирования (полного перебора), относится к классу методов поиска решения исчерпыванием всевозможных вариантов [8];
- MonteKarlo - метод Монте-Карло [9];
- Gradient - метод подбора весовых коэффициентов с помощью движения вдоль градиента [10];
- QuickProp - эвристический метод, предложенный Фальманом [11];
- RPROP - эвристический метод, суть которого заключается в игнорировании значения градиента, т. е. при вычислении новых значений весовых коэффициентов учитывается исключительно знак;
- BackPropagation - метод обратного распространения ошибки, основная идея состоит в распространении сигналов ошибки от выходов сети к ее входам, в направлении, обратном прямому распространению сигналов в обычном режиме работы [12].
Данный блок содержит следующие теги:
- init - конфигурация инициализации весовых коэффициентов, содержит атрибут type - тип инициализации (если равен value значение тега содержит значение инициализации, а в случае инициализации случайными числами имеются два вложенных тега - down и up, отвечающие за нижний и верхний пределы), возможные значения которого:
а. no - отсутствие инициализации (значения весовых коэффициентов берутся из структуры сети);
б. rnd - инициализация случайными числами в заданном диапазоне;
в. value - инициализация заданным значением;
- coeff - конфигурация коэффициента обучения, содержит два вложенных тега, value - начальное значение и coeff - коэффициент изменения, изменяющий коэффициент обучения следующим образом;
- penal - конфигурация штрафной функции, повышает эффективность, если штрафная функция естественно вытекает из технического смысла задачи, хорошо подходит для приближенной оценки в сложной допустимой области [13], содержит теги: period - период (число итераций) и step - значение шага на итерации;
- limits - конфигурация контроля за пределами значений весовых коэффициентов, имеет вложенные теги: down - нижний предел; up - верхний предел.
Весовые коэффициенты не могут выйти за пределы данного диапазона. В случае, когда контроль не требуется, тег limits следует опускать.
Подбор активационных функций. Подбор актива-ционных функций нейронов определяется тегом neurons, в котором имеются следующие секции:
- types - перебираемые типы, содержит теги, определяющие, какие именно типы участвуют в переборе;
- functions - перебираемые активационные функции, содержит теги, определяющие, какие именно активационные функции участвуют в переборе;
- coeff - коэффициент активационной функции;
- impulse - импульс активационной функции. Содержит подсекции internal и external, отвечающие за внутренний и внешний импульсы;
- threshold - значение порога в случае функции МакКалок-Питса;
- limits - значения верхнего и нижнего предела в случае функции МакКалок-Питса, содержит подсекции up и down, отвечающие за верхний и нижний пределы.
Секции coeff, threshold, internal, external, down и up содержат теги up и down, отвечающие за нижнее и верхнее значения, и тег step, отвечающий за шаг.
Подбор структуры. Блок structure предназначен для подбора структуры сети методом наращивания, он содержит тег neuron, определяющий добавляемый нейрон, и в зависимости от используемой структуры один или два тега stopping. При наращивании будет добавляться линейный нейрон.
ЗАКЛЮЧЕНИЕ
Таким образом, в рамках данной работы разработан формат, описывающий все базовые элементы нейро-сетвого симулятора, такие как нейрон, структура сети, алгоритм подбора весов, алгоритм подбора структуры и активационных функций, методы сохранения выборки. Данный формат реализован в нейросетевом симу-ляторе.
ЛИТЕРАТУРА
1. Крючин О.В. Программный комплекс для моделирования объектов социально-экономического назначения с использованием искусственных нейронных сетей на кластерных вычислительных системах // Гаудеамус. Психолого-педагогический журнал. Актуальные проблемы информатики и информационных технологий: материалы 14 Междунар. науч.-практ. конф. Тамбов, 2010. № 2 (16). С. 534.
2. Крючин О.В. Вычислительная система для построения моделей искусственных нейронных сетей // Наука в современном мире: Материалы 9 Междунар. науч.-практ. конф. (22 февраля 2012 г.): сборник научных трудов / под ред. Г.Ф. Гребенщикова. М.: Спутник, 2012. С. 238-240.
3. Арзамасцев А.А., Зенкова Н.А., Крючин О.В., Квашенкин Д.О., Неудахин А.В. Автоматизированная технология и программно-технологический комплекс для построения экспертных систем с интеллектуальным ядром, основанным на нейросетевых моделях, поддержкой распределенного ввода данных и параллельных вычислений // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2012. Т. 17. Вып. 3. С. 948-978.
4. Комарцова Л.Г., Максимов А.В. Нейрокомпьютеры. М.: МГТУ им. Н.Э. Баумана, 2004.
5. Миркес Е.М. Нейрокомпьютер. Проект стандарта. Новосибирск: Наука, 1999. 337 с.
6. Kryuchin O.V., Arzamastsev A.A., Troitzsch K.G. A parallel algorithm for selecting activation functions of an artificial network, Arbeitsberichte aus dem Fachbereich Informatik. Nr. 12/2011 Universität Koblenz-Landau, 2011. ISSN (Online) 1864-0850. URL: http://www.uni-koblenz.de/~fb4reports/2011/2011_12_Arbeitsberichte.pdf.
7. Осовский С. Нейронные сети для обработки информации / пер. с польск. И.Д. Рудинского. М.: Финансы и статистика, 2002. 344 с.
8. Крючин О.В., Арзамасцев А.А. Параллельный подбор весовых коэффициентов искусственной нейронной сети методом Монте-Карло // Научный потенциал молодежи - будущее России [Электронный ресурс]: 2 Всероссийские научные Зворыкинские чтения. Сб. тез. докладов 2 Всероссийской межвузовской научной конференции (г. Муром, 23 апреля 2010 г.). Муром: Изд. полиграфический центр МИ ВлГУ, 2010. 1119 с., ил., 1 электрон. опт. диск (CD-ROM). С. 865-866.
9. Барцев С.И., Гилев С.Е., Охонин В.А. Принцип двойственности в организации адаптивных сетей обработки информации // Динамика химических и биологических систем. Новосибирск: Наука, 1989. С. 6-55.
10. Riedmiller M. Untersuchungen zu konvergenz und generalisie-rungsverhalten uberwachter lernverfahren mit dem SNNS. In Proceedings of the SNNS. 1993.
11. Крючин О.В., Арзамасцев А.А. Параллельный алгоритм полного сканирования минимизации функций // 7 Всероссийская научная конференция молодых ученых, аспирантов и студентов. Информационные технологии, системный анализ и управление. Таганрог: Таганрогский технологический институт ЮФУ, 2009. С. 270272.
12. Галушкин А.И. Синтез многослойных систем распознавания образов. М.: Энергия, 1974.
Поступила в редакцию 2 апреля 2015 г.
Kryuchin O.V., Vyazovova E.V., Arzamastsev A.A. THE FORMAT OF THE CONFIGURATION OF NEURAL NETWORK SIMULATOR THAT IMPLEMENTS PARALLEL TRAINING OF ARTIFICIAL NEURONIC NETWORKS
In this work the format of configurating of the information system of intelligent core which is the neural network simulator and all simulator base elements are described. These elements are neurons, structures and training algorithms.
Key words: artificial neural networks; configuration format; neural network simulator.
Крючин Олег Владимирович, Тамбовский государственный университет им. Г.Р. Державина, г. Тамбов, Российская Федерация, магистрант по направлению подготовки «Прикладная математика и информатика» института математики, физики и информатики, e-mail: [email protected]
Kryuchin Oleg Vladimirovich, Tambov State University named after G.R. Derzhavin, Tambov, Russian Federation, Candidate for Master's Degree of Direction of Preparation "Applied Mathematics and Informatics" of Mathematics, Physics and Informatics Institute, e-mail: [email protected]
Вязовова Елена Владимировна, Тамбовский государственный университет им. Г.Р. Державина, г. Тамбов, Российская Федерация, магистрант по направлению подготовки «Прикладная математика и информатика» института математики, физики и информатики, e-mail: [email protected]
Vyazovova Elena Vladimirovna, Tambov State University named after G.R. Derzhavin, Tambov, Russian Federation, Candidate for Master's Degree of Direction of Preparation "Applied Mathematics and Informatics" of Mathematics, Physics and Informatics Institute, e-mail: [email protected]
Арзамасцев Александр Анатольевич, Тамбовский государственный университет им. Г.Р. Державина, г. Тамбов, Российская Федерация, доктор технических наук, профессор, зав. кафедрой компьютерного и математического моделирования, e-mail: [email protected]
Arzamastsev Aleksander Anatolyevich, Tambov State University named after G.R. Derzhavin, Tambov, Russian Federation, Doctor of Technics, Professor, Head of Computer and Mathematical Modeling Department, e-mail: [email protected]