ИНФОРМАЦИОННЫЕ ТЕХНОЛОГИИ
удк004.67 А.С. ГРЯЗНОВ
А.Е. ТУЙМАН
Омский государственный технический университет
АНАЛИЗ СОВРЕМЕННЫХ
НЕЙРОИМИТАТОРОВ
ДЛЯ РЕШЕНИЯ ЗАДАЧ ИДЕНТИФИКАЦИИ
И ПРОГНОЗИРОВАНИЯ_
В работе проведён анализ существующего нейросетевого программного обеспечения по нескольким критериям. По данным критериям составлены рекомендации для разработки новой аналитической программы. Предложен новый модуль программного обеспечения, не встречающийся ранее в подобных разработках.
Введение
Для решения сложных неформализованных задач прогнозирования и классификации широко применяются искусственные нейронные сети |1,2). Несколько основных нейросетевых архитектур, таких как многослойные персептроиы, рекуррентные нейронные соти. самоорганизующиеся сети Кохонена. делают возможным решение широкого спектра задач, зачастую не решаемых классическими методами обработки данных В связи с этим за последние годы появилось множество различных нейроимитаров. Рост объёмов баз данных в технике, бизнесе, медицине, экологии и растущие требования к точности решения ставят новые требования перед нейроими« таторами.
Целыо данной статьи является всесторонний и максимально объективный анализ и сравнение существующего нейросетевого программного обеспечения, выявление сильных и слабых сторон того 1ь\и иного продукта для последующей разработки нового инструментария, который будет сочетать в себе самые сильные стороны уже существующих проектов и по возможности будет избавлен от самых явных недостатков.
В качестве основных объектов сравнения был»! взя ты следующие программы:
1. JOONE (Java Object Oriented Neural Engine) [4\;
2. MATLAB Neural Network Toolbox |7,8|;
3. Deductor Studio [6J;
4. Statistica Neural Networks (10);
атак же были взяты более простые программы:
5. NeuroOffice |9|:
6. Neurollerator [9);
7. NeuroPro (9|;
8. Mem Brain Neural Network Simulator (5);
9. SNNS iStuttgart Neural Network Simulator) |3|;
10. NeuroSolution |9|.
В качестве критериев для сравнения указанных выше программ были выбраны наиболее актуальные на наш взгляд, универсальность применяемых алгоритмов обработки данных, возможность импорта и экспорта данных различных форматов, кросс-плат-форменность, наличие нескольких алгоритмов обучения нейронных сетей, возможность использовать результат обработки данных независимо от среды моделирования, наглядность исходных и полученных данных (возможности визуализации), принцип распространения программы и возможность ее дальнейшей локализации, возможность выборочного редактирования параметров нейронной сети, а так же возможность использования программы для Web. Помимо этих рассматривались и другие параметры, такие как удобство использования, интуитивность интерфейса, скоростьпроведения расчётов, но в силу невозможности объективно сравнить эти параметры, эти критерии были опущены в статье.
По результатам сравнения была составлена таблица 1. отображающая основные рассмотренные параметры в наиболее доступном варианте - в виде плюсов и минусов. Следует также пояснить, что плюсом при сравнении принципов распространения программ является бесплатность программы, либо наличие демонстрационной версии программы с незначительными ограничениями в функционале. Например, программа Deductor имеет полностью функциональную версию Deductor Lite с ограничением анализируемого массива данных на 150 записей, что делает невозможным использовать ее в коммерческих целях, но позволяет использовать в учебно-о з на ком ител ьн ых целя х.
Рассмотрим критерии сравнения, но которым производился анализ программного обеспечения.
Универсальность применяемых алгоритмов обработки данных
Одним из главных недостатков рассматриваемых программ является их узконаправленность. Зачастую программы используют небольшое количество методов решения задач. В некоторых случаях используется только один алгоритм. Большим преимуществом было бы использование различных алгоритмов решения задач: нейронные сети прямого распространения, нейросети обратного и встречного распространения, генетические алгоритмы, OL.AP технологии, деревья решений, сети адаптивно резонансной теории, когнитроны и неокогнитроны, релаксационные и самоорганизующиеся нейронные сети и другие известные методики. Главным недостатком всех рассматриваемых программ является использование базовых моделей нейронных сетей, требующих тонкой настройки параметров, например, только нейронные сети прямого распространения, обучаемые обратным распространением ошибки.
Возможность импорта обрабатываемых данных
Важным фактором является то. каким способом будет задаваться массив обраба тываемых значений. Среди рассматриваемых программ встречается импорт данных из форматов Excel, JDBC, MS SOL, а так же обычный текстовый формат.
Возможность экспорта полученных данных. Данный пункт во многом пересекается с предыдущим. Используются форматы баз данных и более общие форматы, например. Excel, Word, XML, 11TML и т.д. Сохранённый результат можно просмотреть в виде массива данных в одном из редакторов, поддерживающих этот формат, и по необходимости внести новые изменения.
Кросс-платформенность программы
В связи с ужесточением борьбы на рынке легального программного обеспечения вопрос покупки операционной системы и среды разработки становится очень актуальным. Другой фактор состоит в том, что конечный пользователь может работать не только в среде MS Windows, но и в семействе Unix/ Linux или MacOS. Наиболее перспективным является среда программирования Java, а также библиотека Glk для языка С + +. И если в первом случае пользователь сразу получает работоспособную программу. то во втором необходимо осуществить пересборку дистрибутива, что, впрочем, не является серьёзным недостатком.
Широкий выбор алгоритмов обучения нейронных сетей. Одним из серьёзных недостатков во многих программах является небольшой выбор алгоритмов обучения [как правило, это обратное распространение ошибки), либо вообще не указывается, какой именно используется алгори тм. Достаточно использовать несколько различных алгоритмов, отвечающих требованиям по скорости и качеству обучения Многие нейропакеты по-прежнему ориентированы в основном на жёсткую схему «создание нейросети > обучение -> выдача прогноза-решения». Результаты, полученные при помощи нейросетей, желательно сравнить с результатами исследования другими методами (генетические алгоритмы, статистические методы и т.д.). Применение различных методов обработки данных позволит повысить точность решения задачи, устранить пробелы или неточности входных данных и т.д. Предполагаемая схема аналитической программы изображена на рисунке 1.
Автономность конечного результата Многие рассматриваемые программы могут использовать смоделированную нейросеть только в самой среде разработки. Важным преимуществом была бы возможность создавать в результате независимую программу (исполняемый файл и необходимые динамические библиотеки). Такой подход оправдан, если созданный проект будет
Помощник
пибора наилучшего истода
Рис. 1. Структурная схема пакета обрвОотки м прогни'.шрииоиня данных
Рсдлкюры методов или язык программирования
Таблицаt
Результат сравнительного анализа нейроимититороя
Критерии сравнения программного обеспечения Joone MATLAB Deductor Stalls-tica Neuro Office Neuro Iteia-lo: Neuro Pro Mem Bldill SNNS Neuro Solution
Универсальность применяемых алгоритмов обработки данных + - • +
Возможность импорта обрабатываемых данных + + i' + + ■ - T
Возможность экспорта полученных данных + + + + - - + • + +
Кросс-платформенность + • - +
Широкий выбор алгоритмов обучения нейронных сетей + + * + +
Автономность конечного результата + + • - - •
Наглядность предстаплени;: исходных данных + • + - • + + + +
Наглядность полученных данных + + + • + -I- +
Возможность локализации программы • - + -
Принцип распространения программы + + + + - + +
Возможности использования для Web + + - - + +
Возможность пыборо........ ' редактирования + + + + + +
! широко использоваться для каких-либо типовых расчетов. Редактор JOON Е может создавать программный код поддержки (необходимая инфраструктура, интерфейс пользователя). MATLAB позволяет генерировать переносимый С коде помощью Workshop, который в дальнейшем можно использовать в автономной программе.
Наглядность представления исходных данных
Другим важным фактором при разработке своего проекта, в какой либо из рассмотренных программ является визуализация исходных данных. Так, например, Deductor строит по каждому массиву графи к. JO О N ЕI гагляд!i о отображает обп;ую стру к -гуру И НС, но исходные данные можно просмотреть исключительно в виде таблицы.
Наглядность полученных данных
В результате работы полученные данные должны быть предс тавлены в удобной для восприятия форме. В первую очередь это должны быть различные графики. Также должна быть возможность просмотра результата в табличном виде. Этими свойствами обладают в первую очередь JQONE и Deductor. Во всех других программах возможностей для визуализации полученных результатов меньше либо они не так удобны. Такие богатые возможности позволяют лучше понимать и интерпретировать результаты расчётов, а также ускоряют время разработки конечного проекта благодаря своей интуитивности.
Возможность локализации программы
В случае если программа широко востребована пользователями, встаёт вопрос об адаптации её на какой-либо другой язык. Для этот необходимо хранить все названия меню, подписей кнопок и другую текстовую информацию в незашифрованном и легко доступном файле. Например, можно использовать формат XML или более простой текстовый формат (txt. mi, inf). Таким свойством из рассматриваемых L продуктов обладает только NeuroOifice. Для разра-¡1 ботчика это не вызовет затруднений, но для конеч-
ного пользователя, который будет регулярно выполнять расчёты, будет важно наличие удобного интерфейса и документации на родном языке.
Принцип распространения программы
Как упоминалось выше, начинающего разработчика может отпугнуть цена программного комплекса (большинство программ имеют высокую цену). Приемлемо создание бесплатной демонстрационной версии программы, которую можно будет использовать для ознакомления с алгоритмами. При разработке новой среды моделирования нами будет учитываться то, что Java — это свободно распространяемая платформа, а следовательно, можно сделать как свободно распространяемый продукт, так и платный.
Возможности использования для Web
За последние пять лет, наметилась тенденция по созданию Web-ориентированных приложений. Этому способствует борьба с нелегальным распространением программного обеспечения, заставившая многих разработчиков сменить операционную систему, появление доступных широкополосных каналов Интернет, развитие языков Java и JavaScript с помощью которых реализуется большинство Web-приложений. В результате стали появляться проекты доступные для использования online за повременную оплату. Во-первых, в этом случае нет проблемы распространения программного обеспечения, т.к. нейропакет находится только на сервере. Во-вторых, приложение кросс-платформенно и доступно всем желающим. В-третьих, на сайте можно выставлять прогнозы аналитиков, полученные при помощи web-нейроимитатора (как платно, так и бесплатно). В-четвёртых, на сайте вместе с нейроиакетом могут находиться различные конфигурации нейросетей, которые можно использовать для проведения своих исследований. Ближе всех существующих на данный момент нейроимитаторов к Web реализации — это JOONE и SNNS, т.к. написаны они на Java, а также Deductor. При разработке новой программы следует
учесть эту тенденцию и реализовать поддержку обработки запросов через Интернет.
Возможность выборочного редактировании
Одним из важных качеств рассматриваемых Продуктов является возможность редактирования отдельных параметров созданных нейронных сетей. Если в процессе или в конце создания модели нейронной сети изменяются требования или обнаруживается ошибка во внесенных параметрах, то должна быть возможность изменить заданные параметры, а не создавать проект заново.
Мы предлагаем новый инструмент для разрабатываемой аналитической системы: «Помощник выбора наилучшего метода». Необходимость в этом инструменте обусловлена сложностью выбора метода для анализа в зависимости от задачи, входных данных и других априорных параметров. Возможен также вариант, в котором «Помощник» будет предлагать пути улучшения существующих методов для решения текущей задачи. Данный компонент нейроимитатора на момент написания статьи не был обнаружен ни в одном из рассмотренных программных пакетов.
Заключение
Проанализировав рассмотренные программные пакеты, следует выделить Deductor и JOONE. Область применения Deductor лежит в плоскости аналитической обработки данных (в первую очередь прогнозирование}. Редактор JOONE используется, прежде всего, для проведения быстрых испытаний нескольких нейросетевых архитектур, а так же перед принятием решения, которое является лучшим для соответствующей разработки. Все остальные рассмотренные программные пакеты являются более узкоспециализированными, к примеру. NeuroOffice предназначен для анализа данных вереде MS Office.
В статье представлен взгляд авторов на необходимость создания нового аналитического программного обеспечения, использующего помимо нейросетевых алгоритмов другие методы обработки массивов данных. Новый программный пакет будет разрабатываться на языке программирования Java, что обеспечит новой разработке кросс-нлатфор-менность и возможность использования Web-
технологий. При разработке будет уделя ться особое внимание возможностям визуализации исходных данных и результатов их обработки. Также будет реализован импорт и экспорт данных различных форматов, что расширит круг потенциальных потребителей нового программного продукта. Важной составляющей частью разрабатываемого нами пакета будет "Помощник выбора наилучшего метода", т.к. он позволит полнее раскрыт! потенциал программы и упростить начальные этапы анализа данных и синтеза методов обработки. В настоящее время такой инструментарий не присутствует ни в одном из рассмотренных программных продуктов.
Библиографический список
1. Минаев Ю.Н., Филимонова О 1Ü. БенамеурЛиес. Методы и алгоритмы идентификации и прогнозировании и условиях иеонределСчшости в неиросетевом логическом базисе. М.: Горячая линия - Телеком, 2003. - 205с.: ил.
2 Головко В А. Нейронные сети: обучение, организация и применение. Кн. 4. М.: ИПРЖР. 21101 - 256с : ил
3. SNNS User Manual. http://ww\v-ra.Informatik uni-tuebingcn.de/SNNS,
л. JOONF. The Complete Guide. http://sourceiorge.nei/ piojects/joono.
5. MemBrain Neural Network Editor and Simulator, http // wvnv.mombr.iin-nn.de/mam en.htm
6 Deductor. Руководство аналитика, http.//www base-group.ru.
7. Потемкин В.Г. "Введение в MaUab". hUp://mdllab.expo-nenta.nj/ml/book l/index.php.
8 Потемкин В Г. "Справочник по Matlab", http://mat-lab.exponenta ru/ml/bi>ok2/index php
Г» Введение в теорию нейронных сетей. Программная реализация, http://www.orc.ru/-stasson/neurox.hUnJ.
10 I (ейронные сети. hUp://www.slatsoft.ru/home/producLs/ versionö/snn.htm.
ГРЯЗНОВ Андрей Сергеевич, магистрант кафедры МВТ.
ТУЙМАН Алексей Евгеньевич, магистрант кафедры И ВТ.
Статья поступила в редакцию 13.12.06 г. © Грязнов A.C., ТуйманА.Е.
Книжная полка
Гольдберг О.Д., Хелемская С.П. Электромеханика: учебник: / Под ред. О. Д. Гольдберга. — М.: Высш. шк„ 2007. —512 с.
В учебнике рассмотрены основные электромеханические преобразователи энергии. Особое внимание уделено изучению трансформаторов и синхронных машин, а также вопросам эксплуатации асинхронных двигателей и машин постоянного тока. Представлены конструкции и изложены теория электрических машин, их стационарные и переходные режимы работы.
Для студентов учреждений высшего профессионального образования. Может быть полезна инженерам-электроэнергетикам и электромеханикам, занимающимся эксплуатацией и ремонтом электрических машин на электрических станциях и предприятиях. Для начального профессионального образования.
Допущено УМО.