УДК 519.95
РАЗРАБОТКА АВТОМАТИЗИРОВАННОЙ ТЕХНОЛОГИИ ПОСТРОЕНИЯ СИСТЕМ ПРИНЯТИЯ РЕШЕНИЙ С ИНТЕЛЛЕКТУАЛЬНЫМ ЯДРОМ НА ОСНОВЕ ИСКУССТВЕННЫХ НЕЙРОННЫХ СЕТЕЙ
© О.В. Крючин, А.А. Арзамасцев, Е.В. Вязовова, Д.О. Квашенкин
Ключевые слова: информационные системы; искусственные нейронные сети; экспертные системы; параллельные алгоритмы; программный комплекс.
Описана технология построения универсальных информационных и экспертных систем, в основе которых лежит аппарат искусственных нейронных сетей. Также описан программный комплекс, реализующий данную технологию. Приводится описание параллельных алгоритмов, осуществляющих построение моделей.
ВВЕДЕНИЕ
Цели и задачи. Актуальность использования информационных систем (ИС) во многих сферах обусловлена необходимостью наличия интеллектуального помощника, способного решать трудноформализуемые задачи. К таким сферам относятся промышленность, научные исследования, а также социальная и экономическая области. В то же время создание и эксплуатация подобных систем характеризуется в настоящее время рядом трудностей и ограничений:
- высокой трудоемкостью процессов построения баз знаний ИС, связанной с формализацией знаний экспертов и их машинным представлением, а в некоторых случаях и невозможностью такой формализации вследствие большого количества невербальных данных, которые влияют на оценку;
- необходимостью привлечения дополнительного круга специалистов - инженеров по знаниям и разработке специализированного программного обеспечения или адаптации существующих ИС под конкретные условия рассматриваемой предметной области;
- преобладанием локального подхода к организации взаимодействия с ИС, тогда как в настоящее время все большее распространение и доступность получают сетевые ИС, например, веб-ориентированные.
Таким образом, становится актуальной задача разработки новой технологии построения ИС, позволяющей устранить вышеуказанные трудности и ограничения путем автоматизированного формирования базы знаний для конкретной предметной области на основе распределенного сетевого ввода данных.
Решение данной задачи возможно за счет использования в качестве системы представления знаний в ИС моделей искусственных нейронных сетей (ИНС). Применение таких моделей позволит обеспечить автоматизированное формирование развивающейся (по мере поступления информации от источников) системы представления знаний, отличающейся высокой степенью адаптируемости к эмпирическим данным и существенной гибкостью за счет алгоритмов выбора начальной структуры ИНС и ее модификации.
Поскольку формирование развивающейся системы представления знаний ИС предполагает ее совершенствование на основе постоянно поступающих новых данных от распределенных терминалов, в качестве одного из главных условий реализации данного класса ИС является разработка системы сетевого доступа, позволяющей обеспечить передачу информации, а также управление информационными системами посредством веб-интерфейса.
Также возможно использовать удаленный доступ для реализации механизма поэтапного формирования базы знаний информационных систем с использованием параллельных вычислений на удаленном вычислительном кластере.
Преимуществами предлагаемых способов решения задачи разработки технологии построения ИС являются: отсутствие пространственных ограничений по взаимному расположению источников данных, самой информационной системы и ее пользователей; независимость процедуры формирования базы знаний от области использования информационной системы; автоматизированная генерация знаний; повышение производительности технологического процесса построения информационных систем.
Целью данной работы является проектирование автоматизированной технологии построения распределенных систем принятия решений с использованием технологии БааБ и интеллектуальным ядром, базирующимся на аппарате ИНС, и ее реализация в виде программного комплекса.
Обзор рынка информационных и экспертных систем. В настоящее время на внутреннем и внешнем рынках ИС преобладают в основном уже готовые программные решения, разработанные под конкретные условия производственных задач, или же пустые экспертные системы, требующие заполнения путем интеграции с какой-либо моделью базы знаний (искусственной логики) и эмпирическими данными.
Представителей программных продуктов данного класса систем характеризует трудоемкость разработки структуры и наполнения базы знаний, довольно большой ценовой диапазон за единицу продукции (от 1000
3355
до 100000 и выше долл. США), жесткая локализация по областям применения.
Для анализа предполагаемого положения разрабатываемого программного продукта было рассмотрено большое число его потенциальных конкурентов. Ниже приводится описание и сравнение программных продуктов, которые являются типичными представителями внешнего рынка информационных систем.
1. Компания Haley Corporation (http://www.ha-ley.com/) представляет на внешнем рынке программный продукт ActiveAgentX, который может применяться в системах поддержки принятия решений, содержащих правила, которые могут быть автоматически получены по корпоративным сетям при использовании WEB-браузеров Microsoft Windows. ActiveAgentX может быть также встроен внутрь Java аплетов, которые используются браузером Microsoft Internet Explorer, или автономно, как прикладная программа Java, написанная на языке Microsoft Java или Visual J+ + . При использовании в сети WWW ActiveAgentX предоставляет средства создания экспертных систем, которые используют интерактивные средства представления интеллектуальной информации на машинах клиента или в Web-браузерах. Стоимость разработки экспертной системы с помощью данного продукта колеблется от 25 до 100 тыс. долл. в зависимости от сложности проблемы, в то время как стоимость аналогичной разработки в нашем случае будет составлять 80-100 тыс. руб. Функциональные преимущества предлагаемых в данном проекте программно-технических решений, такие как использование нейросетевого конструктора базы знаний, позволяющего в лучшей степени адаптировать интеллектуальное ядро к предметной области и эмпирическим данным; параллельные алгоритмы обучения, позволяют дополнительно существенно снизить временные и трудовые затраты на разработку информационных систем.
2. Компания Acquired Intelligence (http://www.ai-inc.ca/) специализируется на разработке вебприложений на основе баз знаний в области финансового управления. Некоторые из приложений были проданы в Великобритании (средняя цена 24000 долл. США): программы беспроводного тестирования и система интерпретации результатов для медицины. Необходимо отметить, что данные приложения имеют существенное ограничение по области применения и не могут быть прямыми конкурентами продукту, предлагаемому в данной работе.
3. Компания Angoss (http://www.angoss.com)
предоставляет на рынок свой программный продукт ANGOSS KNOWLEDGE SEEKER. Это инструмент, основанный на данных, которые могут использоваться для получения базы знаний, состоящей из правил, связанных с базой данных причинно-следственными связями. Данный продукт может стать потенциальным конкурентом нашей продукции по ценовым характеристикам (его стоимость всего 899 долл. США), но по функциональным возможностям разрабатываемый нами продукт имеет значительный приоритет. ANGOSS KNOWLEDGE SEEKER представляет собой простую оболочку, позволяющую создавать экспертные системы с ограниченным числом правил (несколько сотен правил). Данный продукт основан на довольно простом и широко распространенном механизме наполнения базы знаний жестко ограниченными продукционными правилами, что значительно сужает его диапазон использования. Также данная компания (Angoss) пред-
ставлена на внешнем рынке программным продуктом KnowledgeSTUDIO. Из описания, представленного на официальном сайте компании, следует, что этот продукт является инструментом интеллектуального анализа данных и прогностической аналитики на всех этапах развития модели и развертывания цикла - профилирование, исследование, моделирование, внедрение, проверка, контроль и строительство системы показателей. KnowledgeSTUDIO широко используется для прогнозирования, маркетинга, продаж и аналитики, предоставляя бизнес-пользователям и аналитикам возможности масштабирования и решения задач интеллектуального анализа данных. Данная разработка в основном ориентирована на бизнес-прогнозирование, и перенос ее в другую область использования практически невозможен. Также, в отличие от разрабатываемого программного продукта, она ориентирована на локальное использование и исключает обеспечение удаленного доступа к ней. Стоимость данного продукта составляет 4485 долл. США, что лишь в незначительной степени соответствует его функциональным возможностям.
4. Прочие: Компания CAM Software, предлагающая два инструмента для создания экспертных систем: DClass и LogicTree. Система DClass - использующее дерево решений COMDALE/C, COMDALE/X и ProcessVision. COMDALE/C - экспертная система реального времени, предназначенная для наблюдения и контроля над процессами в условиях производства. C -PRS - процедурно-ориентированная система рассуждений, написанная на языке C, реализует процедурное представление знаний. CPR CPR - прикладная система, основанная на правилах, содержит библиотеку классов C++ и CPR - службу поддержки клиентов и прикладную программу, основанную на знаниях, которая использует CPR. CxPERT - оболочка экспертной системы, которая генерирует машинный код с языка С. FLEX - гибридная экспертная система, работающая на различных платформах. Система предлагает фреймовое, процедурное и продукционное представление знаний. GURU - оболочка экспертной системы, в которой предлагается широкое разнообразие инструментальных средств обработки информации. Данные экспертные системы весьма дороги: типичная экспертная система разрабатывается от 3 месяцев до 1 года, коммерческая стоимость от 25 до 100 тыс. долл.; сложная экспертная система разрабатывается 3-5 лет, коммерческая стоимость от 50 до 1 млн долл. США.
В России как такового внутреннего рынка ИС не существует. Имеются российские разработки в данной области, но это в основном продукты, разработанные для конкретной задачи, под конкретный технологический процесс. То есть эти разработки не являются объектами массовых продаж и в настоящее время не могут конкурировать с разрабатываемым программным продуктом.
В России имеются разработки в области интеллектуальных систем, предназначенные для образовательной сферы, однако на их базе не создавалось коммерческих программных продуктов. Сферы использования таких систем являются ограниченными, а перенос в другие предметные области без существенной переделки невозможен.
Среди коммерческих программных продуктов выделяются т. н. информационные системы в области юриспруденции, строительства и др., которые, по сути, представляют собой базы данных.
3356
Проанализировав ситуацию на внутреннем и внешнем рынках экспертных систем, можно сделать вывод о том, что прямых аналогов разрабатываемого программного продукта в настоящее время не представлено, и, следовательно, имеется значительный потенциал для успешной коммерциализации и получения прибыли от реализации разрабатываемого программного продукта [1-3].
ОБЩЕЕ ОПИСАНИЕ
Биологическая предпосылка выбора искусственных нейронных сетей в качестве интеллектуального ядра информационной системы. Выбор аппарата ИНС в качестве интеллектуального ядра обусловлен способностью к обучению и генерализации (обобщению) накопленных знаний. Натренированная на ограниченном множестве данных сеть способна обобщать полученную информацию и показывать хорошие прогностические способности на данных, не использовавшихся в процессе обучения [4].
Предлагаемый здесь подход является бионическим, т. е. в определенной степени воспроизводит процессы формирования и использования интеллектуального ядра биологических объектов.
В обшцх чертах процесс накопления знаний и их использование биологическими объектами выглядит следующим образом. При рождении биологического объекта имеет место некоторая априорная натренированность его интеллектуального ядра, в качестве которого выступает обученность нейронной системы. Такая предварительная натренированность ассоциируется с системой врожденных безусловных рефлексов. В процессе жизни биологический объект получает информацию из окружающего мира и с помощью эксперта, в качестве которого обычно выступает его мать, осуществляет ее классификацию и «привязку» к ранее накопленной информации. Начиная с некоторого уровня обученности, такой объект сам может анализировать и классифицировать поступающую информацию, создавать новую систему связей внутри интеллектуального ядра, а также использовать накопленную информацию при принятии решений, прогнозировании и т. д. [1].
В процессе построения интеллектуальной модели объекта происходит выявление взаимосвязей и зависимостей между входными параметрами объекта и соответствующими выходными состояниями. Построенная модель определяет выходное состояние объекта по вновь поступающим входным данным. На основе определенного выходного состояния происходит классификация поступившей информации [2].
Пользовательская подсистема. Пользовательская подсистема (UserInteractor), реализующая модель SaaS, состоит из набора РНР-скриптов, взаимодействующих с пользователем, и компонента, взаимодействующего с управляющей подсистемой. Назначение подсистемы -накопление, хранение и предоставление информации об объекте, а также обеспечение интерфейса для конечного пользователя.
Подсистема поддерживает три уровня доступа -пользователя, оператора (эксперта в предметной области) и администратора (эксперта в области ИНС). Каждому уровню соответствует определенный набор полномочий и функциональных возможностей. Уровню администратора соответствуют полномочия управле-
ния пользователями и настройки ИНС. Уровень оператора наделен возможностями управления объектом. Пользовательский уровень дает возможность вносить информацию о параметрах объекта и получать результат по внесенным данным.
Конкретная задача, рассматриваемая в заданной предметной области, называется в разрабатываемой системе объектом. Объект системы определяется набором совокупностей входных параметров с соответствующими выходными состояниями. Создание объекта доступно для пользователя с полномочиями оператора. В результате создания определяются такие его характеристики, как:
- количество входных параметров;
- входные параметры, по которым впоследствии будет проводиться анализ;
- предполагаемые выходные состояния.
Накопление информации об объекте может осуществляться двумя способами.
Первый способ осуществляется с участием пользователя и оператора. При этом пользователь, зарегистрированный в системе, вносит параметрические данные объекта, которые сохраняются в базе данных. Затем оператор, анализируя совокупность входных данных, введенных ранее пользователем, определяет соответствующее выходное состояние объекта. Таким образом, полученные знания накапливаются в базе данных, формируя базу знаний об объекте. Информация, хранящаяся в базе знаний, образует классы, определенные в соответствии с выходными состояниями объекта.
Второй способ происходит без участия пользователя. Здесь оператор, имея набор совокупностей входных данных об объекте, может загружать его в систему. Набор может быть уже проанализированным или впоследствии оценен экспертом [2].
Бизнес-методы. Бизнес-методы, реализующие
описанную выше технологию, могут быть разделены на несколько групп:
- установка моделируемого объекта;
- добавление новой строки обучающей выборки;
- построение ИНС-модели;
- обновление (дообучение) ИНС-модели;
- вычисление выходных данных модели от входных.
Развернутый список бизнес-методов выглядит следующим образом:
- добавление нового пользователя - вносятся ФИО, логин, пароль, город, электронная почта и права доступа (пользователь или оператор);
- изменение прав доступа пользователя;
- удаление пользователя;
- вывод списка пользователей;
- добавление нового объекта исследования - вносятся название, описание, тип ИНС, задается количество входных и выходных параметров и их названия;
- редактирование объекта исследования - могут изменяться название, описание, тип ИНС, задается количество входных и выходных параметров и их названия;
- ввод новой строки обучающей выборки (входные и выходные данные);
- ввод новой строки входной обучающей выборки;
- приведение в соответствие входной строки обучающей выборки выходной;
3357
- вывод списка объектов исследования конкретного оператора;
- проведение экспертизы - вводятся входные параметры и номер объекта, выдаются значения выходных параметров;
- начало построения ИНС-модели для объекта.
АРХИТЕКТУРА КОМПЛЕКСА
Обобщенная архитектура. Программный комплекс состоит из 6 подсистем:
1) Manager - подсистема управления;
2) ANN-Builder - подсистема построения ИНС-модели;
3) ANN-Executor - подсистема эксплуатации ИНС-модели;
4) DB - подсистема хранения информации (база данных);
5) User-Mediator - подсистема взаимодействия с пользователями;
6) Logger - подсистема сбора логов (рис. 1).
Рис. 1. Диаграмма подсистем Комплекса
Рис. 2. Диаграмма развертывания Комплекса 3358
Формат CrVF. Для взаимодействия компонентов комплекса используются сообщения, передаваемые в формате CrVF (CreoVector Foramt). Сообщения, передаваемые между компонентами системы и интерфейсной частью, состоят из конфиг-слов, разделенных символом «;» (рис. 2). Каждое такое конфиг-слово представляет собой пару ключ-значение (key=value). Значение конфиг-слова может само являться конфиг-словом, в этом случае служебные символы («=» и «;») экранируются.
Например, параметры запуска компоненты DBInteractor представляют собой набор конфиг-слов:
db =host\ =127.0.0.1 \;port\ =5432\;login \ =start\;passwo rd\ =Rjj0Hvbel\;dbname\=start;
port=3428
Как можно видеть, здесь значение конфиг-слова с ключем db представляет собой набор конфиг-слов (host, port, login, password, dbname). Поскольку они содержатся в значении конфиг-слова, то служебные символы экранируются.
Объекты. Базовыми сущностями комплекса являются приведенные ниже объекты:
1. пользователь (User) содержит следующие поля:
а) логин (login);
б) имя (firstname);
в) отчество (middlename);
г) хеш-пароля (password);
д) город (town);
е) права доступа (access), которые могут быть нескольких видов:
- простой пользователь (user);
- эксперт в предметной области/оператор (operator),
- эксперт в области ИНС/администратор (administrator);
2. моделируемый объект (Object), который содержит следующие поля:
- имя (name);
- описание (description);
- тип;
- входные параметры (input parameters);
- выходные параметры (output parameters);
- количество данных, необходимых для начального обучения (data count);
3. ИНС-модель (ANN-model):
- структура (structure);
- моделируемый объект (object).
Рис. 3. Диаграмма компонентов подсистемы UserMediator
КОМПОНЕНТЫ И ПОДСИС ТЕМЫ КОМПЛЕКСА
Как показано на рис. 1, Комплекс состоит из нескольких подсистем:
1) Manager - подсистема управления;
2) ANN-Builder - подсистема построения ИНС-модели;
3) ANN-Executor - подсистема эксплуатации ИНС-модели;
4) DB - подсистема хранения информации (база данных);
5) User-Mediator - подсистема взаимодействия с пользователями;
6) Logger - подсистема сбора логов.
Ниже приводится подробное описание каждой из подсистем.
UserMediator. Подсистема UserMediator представляет собой совокупность двух серверов (рис. 3), первый из которых (UMUsers) предназначен для подключения пользователей из локальной или глобальной сети. В качестве сервера используется Web-сервер Apache, а в качестве протокола - HTTP. Второй сервер (UMComplex) предназначен для подключения Комплекса, а в качестве протокола используется EXSP.
Компонент UMUsers предназначен для взаимодействия с пользователями. Поскольку для взаимодействия используется протокол HTTP, то пользователям для работы комплекса необходим только Web-браузер (Opera, Mozilla Firefox, Google Chrome, Safary или Konqueror). Интерфейс реализован на языке PHP, для создания экранов используются шаблоны Smarty.
Для взаимодействия с каждым пользователем создается отдельный поток, таким образом, множество пользователей может работать с Комплексом одновременно. При подключении нового пользователя UMUsers устанавливает соединение (новое) с UMComplex и передает ему запрос пользователя. При этом запрос конвертируется из формата HTTP в EXSP. Получив ответ от UMComplex UMUsers, преобразует его из формата EXSP в HTTP.
Компонент UMComplex (UMServer) предназначен для взаимодействия между компонентом UMUsers и остальными компонентами Комплекса. Подключаясь к нему, UMUsers и Manager посылают свой идентификатор. При пересылке запроса, поступившего от UMUsers, UMComplex добавляет в него идентификатор пользователя.
3359
Это необходимо, т. к. UMComplex имеет множество подключений UMUsers, но только одно подключение Manager (Комплекса).
Компонент UserMediator при запуске получает в качестве параметров ip-адрес и порт, который прослушивается сервером Manager. Запустившись, UserMediator устанавливает соединение с Manager. При этом отдельный поток выделяется для ожидания сообщений, поступающих с этого сервера.
Среди пользовательских экранов можно выделить следующие:
1) авторизация (auth);
2) добавление нового пользователя (addUser) -вносятся ФИО, логин, пароль, город, электронная почта и права доступа (пользователь или оператор);
3) вывод списка пользователей (getUsers);
4) вывод информации о конкретном пользователе (getUser);
5) добавление нового объекта исследования (addObject) - вносятся название, описание, тип ИНС, задается количество входных и выходных параметров и их названия;
6) редактирование объекта исследования (editObject) - могут изменяться название, описание, тип ИНС, задается количество входных и выходных параметров и их названия;
7) ввод новой строки обучающей выборки (входные и выходные данные) (addPatternRow);
8) ввод новой строки входной обучающей выборки (addInputPatternRow);
9) приведение в соответствие входной строки обучающей выборки выходной (addOutputPatternRow);
10) вывод списка объектов исследования конкретного пользователя (getUserObjects).
ANNBuilder. Данная подсистема предназначена для построения ИНС-модели. Она размещается на кластерной системе и состоит из двух компонентов - UNS и UNSS. Первый из них представляет собой нейросетевой симулятор и располагается на вычислительных узлах кластерной системы, а второй - сервер симуляторов -размещается на мастер-узле кластерной системы. Оба компонента реализованы на языке C++.
Нейросетевой симулятор, размещаемый на вычислительных узлах кластерной системы, представляет собой программу с распределенной памятью и запускается через систему запуска вычислительного кластера (в случае вычислительного кластера Тамбовского государственного университета им. Г.Р. Державина это PBS). В зависимости от количества имеющихся вычислительных узлов и требуемых процессоров может одновременно выполняться один или несколько экземпляров UNS (имеется в виду одна или несколько совокупностей программ).
Сервер симуляторов, размещаемый на мастер-узле (сервере) кластерной системы, предназначен для осуществления взаимодействия между UNS и Manager. При необходимости построения ИНС-модели UNSS формирует задание (PBS или иное в зависимости от архитектуры вычислительного кластера) и запускает UNS. Поскольку количество одновременно работающих UNS ограничено аппаратными ресурсами (количество вычислительных узлов) кластерной системы, то UNSS ставит задачи в очередь и при освобождении ресурсов запускает их.
Подсистема хранения данных Данная подсистема состоит из двух компонентов - DBMediator, который предназначен для осуществления взаимодействия между базой данных и Manager, и СУБД. Система предназначена для хранения данных (виды хранимой информации приведены ниже).
Компонент DBInteractor предназначен для преобразования запросов из формата комплекса EXSP в SQL. Для хранения данных используется СУБД PostgreeSQL, поэтому для взаимодействия с базой данных использована библиотека postgres. Компонент написан на языке С++.
Среди хранимой информации можно выделить:
- параметры моделируемых объектов (отвечающие за структуру объекта);
- обучающую выборку;
- структуры ИНС;
- пользователя Комплекса;
- экспертизу (данные эксплуатации модели).
ANNExecuter. Подсистема ANNExecuter предназначена для выполнения экспертиз (вычисления выходных значений ИНС-модели от вектора входных). Установивший с ней соединение Manager передает структуру ИНС-модели и вектор входных данных. Подсистема состоит из одного компонента, который реализован на языке C++.
Logger. Данная подсистема, состоящая из одного компонента, предназначена для логизации обмена информацией. Manager дублирует все посылаемые и получаемые сообщения в данную подсистему. Logger все получаемые сообщения посылает в DB для сохранения в базу данных, откуда они могут быть прочитаны. Компонент реализован на языке C++.
Manager. Данная подсистема представляет собой центральный компонент Комплекса и компоненты передачи данных, которые необходимы в случае размещения прочих подсистем на узлах, к которым нет прямого доступа. Все компоненты реализованы на языке C++.
После запуска Manager устанавливает соединение с UserMediator, DB, ANNExecuter и ANNBuilder. В зависимости от запросов, поступающих с UserMediator, он строит или использует ИНС-модель.
РАЗРАБОТКА КОМПЛЕКСА
Порядок разработки комплекса был выбран следующим:
1) разработка протокола EXSP;
2) реализация функций протокола EXSP;
3) разработка основных объектов;
4) реализация функций основных объектов;
5) разработка компонента UserMediator;
6) реализация функций, составляющих компонент UserMediator;
7) разработка компонента DBMediator;
8) реализация функций, составляющих компонент DBMediator;
9) разработка компонента ANNExecuter;
10) реализация функций, составляющих компонент ANNExecuter;
11) разработка компонента ANNBuilder;
12) реализация функций сервера ANNBuilder;
13) реализация функций, составляющих компонент ANNBuilder;
14) разработка компонента Manager;
15) реализация функций, составляющих компонент Manager.
ПАРАЛЛЕЛЬНЫЕ АЛГОРИТМЫ ПОСТРОЕНИЯ ИНС-МОДЕЛИ
Распараллеливание на уровне вычисления значения целевой функции. При обучении сети вычисление выходных сигналов требуется для их сравнения с выходными данными из обучающей выборки, которое в свою очередь необходимо для вычисления погрешности (3). Поскольку обучающая выборка, как правило, состоит из нескольких сотен строк данных, а количество процессоров не превышает нескольких десятков, можно равномерно распределить строки обучающей выборки по процессорам с тем, чтобы после передачи с управляющего узла структуры сети все процессоры одновременно вычисляли выходные сигналы, сравнивали их со значениями из обучающей выборки и передавали обратно на ведущий процессор лишь значение погрешности. Процессор управляющего узла суммирует эти погрешности и получает, таким образом, результат - значение целевой функции. При необходимости вычислить эту функцию управляющий узел рассылает на все узлы структуру нейронной сети и получает от них погрешность, полученную на той части обучающей выборки, которая была передана на этот вычислительный узел. Время, затрачиваемое на вычисления значения целевой функции, можно определить как
(1)
где ґ - время, необходимое для вычисления значения целевой функции последовательным алгоритмом; п -количество используемых процессоров; П - время межпроцессорной передачи данных; у - время, необходимое на подготовку данных; и - время ожидания одних вычислительных узлов другими; у - неучтенные временные затраты.
Как можно видеть, параллельное вычисление целевой функции с использованием п процессоров оказывается почти в п раз быстрее последовательного, а поскольку вычисление такой функции занимает больше половины времени обучения сети, то этот способ значительно уменьшает временные затраты на обучение. Он применим к сети любой архитектуры, количество обучающих выборок, как правило, на порядок больше количества процессоров, что позволяет равномерно распределять их (так, что величина у стремится к нулю) [6, 7].
Метод полного сканирования. Как известно, алгоритм полного сканирования работает следующим образом: поскольку весовые коэффициенты обычно задаются в ограниченном интервале [/0;іі] (как правило, I = — і, і = 1), то вначале происходит инициализация всех весов минимальным значением, а на следующих
итерациях необходимо последовательно изменять веса так, чтобы они менялись, как показано ниже:
w (/о ,lo ,lo ,...,1о ,lo ) w = (/о ,lo ,lo ,..,1о ,lo +s) w = (/о ,l0 ,l0 ,...,/0 ,lo + 2s )
w
(/0 ,l0 ,l0 ,.., l0 ,l1 - s ) w = (/o ,lo ,lo ,.., l0 ,l1)
(/0 ,l0 ,l0 ,.., l0 + s,l0 )
w=
w = (lo ,l0 ,l0 ,...,/0 +s,lo +s)
м = (ірірір...,^,^ — 5) м = (іі ,11,11 ,...,11,11),
где 5 - заданный шаг. То есть происходит полный перебор всех возможных комбинаций весовых коэффициентов.
После вычисления значения целевой функции при существующей конфигурации значение последнего весового коэффициента увеличивается на величину шага, и снова происходит вычисление значения целевой функции. После того как значение последнего весового коэффициента достигнет верхнего предела, предпоследний коэффициент увеличивается на величину шага, а последний устанавливается минимальным пределом и т. д. После того как значения всех весовых коэффициентов будут установлены верхним пределом, перебор заканчивается. Таким образом, происходит полный перебор всех возможных комбинаций значений весовых коэффициентов.
Этот способ, с одной стороны, является довольно надежным, а с другой - очень медленным. Количество итераций можно вычислить по формуле:
h-k +1Vw
(2)
где ¡„ - количество весовых коэффициентов; 5 - величина приращения весового коэффициента.
Параллельное выполнение этого метода заключается в том, что для каждого процессора первый весовой коэффициент является заданной константой (на первом процессоре w0 =¡0 , на втором w0 =10 + 5 и т. д.), а остальные подбираются обычным способом. Следовательно, для оптимальной работы такого способа количество используемых процессоров должно целочис-
ленно делиться на величину щ =
l-l
+1 , опреде-
ляющую количество весовых коэффициентов, неизменяемых на вычислительных узлах, т. к. в противном случае вычислительные узлы получают неравномерную нагрузку. После того как все процессоры переберут возможные варианты и каждый из них выберет оптимальную структуру и погрешность при этой структуре, эти результаты передаются ведущему процессору, который сравнивает значения невязки и выби-
т
s
s
рает наименьшее, соответствующее оптимальной структуре.
Надо заметить, что этот способ распараллеливания минимизирует передачу данных между вычислительными узлами: данные передаются всего лишь два раза -перед началом обучения и после. Следовательно, этот способ должен показать наилучшие результаты при невысокой скорости передачи данных [8, 9].
Метод Монте-Карло. Алгоритм подбора весовых коэффициентов Монте-Карло основан на генерации случайных чисел. Вначале весовые коэффициенты инициализируются случайным образом, а затем происходит последовательное их уточнение. Происходит это следующим образом: генерируется случайное число, вычисляется новое значение весового коэффициента
Ж = Ж + Аж і — і
і = 0,1,2,.., -—— + 1 5
Аж = 5Г,
(3)
где г - сгенерированное случайным образом число (в диапазоне [-1; 1]); 5 - величина максимального приращения весового коэффициента.
После этого вычисляется значение погрешности при новом значении весового коэффициента, и если погрешность меньше текущей, то весовой коэффициент не меняется, в противном случае, он возвращается к предыдущему состоянию
Ж = Ж — Аж і — і
і = 0Л,2,.,іі—0 + 1.
(4)
Таким образом, на каждой итерации происходит уточнение всех весовых коэффициентов. Подбор завершается, когда будет выполнено условие остановки (достигнута заданная погрешность, пройдено определенное количество итераций и т. д.).
Модификация метода заключается в том, что для каждого веса генерируется не одно, а п случайных чисел г = (гоГгп-\), в^1числяется щ,=
и е(м о)е(ж \)’-.’е^^ш-\) , а затем выбирается минимальный е(щ), и если это значение меньше предыдущего значения целевой функции, то соответствующий ему становится новым значением весового коэффициента. Каждый процессор независимо генерирует г, вычисляет и е(щ) и посылает их на ведущий. Ведущий процессор сравнивает е(щ) их, в зависимости от результата устанавливает новое значение и посылает его на все узлы [10].
Градиентный метод. Градиентный метод вычисления значения целевой функции лежит в основе многих других очень распространенных методов. Суть его заключается в вычислении вектора градиента и изменении весовых коэффициентов в направлении антиградиента.
дг
дж
дг(ж0) дг(ж) дг(ж2) дг1 ж.. —1
у0/ ^\"2)
дж0 дж1 дж2
дж
і —1
м*
(5)
і — і
і = олх.,і±—°-+1,
дг(Ж) =
_ г(Ж + АЖ) — г(Ж)
Аж_. Аж.
(6)
і — і
і = 0,1,2,-.і— +1.
5
Следовательно, для нахождения Зе(щ) необходимо вычислить значение целевой функции при текущем значении весовых коэффициентов, затем при измененном м = щ + Дм.. После вычисления вектора градиента происходит изменение весовых коэффициентов
ж = ж — 5
дг(ж) і = +1.
дж
(7)
Как можно заметить, одно из главных отличий этого метода от метода Монте-Карло заключается в том, что для вычисления нового значения одного из весовых коэффициентов используются значения остальных весовых коэффициентов, которые были на предыдущей итерации. Исходя из этого, можно сделать вывод, что элементы вектора градиентов могут быть вычислены одновременно, следовательно, этот вектор можно разделить на п частей, каждая из которых вычисляется на отдельном процессоре (для этого процессору необходимо лишь передать текущие значения весовых коэффициентов). После окончания вычисления процессоры не возвращают полученные результаты на ведущий, а изменяют значения приписанных к ним весовых коэффициентов, а уже после этого возвращают результат (новые весовые коэффициенты).
Таким образом, для каждой итерации происходят только две передачи данных - всех весовых коэффициентов на все процессоры и части со всех узлов на ведущий [11].
Распараллеливание на уровне подбора структуры сети. Алгоритм распараллеливания на данном уровне заключается в том, что на каждый вычислительный узел подается своя структура, в которой силами этого процессора производится подбор нейронов и весовых коэффициентов, а затем эта структура посылается снова на ведущий процессор, который анализирует результат и передает вычислительному узлу новую структуру. Таким образом, передача данных получается асинхронной [12].
ЗАКЛЮЧЕНИЕ
В рамках данной работы разработана автоматизированная технология построения распределенных систем принятия решений с использованием технологии SaaS и интеллектуальным ядром, базирующимся на аппарате ИНС, и ее реализация в виде программного комплекса.
5
5
5
3362
ЛИТЕРАТУРА
1. Рыбина Г.В. Интегрированные экспертные системы: современное состояние, проблемы и тенденции // Известия РАН. Теория и системы управления. 2002. № 5. С. 111-126.
2. Рыбина Г.В. Автоматизированное рабочее место для построения
интегрированных экспертных систем: комплекс АТ-ТЕХНО-
ЛОГИЯ // Новости искусственного интеллекта. 2005. № 3. С. 6987.
3. Рыбина Г.В. Введение в интеллектуальные системы: учеб. пособие. М.: МИФИ, 2006. 140 с.
4. Арзамасцев А.А., Зенкова Н.А. Использование аппарата искусственных нейронных сетей для идентификации свойств личности в учебном процессе // Открытое образование. 2004. № 4. С. 61 -64.
5. Арзамасцев А.А., Зенкова Н.А., Крючин О.В., Квашенкин Д.О., Неудахин А.В. Автоматизированная технология и программнотехнологический комплекс для построения экспертных систем с интеллектуальным ядром, основанным на нейросетевых моделях, поддержкой распределенного ввода данных и параллельных вычислений // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2012. Т. 17. Вып. 3. С. 948-978.
6. Крючин О.В. Параллельные алгоритмы обучения искусственных нейронных сетей. // Материалы 15 междунар. конф. по нейрокибернетике. Т. 2. Симпозиум «Интерфейс ''Мозг-Компьютер''», 3 Симпозиум по нейроинформатике и нейрокомпьютерам. Ростов н/Д: Изд-во ЮСУ, 2009. C. 93-97.
7. Крючин О.В. Использование кластерных систем для обучения искусственных нейронных сетей при применении параллельного вычисления значения невязки // Наука и образование в развитии промышленной, социальной и экономической сфер регионов России: 2 Всероссийские научные Зворыкинские чтения. Сб. тез. докладов 2 Всерос. межвуз. науч. конф. (Муром, 5 февраля 2010 г.). Муром: Издат.-полиграф. центр МИ ВлГУ 2010. 802 с., ил. 1 электрон. опт. диск (CD-ROM).
8. Крючин О.В., Арзамасцев А.А., Королев А.Н., Горбачев С.И., Семенов Н.О. Универсальный симулятор, базирующийся на технологии искусственных нейронных сетей, способный работать на параллельных машинах // Вестник Тамбовского университета. Серия Естественные и технические науки. Тамбов, 2008. Т. 13. Вып. 5. С. 372-375.
9. Крючин О.В., Арзамасцев А.А. Параллельный алгоритм полного сканирования минимизации функций // Информационные технологии, системный анализ и управление: 7 Всерос. науч. конф. молодых ученых, аспирантов и студентов. Таганрог: Таганрог технолог ин-т ЮФУ 2009. С. 270-272.
10. Крючин О.В. Параллельные алгоритмы обучения искусственных нейронных сетей с использованием градиентных методов // Актуальные вопросы современной науки, техники и технологий: материалы 2 Всерос. науч.-практ. (заочной) конф. М.: Издат.-полиграф. комплекс НИИРРР, 2010. С. 81-86.
11. Крючин О.В. Разработка параллельных градиентных алгоритмов обучения искусственной нейронной сети // Электронный журнал «Исследовано в России». 2009. № 096. С. 1208-1221. ИКЬ: http://zhurnal.ape.relarn.ru/articles/2009/096.pdf, свободный. Загл. с экрана.
12. Крючин О.В. Подбор архитектуры искусственных нейронных сетей с использованием кластерных систем // Электронный журнал «Исследовано в России». 2009. № 115. С. 1510-1523. "ЦКЬ: http://zhurnal.ape.relam.ru/articles/2009/115.pdf, свободный. Загл. с экрана.
Поступила в редакцию 28 октября 2013 г.
Kryuchin O.V., Arzamastsev A.A., Vyazovova E.V., Kva-shenkin D.O. CONSTRUCTION OF DEVELOPMENT OF AUTOMATED SYSTEMS DECISION TECHNOLOGY WITH INTELLIGENT KERNEL BASED ARTIFICIAL NEURAL NETWORKS
The technology developing the information and expert systems based on the artificial neural networks technology is described. The program complex implementing this technology is presented. The descriptions of the parallel algorithms making models building are given.
Key words: information systems; artificial neural networks; experts systems; parallel algorithms; program complex.
3363