Нейроимитатор NeuroIterator. Обзор основных возможностей

Страницы работы

Содержание работы

Нейроимитатор NeuroIterator. Обзор основных возможностей.

              Основным назначение нейроимитатора NeuroIterator является исследование нейронных сетей, однако, он может найти свое применение и в качестве нейросетевого классификатора или нейросетевой системы прогнозирования. Нейроимитатор написан на Borland C++ 5.02 с использованием библиотеки классов OWL 2.X и является приложением Windows 95/98. Нейроимитатор позволяет исследовать формируемые нейронные сети, нейронные сети с формируемой матрицей межнейронных связей и обучаемые нейронные сети.

            1. Исследование формируемых нейронных сетей и сетей с формируемой матрицей межнейронных связей. Формирование подобных типов нейронных сетей заключается в выборе моделей нейроноподобных элементов, параметров их передаточных функций и структуры сети.

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

Демонстрационная версия нейроимитатора поддерживает работу лишь с одной модификацией базовой модели нейроноподобного элемента.

            Формируемые нейронные сети и сети с формируемой матрицей межнейронных связей описываются при помощи внутреннего макроязыка. Макроязык нейроимитатора состоит из 9 операторов и позволят описывать нейронные сети практически любой сложности.

·  Оператор NEURONS определяет общее число нейроноподобных элементов в сети. Число нейронов в сети не должно превышать 200.

·  Оператор SIMTIME позволяет задать модельное время работы сети.

·  Оператор TIMESTEP задает шаг моделирования работы нейронной сети.

·  Оператор MODEL позволяет ассоциировать модель нейроноподобного элемента с отдельным нейроном или с группой нейронов сети.

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

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

·  Оператор INPUTLAYER позволяет описать входной слой сети. Для каждого нейроноподобного элемента сети в нейроимитаторе реализована возможность формирования активизирующей его функции.

·  Оператор OUTPUTLAYER позволяет описать выходной слой нейронной сети. Число нейронов выходного слоя нейронной сети не должно превышать четырех.

·  Оператор NETWORKLAYOUT  позволяет описать структуру нейронной сети - входной, выходной и скрытые слои сети и задать весовые коэффициенты межнейронных связей.

·  Оператор END завершает описание нейронной сети.

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

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

            Нейроимитатор NeuroIterator  позволяет также отследить динамику активности нейронов выходного слоя сети.

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

2. Последовательность формирования и исследования формируемых нейронных сетей и сетей с формируемой матрицей межнейронных связей.

1.  Используя внутренний макроязык нейроимитатора описать структуру нейронной сети. Пример описания нейронной сети поставляется с демо-версией.

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

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

4.  Если это необходимо, то сформировать активирующие нейроны входного слоя функциональные зависимости – кнопка , или команда локального меню. Нажать кнопку “Посчитать…”.

5.  Смоделировать работу нейронной сети – кнопка “Посчитать…” блока диалога  “Проверка правильности описания нейронной сети ”.

6.  Посчитать аналитические зависимости активности нейронов выходного слоя  или проинтегрировать линейное дифференциальное уравнение (систему нормальных дифференциальных уравнений 4-го порядка) – кнопки  и    

      соответственно.

7.   Результаты работы нейронной сети : графики – кнопка     ,  

числовые значения :  кнопка - ,

динамика : кнопка  - .

              3. Исследование обучаемых нейронных сетей.Нейроимитатор NeuroIterator  позволяет обучить нейронную сеть с прямыми связями распознавать образы методом обучения с обратным распространением ошибки (back propagation online и back propagation randomized) либо научить сеть выделять устойчивые признаки во входных образах по методу Хебба или по методу конкуренций.

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

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

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

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

С уважением Винокуров И.В.,  среда, 21 июля 1999 г.

Похожие материалы

Информация о работе