ОСНОВНЫЕ ФУНКЦИОНАЛЬНЫЕ ВОЗМОЖНОСТИ ПРОГРАММ МОДЕЛИРОВАНИЯ НЕЙРОННЫХ СЕТЕЙ


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

Формирование (создание) нейронной сети.

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

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

- Многослойные нейронные сети.

Нейроны в таких сетях делятся на группы с общим входным сигналом - слои. Различают несколько типов связей между слоями с номерами m и (m+s):

Связи между нейронами одного слоя называют латеральными (боковыми).

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

- Нейронные сети с локальными связями. Нейроны в таких сетях располагаются в узлах прямоугольной решетки. Каждый нейрон связан с небольшим числом (4 или 8) своих топологических соседей.

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

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

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

Если в сети все нейроны имеют одинаковые функции активации, то сеть называется однородной (гомогенной). В неоднородных (гетерогенных) сетях нейроны имеют различные функции активации.

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

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

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

Обучение нейронной сети.

Для того, чтобы нейронная сеть приобрела способность решать конкретную задачу, то есть на каждый входной сигнал выдавать необходимый выходной сигнал, необходимо провести настройку параметров сети. Настройка производится по обучающей выборке, которая состоит из пар (<вход>, <желаемый выход>) - обучающих примеров.

В зависимости от решаемой задачи в обучающей выборке используются те или иные типы данных и различные размерности входных-выходных сигналов. Входные данные примеров обучающей выборки - изображения, таблицы чисел, распределения. Типы входных данных - бинарные (0 и 1), биполярные (-1 и 1) числа, целые или действительные числа из некоторого диапазона. Выходные сигналы сети - вектора целых или действительных чисел. Для решения практических задач часто требуются обучающие выборки большого объема. Из-за жестко ограниченного объема оперативной памяти компьютера разместить в ней большие обучающие выборки невозможно. Поэтому выборка делится на страницы - группы примеров. В каждый момент времени лишь одна страница примеров располагается в памяти компьютера, остальные - на жестком диске. Страницы последовательно загружаются в память компьютера. Обучение сети происходит по всей совокупности страниц примеров, по всей обучающей выборке.

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

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

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

Для обучения нейронных сетей могут быть использованы различные алгоритмы. Можно выделить две большие группы алгоритмов - градиентные и стохастические. Градиентные алгоритмы обучения сетей основаны на вычислении частных производных функции ошибки по параметрам сети. Среди градиентных различают алгоритмы первого и второго порядков. В стохастических алгоритмах поиск минимума функции ошибки ведется случайным образом.

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

Перед обучением выполняется инициализация нейронной сети, то есть присваивание параметрам сети некоторых начальных значений. Как правило, эти начальные значения - некоторые малые случайные числа.

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

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

Имитация функционирования (тестирование) обученной нейронной сети.

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

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


smallogo При использовании информации, находящейся на данной странице, вы обязаны ссылаться на следующую работу:

Отчет по научно-исследовательской работе "Создание аналитического обзора информационных источников по применению нейронных сетей для задач газовой технологии"; Копосов А.И., Щербаков И.Б., Кисленко Н.А., Кисленко О.П., Варивода Ю.В. и др., ВНИИГАЗ, 1995.