В работе приводится описание разработанного авторами программного обеспечения Intelligent Evolutionary Studio, реализованного с помощью шаблона проектирования эволюционного моделирования. Поясняется формат файлов искусственных нейронных сетей. Описаны все возможности Intelligent Evolutionary Studio, а также иллюстрируются примеры и снимки главного окна.
Ключевые слова: искусственные нейронные сети, генетические алгоритмы, машинное обучение.
Введение
Авторами разработан программный продукт под названием Intelligent Evolutionary Studio (IES), который является инструментом для машинного обучения искусственных нейронных сетей (ИНС). В IES применяется машинное обучение с помощью эволюционных алгоритмов, а именно используется генетический алгоритм (ГА). Машинное обучение ИНС в IES возможно через настройку весовых коэффициентов и/или структуры сетей. Под настройкой весовых коэффициентов понимается следующее, что дана ИНС, без заранее заданных весовых коэффициентов, и требуется подобрать такие весовые коэффициенты, при которых заданная ИНС будет соответствовать выходным сигналам из обучающего множества. Настройка структуры сетей в машинном обучении ИНС происходит точно так же, как и настройка весовых коэффициентов, за исключением того, что структура или архитектура ИНС заранее не известна, и происходит подбор подходящей структуры сети в соответствии с обучающим множеством.
IES разработан с помощью предложенного шаблона проектирования эволюционного моделирования [1]. Способы, описанные в литературе [4], эволюционного обучения ИНС применяются в IES. Разработанный программный продукт позволяет загружать заранее заданные структуры ИНС и обучающее множество. Для этого был описан и разработан специальный формат файлов. Пользователь может создавать или редактировать собственные структуры сетей и обучающее множество, а затем загружать в IES подготовленные файлы для машинного обучения ИНС. Далее приводится описание формата файлов и функций IES.
Формат файлов искусственной нейронной сети
В IES используются два формата файлов. Один описывает структуру ИНС, а второй — обучающее множество. Оба формата являются текстовыми. Редактирование файлов возможно в любом текстовом редакторе без форматирования.
Далее рассматривается описание формата структуры ИНС. Файл состоит из двух групп. Первая группа обозначается строкой «net:». Свидетельствует о том, что следующие строки описывают расположение нейронов на плоскости. Обратите внимание, что номера строк в примерах файлов не входят в описание формата файлов, а введены лишь для удобства объяснения. Для примера, рассмотрим следующие строки файла:
Строка 1 net:
Строка 2 101
Строка 3 101
Строка 4 010
Начиная со строки 2, каждая строка обозначает слой ИНС, где вторая и четвертая строка являются входным и выходным слоем сети. Все строки между строками, обозначающие входной и выходной слой, являются скрытыми слоями. Каждая строка состоит из «0» и «1», где «0» говорит о том, что нейрон отсутствует на данном уровне, а «1» — нейрон присутствует на данном уровне. Например, вторая строка «101» обозначает присутствие нейронов на верхнем и нижнем уровнях.
После описания слоев сети следует вторая группа и обозначается строкой «lnk:». Данная строка свидетельствует о том, что следующие строки описывают связи между нейронами. Например:
Строка 1 lnk:
Строка 2 0:0:1:0
Строка 3 0:0:1:1
Строка 4 0:1:1:0
Строка 5 0:1:1:1
Строка 6 1:0:2:0
Строка 7 1:1:2:0
Начиная со строки 2, каждая строка обозначает связь между двумя нейронами, где через разделительный символ «:» идут по следующему порядку: номер слоя, где расположен исходящий нейрон, номер исходящего нейрона, затем номер слоя, где расположен принимающий нейрон, и номер принимающего нейрона. Номера слоя и нейрона начинаются с нуля. Например, пятая строка «0:1:1:1» обозначает связь между нейроном (номер 1) в слое с номером 0 с нейроном (номер 1) в слое с номером 1.
На этом описание структуры ИНС заканчивается. Полный текст файла с описанием структуры ИНС приводится ниже, полученная ИНС в графическом виде представлена на рисунке (рис. 1). Все строки файла с описанием ИНС:
Строка 1 net:
Строка 2 101
Строка 3 101
Строка 4 010
Строка 5 lnk:
Строка 6 0:0:1:0
Строка 7 0:0:1:1
Строка 8 0:1:1:0
Строка 9 0:1:1:1
Строка 10 1:0:2:0
Строка 11 1:1:2:0
Рис. 1. Графический вид ИНС из примера описания формата файлов
Далее рассматривается описание формата обучающего множества. Файл состоит из набора входных сигналов и выходных сигналов. Например:
Строка 1 0 0 0
Строка 2 0 1 1
Строка 3 1 0 1
Строка 4 1 1 0
Каждая строка обозначает обучающее подмножество. Каждый сигнал отделятся символом пробела. Если обучаемая ИНС принимает два входных сигнала и один выходной сигнал, то в каждой строке обучающего множества первые два числа через пробел будут обозначать входные сигналы, а третье число — выходной сигнал. Поэтому для разных ИНС одно и тоже обучающее множество может отличаться. Файл с обучающим множеством выбирается в зависимости от входных и выходных сигналов ИНС. В случае с двумя входными сигналами и одним выходным сигналов обучающее множество можно представить таблицей (таб. 1).
Таблица 1
Обучающее множество из примера
Строка |
Входной сигнал 1 |
Входной сигнал 2 |
Выходной сигнал |
1 |
0 |
0 |
0 |
2 |
0 |
1 |
1 |
3 |
1 |
0 |
1 |
4 |
1 |
1 |
0 |
Функции IES
IES управляется через главное окно. На рисунке (рис. 2) показано главное окно. Все окно можно разделить на следующие части:
- Главное меню;
- Таблица весовых коэффициентов;
- Изображение структуры ИНС.
Рис. 2. Главное окно IES
Все функции IES доступны через главное меню. Структура меню выглядит следующим образом:
1. Обучение;
1.1. Настройка весов;
1.2. Настройка сети;
2. Действия;
2.1. Запустить;
2.2. Остановить;
2.3. Параметры;
3. Информация;
3.1. График;
3.2. Обучающее множество.
В первом разделе меню «Обучение» вызывается способ обучения. В IES два способа обучения ИНС. Обучение путем настройки весовых коэффициентов и обучение путем настройки структуры ИНС. После вызова какого-либо способа обучения предлагается загрузить файл с описание структуры ИНС и файл с описание обучающего множества. После загрузки файлов в меню становятся доступны следующие разделы.
Во втором разделе меню «Действия» возможны функции запуска и остановки алгоритма обучения. А также в этом разделе можно вызвать окно (рис. 3) для настройки параметров алгоритма обучения.
Рис. 3. Окно с настройками параметров алгоритма обучения
После завершения алгоритма обучения становится доступным следующий раздел.
В третьем разделе меню «Информация» можно вызвать окно для отображения графика приспособленности (рис. 4) и окно с таблицей обучающего множества (рис. 5).
Рис. 4. График приспособленности
Рис. 5. Обучающее множество
Заключение
В итоге разработано ПО для обучения ИНС с помощью эволюционных алгоритмов. IES позволяет обучать ИНС путем настройки весовых коэффициентов, а также путем настройки структуры сети. IES позволяет конструировать сложные структуры ИНС (рис. 6).
Рис. 6. Примеры сложных ИНС
IES позволяет работать с различными ИНС с заранее заданной структурой сети через специальный формат файлов. Также доступно множество функций для управления алгоритмом обучения.
IES разработан с помощью языка программирования Java и платформы Java Standard Edition. Разработка проводилась в соответствии с паттернами проектирования [3]. Для запуска IES, на компьютере пользователя должна быть установлена JRE старше 1.6 версии.
Результатом разработки является реализация предложенного подхода [1]. На основе такого шаблона проектирования эволюционного моделирования реализован IES, а также получено свидетельство о регистрации объекта интеллектуальной собственности [2]. Разработанное программное обеспечение применимо к решению задач распознавания, классификации, прогнозирования и т. д.
Литература:
1. Ляпунцова Е. В., Бессонов Д. В. Шаблон проектирования эволюционного моделирования // XIII Национальная конференция с международным участием «Искусственный интеллект-2012», Белгород, Октябрь 16–19, 2012. Труды конференции в 4 томах, т. 2. — Белгород: Изд-во БГТУ, 2012. — С. 307–312
2. Ляпунцова Е. В., Бессонов Д. В. IntelligentEvolutionaryStudio (IES). Интеллектуальная Собственность — БесПроблем. Свидетельство № 13–11 от 19.06.2013
3. Гамма Э., Хелм Р., Джонсон Р., Влиссидес Дж. Приемы объектно-ориентированного проектирования. Паттерны проектирования. — СПб: Питер, 2010. — 366 с.
4. Рутковская Д., Пилиньский М., Рутковский Л. Нейронные сети, генетические алгоритмы и нечеткие системы. — М.: Горячая линия — Телеком, 2006. — 452 с.