Выбор способа реализации нейросетей



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

Программная реализация нейросетевых алгоритмов

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

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

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

1. Нейропакет BrainMaker Pro.

Одним из самых распространенных программных продуктов является семейство программ BrainMaker фирмы CSS (California ScientificSoftware). Первоначально разработанный фирмой Loral Space Systems no заказу NASA и Johnson Space Center пакет BrainMaker был вскоре адаптирован для коммерческих приложений и сегодня используется несколькими тысячами финансовых и промышленных ком­паний, а также оборонными ведомствами США для решения за­дач прогнозирования, оптимизации и моделирования ситуаций.

Назначение пакета BrainMaker — решение задач, для которых пока не найдены формальные методы и алгоритмы, а входные данные неполны, зашумлены и противоречивы. К таким задачам относятся прогнозирование курсов валют и акций на биржах, мо­делирование кризисных ситуаций, распознавание образов и мно­гие другие. BrainMaker решает поставленную задачу, используя математический аппарат теории нейронных сетей (более кон­кретно — сеть Хопфилда с обучением по методу обратного рас­пространения ошибки). В оперативной памяти строится модель многослойной нейронной сети, которая обладает свойством обу­чаться на множестве примеров, оптимизируя свою внутреннюю структуру. При правильном выборе структуры сети после ее обу­чения на достаточно большом количестве примеров можно до­биться высокой достоверности результатов (97% и выше). Существуют версии BrainMaker для MS DOS и MS Windows, а также для Apple Macintosh. Кроме базовой версии пакета в семейство BrainMaker входят следующие дополнения:

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

Toolkit Option — набор из трех дополнительных программ, увеличивающих возможности BrainMaker: Binary, которая пере­водит обучающую информацию в двоичный формат для ускоре­ния обучения; Hypersonic Training, где используется высокоскоростной алгоритм обучения; Plotting, которая отображает факты, статистику и другие данные в графическом виде.

BrainMaker Professional — профессиональная версия пакета BrainMaker с расширенными функциональными возможностями. Включает в себя все опции Toolkit.

Genetic Training Option (для BrainMaker Pro) — программа ав­томатической оптимизации нейронной сети для решения задан­ного класса задач, использующая генетические алгоритмы для селекции наилучших решений.

DataMaker Editor — специализированный редактор для авто­матизации подготовки данных при настройке и использовании нейронной сети.

Training Financial Data — специализированные наборы дан­ных для настройки нейронной сети на различные виды аналитических, коммерческих и финансовых операций, которые включа­ют реальные значения макроэкономических показателей NYSE, NADDAW, ASE, OEX, DOW и др., индексы инфляции, статисти­ческие данные биржевых сводок по различным видам продук­ции, а также информацию по фьючерсным контрактам и многое другое.

BrainMaker Accelerator Pro — профессиональная многопроцессорная нейронная плата. Она содержит пять сигнальных про­цессоров TMS320C30 и 32 Мбайт оперативной памяти.

В настоящее время на рынке программных средств имеется большое количество разнообразных пакетов для конструирова­ния нейронных сетей и решения различных задач. Пакет BrainMaker можно назвать ветераном рынка [20].

2.Нейропакет NeuroSolutions.

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

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

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

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

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

3. Нейропакет NeuralWorks Professional II/Plus.

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

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

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

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

4. Нейропакет Process Advisor.

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

5. Нейропакет NeuroShell 2.

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

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

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

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


Дата добавления: 2018-04-15; просмотров: 411; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!