Главная > Искусственные нейронные сети. Теория и практика
<< Предыдущий параграф
Следующий параграф >>
<< Предыдущий параграф Следующий параграф >>
Макеты страниц

4.2. Характеристики современных нейропакетов

В настоящее время известно большое количество нейропакетов, выпускаемых рядом фирм и отдельными исследователями и позволяющих конструировать, обучать и использовать нейронные сети для решения практических задач Характеристики некоторых из них приведены в табл 4 2

Рассмотрим несколько нейропакетов, предназначенных для реализации на персональных компьютерах в различных операционных средах, по степени их универсальности, а также с точки зрения простоты использования и наглядности представления информации


Таблица 4.2 (см. скан) Характеристики некоторых современных нейропакетов

(кликните для просмотра скана)

(кликните для просмотра скана)

(кликните для просмотра скана)

Проведем анализ, используя данные журнала «Нейрокомпьютер», наиболее мощных зарубежных нейропакетов

1) NeuroSolutions фирмы NeuroDimension Inc.,

2) NeuralWorks Professional II/ Plus

с модулем DND фирмы NeuralWare Inc.;

3) Process Advisor фирмы AlWare Inc.;

4) NeuroShell

2 фирмы ard Systems Group,

5) BrainMaker Pro

фирмы alifornia Scientific Software.

В качестве тестовой рассмотрена задача прогнозирования многомерного временного ряда. В качестве архитектуры взята многослойная нейронная сеть с различными критериями и алгоритмами обучения

В результате тестирования все нейропакеты показали практически одинаковые результаты по времени обучения с помощью алгоритма обратного распространения ошибки Поэтому оценка производилась по показателям нейропакетов, связанным с возможностями использования различных нейронных структур, критериев оптимизации и алгоритмов обучения сетей, а также с простотой использования нейропакетов и наглядностью представляемой информации.

При тестировании учитывались и возможности использования нейропакетов для разработки нейронных систем для решения прикладных задач В результате были определены следующие показатели сравнения, отражающие возможности нейропакетов:

• простота создания и обучения нейронной сети, интуитивно понятный интерфейс;

• простота подготовки обучающей выборки;

• наглядность и полнота представления информации в процессе создания и обучения нейронной сети;

• количество реализуемых стандартных нейропарадигм, критериев и алгоритмов обучения нейронной сети,

• возможность создания собственных нейронных структур;

• возможность использования собственных критериев оптимизации,

• возможность использования собственных алгоритмов обучения нейронной сети,

• простота обмена информацией между нейропакетом и другими приложениями операционной системы;

• открытость архитектуры, т. е. возможность расширения нейропакета за счет собственных программных модулей;

• возможность генерации исходного кода;

• наличие макроязыка для ускорения работы с нейропакетом.

Первые три показателя важны для начинающих пользователей нейропакетов, 3-8 - для опытных пользователей, решающих конкретные прикладные задачи, показатели же 7-11 являются определяющими при создании интегрированных, нейронных инструментальных систем на базе нейропакетов и важны для профессиональных разработчиков и программистов.

Оценка проведена по десятибалльной шкале и сопровождена комментариями, призванными помочь составить собственное мнение о протестированных нейропакетах.

1) Нейропакет NeuroSolutions фирмы NeuroDimension Inc.

NeuroSolutions предназначен для моделирования большого набора нейронных сетей. Основное его достоинство состоит в гибкости: помимо традиционных нейросетевых парадигм (полносвязных и многослойных С, самоорганизующихся карт Кохонена) нейропакет включает в себя мощный редактор визуального проектирования нейронных сетей, позволяющий создавать любые нейронные структуры и алгоритмы их обучения, а также вводить собственные критерии обучения. NeuroSolutions имеет хорошие средства визуализации структур, процессов и результатов обучения и функционирования нейронных сетей. Это ставит данный нейропакет на уровень CAD-систем (систем автоматизированного проектирования) проектирования и моделирования НС.

Пакет предназначен для работы Windows. Помимо средств взаимодействия с операционной системой (OLE), нейропакет снабжен генератором исходного кода и позволяет использовать внешние модули при создании и обучении нейронной сети. Пакет поддерживает программы, написанные на языке C++ для компиляторов Microsoft Visual C++ и Borland C++, а также в виде DLL-кода. Таким образом, NeuroSolutions является гибкой открытой системой, которую можно при необходимости дополнять и модифицировать. Пакет содержит встроенный макроязык, позволяющий производить практически любую настройку под конкретную задачу.

В пакете реализуется большой перечень нейронов, включая взвешенный сумматор (нейрон первого порядка), нейроны высших порядков (с перемножением входов), а также непрерывный интегрирующий нейрон. Функция активации нейрона может быть выбрана из пяти стандартных (кусочно-линейная, функция знака и три типа сигмоидальных) функций, а также задана пользователем. Связи между нейронами задаются произвольно на этапе проектирования и могут быть изменены в процессе работы.

Поддерживаются все типы связей: прямые, перекрестные и обратные. При этом хорошо реализована схема организации связей: можно задать одну векторную связь с заданной весовой матрицей, а не набор скалярных связей с весовыми коэффициентами.

Нейропакет NeuroSolutions содержит моицные средства для организации обучающих выборок. Встроенные конверторы данных поддерживают графические изображения в формате BMP, текстовые файлы с числовыми или символьными данными, а также функции непрерывного аргумента (например, времени), заданные в аналитическом виде или в виде выборки значений. Нейропакет позволяет использовать любые внешние конверторы данных.

На этапе обучения может быть использован широкий круг критериев обучения, как дискретных, так и непрерывных. Помимо этого можно вводить собственные критерии. Можно использовать как встроенный алгоритм обучения типа back-propagation или дельта-правила, так и использовать собственный. Система визуализации процесса обучения позволяет проводить анализ изменения весов непосредственно в процессе обучения и вносить коррективы. Может быть введена шумовая характеристика как при тестировании, так и при обучении нейронной сети. Можно задать аддитивный белый шум, шум произвольной природы, а также любой заданный тип шума (например, белый мультипликативный).

Neurosolutions содержит генератор (мастер) стандартных нейросетевых архитектор (Neural Wizard), с помощью которого быстро задается архитектура, подбирается обучающая выборка, критерии и методы обучения нейронной сети.

Оценка нейропакета

• Простота использования - 9.

Прост в использовании, имеет хороший интуитивно понятный интерфейс с возможностями настройки. Неудобством является несколько непривычная терминология, примененная разработчиками, за что и снят один балл.

• Простота формирования обучающей выборки - 9.

Обучающая выборка может быть сформирована либо на

этапе создания нейронной сети средствами нейропакета, либо задана для уже созданной НС. Поддерживаются основные типы данных: текстовые данные в формате ASCII, бинарные данные в виде исполняемого модуля и изображения в формате BMP. При необходимости может быть подключен внешний конвертор данных. Балл снят за отсутствие встроенных конверторов некоторых популярных форматов данных, в частности звуковых файлов (в формате WAV).

• Наглядность представления информации -10.

NeuroSolutions является лучшим из сравниваемых пакетов

по наглядности представления информации. Система визуализации очень гибкая и хорошо продумана.

• Реализация стандартных нейронных парадигм и алгоритмов обучения - 8.

Поддерживает основные нейропарадигмы (сеть обратного распространения, сети Кохонена, оптимизирующие нейронные сети и т. д.). Реализуется также широко используемый набор алгоритмов обучения: обратного распространения ошибки, градиентные методы, обучение без учителя и т. д. Два балла сняты за отсутствие некоторых популярных нейропарадигм, в частности, сетей Хопфилда.

• Возможность создания собственных нейронных структур -10.

В нейропакет встроен мощный нейроконструктор, позволяющий создавать любые нейронные структуры.

• Возможность использования собственных критериев обучения - 8.

Позволяет задавать собственные критерии обучения нейронной сети, что, однако, связано с необходимостью подключения внешних модулей. За что и сняты два балла.

• Возможность использования собственных алгоритмов обучения -10.

Позволяет использовать любые собственные алгоритмы обучения в виде внешних программных модулей.

• Обмен информацией между нейропакетом и операционной системой -10.

Имеет развитые средства обмена с другими приложениями операционной системы. Поддерживается OLE и технология Drag-and-Drop.

• Открытость архитектуры -10.

Представляет собой открытую систему, позволяющую подключать собственные программные модули, реализующие нейронные структуры, критерии и алгоритмы обучения, данные для обучения.

• Генератор исходного кода -10.

Поддерживается генератор исходного кода на языке C++ для компиляторов Microsoft Visual C++ и Borland C++.

• Наличие макроязыка -10.

Встроенный макроязык облегчает настройку нейропакета.

2) Нейропакет NeuralWorks Professional 11/Plus фирмы NeuralWare Inc.

NeuralWorks Professional является мощным средством для моделирования нейронных сетей. В нем реализованы 28 нейронных парадигм, а также большое количество алгоритмов обучения. Дополнительный модуль DND (User Define Neural Dynamics) позволяет создавать собственные нейронные структуры.

Как и NeuroSolutions, NeuralWorks Professional имеет хорошую систему визуализации данных: структуры нейронной сети, изменения ошибки обучения, изменения весов и их корреляции в процессе обучения. Последнее является уникальным свойством пакета и полезна при анализе поведения сети.

В NeuralWorks Professional можно интегрировать внешние программные модули. Он имеет встроенный генератор кода, поддерживающий компилятор Microsoft Visual C++.

Способ представления информации незначительно отличается от NeuroSolutions

Оценка нейропакета

• Простота использования - 9.

Прост в использовании. Единственным недостатком является отсутствие возможности настройки интерфейса.

• Простота формирования обучающей выборки - 9.

Обучающая выборка формируется достаточно просто. Поддерживается текстовый формат данных ASCII. Пакет позволяет подключать свои конверторы данных. Балл снят за отсутствие встроенных конверторов популярных форматов данных.

• Наглядность представления информации - 9.

Имеет мощные и хорошо продуманные средства визуализации данных и нейронных структур. Балл снят за несколько непривычный визуальный интерфейс.

• Реализация стандартных нейронных парадигм и алгоритмов обучения -10.

В пакете NeuralWorks Professional реализованы практически все известные и описанные в литературе нейронные парадигмы и алгоритмы их обучения.

• Возможность создания собственных нейронных структур - 8 (только с модулем UDND).

Модуль UDND позволяет формировать собственные нейронные структуры в виде внешних программных модулей. Два балла сняты за то, что модуль UDND является внешней программой к пакету.

• Возможность использования собственных критериев обучения - 7

Введение собственных критериев обучения предусмотрено только с использованием модуля UDND Два балла сняты за то что модуль UDND является внешней программой к пакету, и еще один - за сложность введения собственного критерия обучения

• Возможность использования собственных алгоритмов обучения - 7

Три балла сняты за то же, что и ранее

• Обмен информацией между нейропакетом и операционной системой - 8

За счет мощной системы визуализации большого обмена данными не требуется, поэтому имеющихся в нейропакете средств обмена вполне достаточно Два балла сняты за отсутствие технологии Drag-and-Drop и OLE

• Открытость архитектуры - 10

NeuralWorks Professional представляет собой открытую систему, позволяющую подключать внешние программные модули Пакетом поддерживается компилятор Microsoft Visual C++

• Генератор исходного кода - 10

Имеется генератор исходного кода на языке ++ (Microsoft Visual C++)

• Наличие макроязыка - 0 (отсутствует)

3) Нейропакет process Advisor фирмы AlWare Inc.

Process Advisor предназначен для решения задач управления динамическими процессами (в частности, технологическими процессами) Однако он может считаться универсальным нейропа кетом В нем реализована только многослойная нейронная сеть прямого распространения, обучаемая с помощью модифициро ванного алгоритма обратного распространения ошибки В паке введена возможность работы с входными сигналами как с функ циями времени, а не дискретным набором точек Такой возможно стью помимо Process Advisor обладает только NeuroSolutions Кроме того, нейропакет Process Advisor позволяет осуществлят управление внешними аппаратными контроллерами, подключае мыми к компьютеру Именно эти две особенности делают нейропакет Process Advisor примечательным

Оценка нейропакета

• Простота использования - 8

Достаточно прост в использовании Имеет Excel-подобнь. интерфейс как для задания структуры нейронной сети и данных

для обучения, так и для отображения графической информации Балл снят за отсутствие возможностей настройки интерфейса и еще один балл за использование Excel-подобного интерфейса

• Простота формирования обучающей выборки - 7

Позволяет обрабатывать данные, представленные в текстовом виде Редактирование данных осуществляется подобно Excel-таблице Однако нейропакет не позволяет подключать внешние конверторы данных Балл снят за отсутствие встроенных конверторов популярных форматов данных, и еще два - за невозможность подключения внешних конверторов

• Наглядность представления информации - 7

Наглядность такая же, как в Excel Возможно построение двух- и трехмерных графиков В процессе обучения отображается только изменение ошибки работы нейронной сети Три балла сняты за использование псевдографического интерфейса, который проигрывает в сравнении с интерфейсами NeuroSolutions и Neu-ralWorks

• Реализация стандартных нейронных парадигм и алгоритмов обучения - 5

Реализована только многослойная нейронная сеть, обучаемая с помощью модифицированного алгоритма обратного распространения Нейропакет позволяет работать с динамическими функциями времени, поступающими в качестве входных сигналов Оценка обусловлена тем, что многослойная нейронная сеть представляет собой половину всех используемых нейронных парадигм

• Возможность создания собственных нейронных структур-5

Позволяет изменять только число слоев и количество нейронов в слоях

• Возможность использования собственных критериев обучения - 0 (отсутствует)

Позволяет использовать только критерий средней квадратичной ошибки без возможности его изменения

• Возможность использования собственных алгоритмов обучения - 3

При обучении возможно только менять параметры алгоритма обратного распространения ошибки

• Обмен информацией между нейропакетом и информационной системой - 5

Обмен реализуется только через буфер обмена или внешние файлы, представленные в текстовом виде

• Открытость архитектуры - 3

Позволяет осуществлять управление внешними контроллерами, подключаемыми к компьютеру. Возможность подключения внешних программных модулей отсутствует.

• Гэнератор исходного кода - О (отсутствует).

• Наличие макроязыка - 0 (отсутствует).

4) Нейропакет NeuroShell 2 фирмы Ward Systems Group

NeuroShell 2 является одной из трех программ, входящих в состав пакета he Al Trilogy и представляет собой универсальный нейропакет для моделирования нескольких наиболее известных нейронных парадигм: многослойных сетей, сетей Кохонена и т. д.

NeuroShell 2 сильно проигрывает по сравнению с NeuroSolutions и NeuralWorks. Он имеет много мелких недостатков, существенно замедляющих подготовку и работу в среде нейропакета. Кроме недостаточно продуманного интерфейса нейропакет NeuroShell имеет и усложненную систему визуализации данных. Из-за отсутствия единого интегрального контроля данных в процессе обучения или работы нейронной сети часто приходится переключаться из одного режима в другой, что неудобно в использовании.

Для NeuroShell характерна жесткая последовательность действий при работе с нейронной сетью. Это удобно для начинающих пользователей. Однако, для того, чтобы внести небольшое изменение приходится выполнять заново всю последовательность действий.

NeuroShell предоставляет хорошие средства обмена данными с другими приложениями. Он обеспечивает обмен данными, представленными в текстовом бинарном виде, а также в наиболее популярных финансовых форматах MataStock и DowJones. Нейропакет имеет генератор исходного кода на языках Visual С и Visual Basic.

Оценка нейропакета

• Простота использования - 10.

NeuroShell прост в использовании за счет жесткой последовательности действий по созданию и обучению нейронной сети.

• Простота формирования обучающей выборки - 8.

Обучающая выборка формируется достаточно просто, но из-за непродуманности интерфейса приходится выполнять слишком много лишних действий. Балл снят за отсутствие встроенных конверторов популярных форматов данных (в частности, BMP) и еще балл - за непродуманность интерфейса.

• Наглядность представления информации - 6.

Отображать и контролировать можно многие параметры, однако, невозможно контролировать все их одновременно. Три балла сняты за использование псевдографического интерфейса.

• Возможность создания собственных нейронных структур - 5

Создание собственных нейронных структур сводится к возможности изменения числа слоев и количество нейронов в слоях.

• Возможность использования собственных критериев обучения - 0 (отсутствует).

• Возможность использования собственных алгоритмов обучения - 0 (отсутствует).

• Обмен информацией между нейропакетом и операционной системой - 8.

Обмен информацией реализован достаточно хорошо. Нейропакет имеет несколько встроенных конверторов для чтения данные в текстовом и бинарном форматах, а также в популярных форматах представления финансовых данных. Встроенный генератор кода позволяет получать исходные тексты программ на языках С и Basic. Два балла сняты за отсутствие технологии Drag-and-Drop и OLE.

• Открытость архитектуры - 2.

Не позволяет подключать внешние программные модули.

• Генератор исходного кода -10.

Имеет встроенный генератор исходного кода на языках С и Basic.

• Наличие макроязыка - 0 (отсутствует).

5) Нейропакет BrainMaker Pro фирмы California Scientific Software

BrainMaker Pro является простым нейропакетом для моделирования многослойных нейронных сетей, обучаемых с помощью алгоритма обратного распространения ошибки. Основным его достоинством является большое число параметров настройки алгоритма обучения. В остальном rainMaker Pro уступает NeuroSolu-tions и NeuralWorks, особенно, в наглядности представляемой информации и простоты интерфейса.

Оценка нейропакета

• Простота использования - 6.

Хотя BrainMaker Pro представляет собой достаточно простой нейропакет, однако, использовать его несколько сложнее, чем NeuroSolutions и NeuralWorks. Сложности использования BrainMaker Pro связаны с неудобством интерфейса, а также с наличием

большого количества модулей, не интегрированных в единую оболочку. Три балла сняты за использование псевдографического интерфейса, и еще один - за отсутствие интегральной оболочки.

• Простота формирования обучающей выборки - 7.

Этап формирования обучающей выборки достаточно прост. К сожалению, нейропакет поддерживает только текстовый формат представления данных и не позволяет использовать внешние конверторы данных. Балл снят за отсутствие встроенных конверторов популярных форматов данных, и еще два - за невозможность подключения внешних конверторов.

• Наглядность представления информации - 4.

Примитивные возможности отображения различной информации о состоянии нейронной сети. Шесть баллов сняты за непро-думанность системы визуализации и отсутствие даже псевдографического интерфейса.

• Реализация стандартных нейронных парадигм и алгоритмов обучения - 6.

Реализована только одна нейронная парадигма - многослойная нейронная сеть и только один алгоритм ее обучения - метод обратного распространения ошибки. Лишний балл добавлен за большое количество параметров настройки алгоритма обучения.

• Возможность создания собственных нейронных структур - 5.

С помощью модуля NetMaker имеется возможность создания собственных многослойных нейронных сетей. При этом можно только задавать количество слоев, количество нейронов в слоях и функции активации нейронов. По заданным параметрам нейропакет генерирует полносвязную нейронную сеть прямого распространения, структуру которой изменить невозможно.

• Возможность использования собственных критериев обучения - 0 (отсутствует).

Используется только средняя квадратичная ошибка.

• Возможность использования собственных алгоритмов обучения - 4.

Реализован только алгоритм обратного распространения ошибки, который можно настроить путем изменения параметров скорости и точности обучения. По сравнению с Process Advisor один балл добавлен за большее количество настраиваемых параметров алгоритма обучения.

• Обмен информацией между нейропакетом и операционной системой - 5.

Обмен данными реализуется только через буфер обмена или внешние файлы, записанные в текстовом виде.

• Открытость архитектуры - 0 (отсутствует).

Не имеет средств для подключения внешних модулей.

• Генератор исходного кода - 0 (отсутствует).

• Наличие макроязыка - 0 (отсутствует).

Суммарная оценка

1) NeuroSolutions - 104;

2) NeuralWorks Professional II/ Plus с модулем UDND - 87;

3) Process Advisor - 43;

4) NeuroShell 2 - 57;

5) BrainMaker Pro 37.

Приведенные основные характеристики универсальных зарубежных нейропакетов и их сравнение с точки зрения простоты использования и спектра предоставляемых услуг для моделирования искусственных нейронных сетей дают возможность из большого количества существующих нейропакетов выбрать наиболее пригодный для практической работы. Суммарная оценка дает представление о нейропакете в целом.

<< Предыдущий параграф Следующий параграф >>
Оглавление