Введение

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

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

Вторая часть содержит описание коллекции тестовых данных для нейросетевых и статистических методик. В лаборатории искусственных нейронных сетей ВНИИТФ разработан нейросетевой комплекс Nimfa, в рамках которого реализован ряд нейросетевых архитектур и различные алгоритмы их обучения [Nimfa97]. Иллюстративные расчеты выполнены с помощью комплекса Nimfa и пакета Matlab Neural Networks Toolbox.

Все обсуждаемые в работе подходы и данные основаны на материалах, доступных в глобальной всемирной сети Интернет. Работа выполнена по Договору между ООО НейрОК (http://www.neurok.ru) и РФЯЦ-ВНИИТФ

В данном разделе приводится обзор источников тестовых данных для нейросетевого моделирования, доступных в Интернет. Аналогичные исследования являются общепринятыми и в других областях (например, коллекция тестовых задач для алгоритмов многомерной оптимизации, собранная в Аргоннской национальной лаборатории США [Argonne99] или коллекция StatLog для статистических алгоритмов [StatLog99]).

Нейронные сети в задачах аппроксимации

В этом разделе рассматриваются вопросы аппроксимации функций и алгоритмы обучения нейросетей прямого распространения. Так называемая сеть прямого распространения (feed-forward) является одной из самых популярных современных нейросетевых архитектур, [Bishop95, Rummelhart86, Kohonen95, Gorban96, Terekhoff98]. Нейронные сети этого типа широко применяются в задачах аппроксимации функций, классификации данных, сжатия информации и для моделирования сложных динамических систем [Annl2000].

ИНС прямого распространения состоит из некоторого количества нейронов, соединенных связями, каждой из которых приписан определенный вес Wij (рис. 1).


Рис. 1 Нейронная сеть прямого распространения.

В сети нейрон i имеет вход xi и характеризуется неким состоянием (степенью активности) yi. Нейроны образуют несколько слоев - входной, несколько скрытых и выходной. Слоям соответствуют переходные функции f, посредством которых по вектору входов слоя x вычисляется вектор активностей y нейронов этого слоя. Входные и выходные нейроны обычно выполняют тождественное преобразование f(x) = x. На скрытых слоях используется какая-либо нелинейная функция, например.

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

yi = Wij xj

где yj - это активность нейрона первого слоя, передающего информацию 2-ому слою посредством связи Wij. Далее скрытый слой аналогичным образом вычисляет свои выходы y = f(x), которые затем передаются следующему за ним слою. В результате такого распространения информации в конечном итоге определяются активности выходного слоя сети.

Одной из первых искусственных нейронных сетей был однослойный perceptron Розенблатта. Позднее М.Минским и С.Пейпертом были выявлены принципиальные неустранимые ограничения однослойных сетей. В современной практике рассматриваются в основном многослойные варианты нейронных сетей [Rummelhart86]. Широкое применение находят также сети feed-forward, в которых имеются связи между несмежными слоями нейронов, например, между нейронами входного и выходного слоев.

Как нетрудно видеть, нейросеть прямого распространения представляет собой функцию Y = Y(X), которая отображает пространство входов на пространство выходов и задается значениями своих весовых коэффициентов W. Чтобы построить ИНС, реализующую нужное отображение, производится подстройка весов на конечном множестве примеров этого отображения (X, Y). После обучения при предъявлении сети некоторого вектора x* из входного пространства на выходе сети должен получаться выход, близкий к требуемому. Можно рассмотреть несколько метрик (функций ошибки), характеризующих близость двух векторов в пространстве выходов. Например,

Здесь через N обозначен вектор выходов нейросети на входном векторе x*, а индекс k соответствует одному из выходных нейронов сети. Тогда цель обучения сети формулируется как поиск глобального минимума [Dennis88] суммы ошибок для всех обучающих примеров (X,Y) на множестве весов W сети. Для обучения нейронных сетей успешно применяются разнообразные итерационные алгоритмы, использующие градиент оптимизируемой функции по весам сети [Gorban96, Rummelhart86]. В качестве примера приведем формулу для поправки к весу Wij на k-ом шаге известного алгоритма градиентного поиска:

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



Главная страница   |   Наверх   |   Содержание   |   Литература

Hosted by uCoz