УДК 004.4(06) Технологии разработки программных систем А.Г. ТРОФИМОВ, В.И. СКРУГИН Московский инженерно-физический институт (государственный университет) РАЗРАБОТКА ПРОГРАММНОЙ СИСТЕМЫ NEURODYNAMICA ДЛЯ НЕЙРОСЕТЕВОГО МОДЕЛИРОВАНИЯ ДИНАМИЧЕСКИХ ОБЪЕКТОВ Поставлена задача разработки нейроэмулятора для моделирования динамических объектов. Описываются архитектура и возможности программной системы. Приводятся примеры нейросетевых моделей, реализованных в рамках системы. Задачи моделирования динамических объектов возникают во многих разделах современной прикладной науки. Примерами таких задач могут служить прогнозирование энерговыделения в активной зоне реактора, предсказание изменений котировок акций компаний, построение модели движения робота по неровной поверхности и другие. Рассматриваемые динамические системы, как правило, являются нелинейными, причём характер нелинейности зачастую неизвестен. Для идентификации таких динамических объектов типа "чёрный ящик" может быть использован нейросетевой подход. Согласно [1], нейронные сети оказываются эффективными в решении ряда задач моделирования нелинейных динамических систем. Большинство из существующих нейроэмуляторов ориентировано на моделирование статических объектов [2], в то время как нейросетевому моделированию динамических объектов уделяется недостаточное внимание. Кроме того, решение ряда прикладных задач часто требует использования специальных методов обработки экспериментальных данных и анализа результатов моделирования, учитывающих специфику проблемной области. В связи с этим поставлена задача разработки системы нейросетевого моделирования динамических объектов NeuroDynamica. Программная система NeuroDynamica реализует специализированные архитектуры нейронных сетей. К подобным архитектурам относятся полносвязная рекуррентная сеть с линейным выходным слоем [3], NARX-нейросеть [4], сеть на основе NARX с параметризованными коэффициентами усиления в цепи обратной связи и пр. NeuroDynamica содержит следующие подсистемы: подсистема работы с данными (позволяет осуществлять пред- и пост- обработку данных), подсистема моделирования и обучения нейросетевых моделей, подсистема визуализации данных. Программа реализует пользовательский интерISBN 978-5-7262-0883-1. НАУЧНАЯ СЕССИЯ МИФИ-2008. Том 11 109 УДК 004.4(06) Технологии разработки программных систем фейс и имеет расширяемую архитектуру, которая позволяет добавлять новые типы нейросетевых архитектур, алгоритмы их обучения, форматы сериализации и функции преобразования данных. Для описания динамических процессов в программе NeuroDynamica введён специальный формат представления данных: вектор-процесс. Вектор-процесс содержит информацию о совокупности измерений входов и выходов моделируемого объекта и соответствующих моментах времени. Подсистема работы с данными позволяет осуществлять пред- и пост- обработку данных, представленных в формате вектор-процессов. В рамках подсистемы реализованы функции масштабирования, регуляризации, алгоритмы фильтрации от шумов и др. Архитектура программы поддерживает расширение подсистемы работы с данными за счёт введения новых типов преобразований. Разработка программной системы NeuroDynamica проводится на языке C++ с применением исключительно кроссплатформенных библиотек, вследствие чего может быть скомпилирована для работы под управлением систем серии Windows, Linux и Mac OS. Для реализации NeuroDynamica используются библиотеки STL, Boost, Qt, среда разработки MSVS8 (Microsoft Visual Studio 2005) и компонент интеграции Qt для MSVS8. Список литературы 1. Хайкин С. Нейронные сети: полный курс. – М.: Издательский дом "Вильямс", 2006. 2. Круглов В. В., Борисов В. В. Искусственные Нейронные Сети. Теория и практика. М.: Горячая линия – Телеком, 2002. 3. Осовский С. Нейронные сети для обработки информации. – М.: Финансы и статистика, 2002. 4. Siegelmann T. Computational capabilities of recurrent NARX neural networks. Technical Report UMIACS-TR-95-12 Computer Studies University of Maryland, 1995. ISBN 978-5-7262-0883-1. НАУЧНАЯ СЕССИЯ МИФИ-2008. Том 11 110