Скачиваний:
137
Добавлен:
01.05.2014
Размер:
8 Мб
Скачать
☆

Модель нейронной сети

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

a = f(Wp + b)

Рисунок 14. Однослойная нейронная сеть

R – число элементов в входном векторе

S - число нейронов в слое

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

Рисунок 15. Однослойная сеть (сокращенное представление)

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

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

a2 = f2(LW1,2f1(IW1,1p + b1) + b2) = y

Рисунок 16. Двухслойная сеть

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

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

то параллельная форма будет выглядеть как матрица:

P = [1, 2, 3, 4; 4, 3, 2, 1];

а последовательная как массив ячеек, каждая из которых содержит входы сети в последовательные моменты времени:

P = {[1; 4] [2; 3] [3; 2] [4; 1]};

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

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

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

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

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

Теперь, когда рассмотрены основные принципы реализации нейронных сетей в пакете MATLAB, перейдем к конкретным архитектурам. В качестве примера возьмем два наиболее традиционных типа сетей – персептроны и адаптивные линейные фильтры.

Соседние файлы в папке lecture8