Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lektsii_Neyroupravlenie_new.doc
Скачиваний:
63
Добавлен:
16.04.2015
Размер:
997.38 Кб
Скачать
        1. Проблема функции исключающее или

Один из самых пессимистических результатов Минского показывает, что однослойный персептрон не может воспроизвести такую простую функцию, как ИСКЛЮЧАЮЩЕЕ ИЛИ. Это функция от двух аргументов, каждый из которых может быть нулем или единицей. Она принимает значение единицы, когда один из аргументов равен единице (но не оба). Проблему можно проиллюстрировать с помощью однослойной однонейронной системы с двумя входами, показанной на рис. 2.10. Обозначим один вход через х, а другой через у, тогда все их возможные комбинации будут состоять из четырех точек на плоскости х-у, как показано на рис. 2.5. Например, точка х = 0 и у = 0 обозначена на рисунке как точка А. Табл. 2.1 показывает требуемую связь между входами и выходом, где входные комбинации, которые должны давать нулевой выход, помечены А0 и А1, единичный выход – В0 и В1.

Рис. 2.10. Однонейронная система

В сети на рис. 2.4 функция F является обычным порогом, так что OUT принимает значение ноль, когда NET меньше 0,5, и единица в случае, когда NET больше или равно 0,5. Нейрон выполняет следующее вычисление:

NET = xw1 + yw2 (2.1)

Никакая комбинация значений двух весов не может дать соотношения между входом и выходом, задаваемого табл. 2.1. Чтобы понять это ограничение, зафиксируем NET на величине порога 0,5. Сеть в этом случае описывается уравнением (2.2). Это уравнение линейно по х и у, т. е. все значения по х и у, удовлетворяющие этому уравнению, будут лежать на некоторой прямой в плоскости х-у.

xw1 + yw2 = 0,5 (2.2)

Таблица 2.1. Таблица истинности для функции ИСКЛЮЧАЮЩЕЕ ИЛИ

Точки

Значения х

Значения у

Требуемый выход

A0

0

0

0

B0

1

0

1

B1

0

1

1

A1

1

1

0

Любые входные значения для х и у на этой линии будут давать пороговое значение 0,5 для NET. Входные значения с одной стороны прямой обеспечат значения NET больше порога, следовательно, OUT=1. Входные значения по другую сторону прямой обеспечат значения NET меньше порогового значения, делая OUT равным 0. Изменения значений w1, w2 и порога будут менять наклон и положение прямой. Для того чтобы сеть реализовала функцию ИСКЛЮЧАЮЩЕЕ ИЛИ, заданную табл. 2.1, нужно расположить прямую так, чтобы точки А были с одной стороны прямой, а точки В – с другой. Попытавшись нарисовать такую прямую на рис. 2.11, убеждаемся, что это невозможно. Это означает, что какие бы значения ни приписывались весам и порогу, сеть неспособна воспроизвести соотношение между входом и выходом, требуемое для представления функции ИСКЛЮЧАЮЩЕЕ ИЛИ.

Рис. 2.11. Проблема ИСКЛЮЧАЮЩЕЕ ИЛИ

Линейная разделимость

Как мы видели, невозможно нарисовать прямую линию, разделяющую плоскость х-у так, чтобы реализовывалась функция ИСКЛЮЧАЮЩЕЕ ИЛИ. К сожалению, этот пример не единственный. Имеется обширный класс функций, не реализуемых однослойной сетью. Об этих функциях говорят, что они являются линейно неразделимыми, и они накладывают определенные ограничения на возможности однослойных сетей.

Линейная разделимость ограничивает однослойные сети задачами классификации, в которых множества точек (соответствующих входным значениям) могут быть разделены геометрически. Для нашего случая с двумя входами разделитель является прямой линией. В случае трех входов разделение осуществляется плоскостью, рассекающей трехмерное пространство. Для четырех или более входов визуализация невозможна и необходимо мысленно представить n-мерное пространство, рассекаемое «гиперплоскостью» – геометрическим объектом, который рассекает пространство четырех или большего числа измерений.

Несмотря на то, что однослойная сеть имеет небольшое практическое значение, ее продолжают использовать там, где для решения поставленной задачи достаточно и одного слоя нейронов.

Многослойная НС

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

На рис. 2.2 представлена многослойная НС.

Рис 2.2. Многослойная нейронная сеть

Входной слой (input layer) нейронных элементов выполняет рас­пределительные функции. Выходной слой (output layer) нейронов слу­жит для обработки информации от предыдущих слоев и выдачи резуль­татов. Слои нейронных элементов, расположенные между входным и выходным слоями, называются скрытыми (hidden layers). Как и выходной слой, скрытые слои являются обрабаты­вающими. Выход каждого нейронного элемента предыдущего слоя нейронной сети соединен синаптическими связями со всеми входами нейронных элементов следующего слоя. Таким образом, топология многослойной нейронной сети является однородной и регулярной.

В качестве функции активации нейронных элементов обычно используется гиперболический тангенс или сигмоидная функция. Пусть W(i) - матрица весовых коэффициентов i-го слоя многослойной сети. Тогда для нейронной сети с двумя скрытыми слоями выходные значения

где Х = (х12,...,хn)- вектор-строка входных сигналов; F- оператор нелинейного преобразования.

Общее число синаптических связей многослойной нейронной сети

где р - общее количество слоев нейронной сети; k(i) - количество нейронных элементов в i-м слое.

Число слоев в многослойной нейронной сети характеризует, ка­ким образом входное пространство может быть разбито на подпро­странства меньшей размерности. Так, двухслойная нейронная сеть с одним слоем нелинейных нейронов разбивает входное пространство образов на классы при помощи гиперплоскости. Трехслойная нейронная сеть, где в качестве двух последних слоев используются нейронные элементы с нелинейной функцией активации, позволяет формировать любые выпуклые области в пространстве решений [37, 38]. Четырехслойная нейронная сеть, которая имеет три нелинейных слоя, дает возможность получать об­ласть решений любой формы и слож­ности, в том числе и невыпуклой.

Рекуррентные (Recurrent networks) [48-52] и рециркуляционные (Recirculation networks) нейронные сеги [45, 53-61] характеризуются как прямым (feed forward) так и обратным (feed back) распространением информации. При этом обратное распространение информации осуществляется по-разному для таких нейронных сетей. В рециркуляцион­ных нейронных сетях распространение информации происходит по двунаправленным свя­зям, которые имеют в различных направлениях разные весовые коэффициенты. При об­ратном распространении сигналов в таких сетях осуществляется их преобразование с це­лью восстановления входного образа. При прямом распространении сигналов происходит сжатие входных данных. В результате осуществляется рециркуляция информации. Обу­чение рециркуляционных нейронных сетей производится без учителя. Рекуррентные ней­ронные сети характеризуются обучением с учителем и обратными связями, по которым передаются результаты обработки сетью данных на предыдущем этапе. В результате этого входом рекуррентной нейронной сети в каждый фиксированный момент времени является вектор входных данных и результаты обработки информации сетью на предыдущем этапе. Обучение таких сетей базируется на алгоритме обратного распространения ошибки. Это дало повод, несмотря на различия между рекуррентными и рециркуляционными нейрон­ными сетями, отнести их к одному классу.

Рекуррентные нейронные сети

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

Архитектура рекуррентных сетей

Существуют различные варианты архитектур рекуррентных ней­ронных сетей.

Сеть Джордана: В 1986 г. Джордан (Jordan) предложил рекур­рентную сеть (рис.2.3), в которой Выходы нейронных элементов по­следнего слоя соединены посредством специальных входных нейронов с нейронами промежуточного слоя. Такие входные нейронные эле­менты называются контекстными нейронами (context units). Они рас­пределяют выходные данные нейронной сети на нейронные элементы промежуточного слоя.

Рис. 2.3. Архитектура рекуррентной ней­ронной сети с обратными связями от нейро­нов выходного слоя.

Число контекстных нейронов равняется числу выходных ней­ронных элементов рекуррентной сети. В качестве выходного слоя та­ких сетей используются нейронные элементы с линейной функцией активации. Тогда выходное значение j-го нейронного элемента последнего слоя определяется по формуле

где vij - весовой коэффи­циент между i-м нейроном промежуточного и j-м ней­роном выходного слоев; Pi(t)- выходное значение i-го нейрона промежуточ­ного слоя; tj- пороговое значение j-го нейрона вы­ходного слоя. Взвешенная сумма i-ro нейронного элемента промежуточного слоя определяется следующим образом:

где wij - весовой коэффициент между j-м нейроном входного и i-м нейроном промежуточного слоев; р - число нейронов выходного слоя; wki— весовой коэффициент между k-м контекстным нейроном и i-м нейроном промежуточного слоя; T - пороговое значение i-го нейрона промежуточного слоя; n - размерность входно­го вектора.

Тогда выходное значение i-го нейрона скрытого слоя

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

Другой вариант рекур­рентной нейронной сети предложил Элман (Elman)

Сеть Элмана: В1990 году. В такой сети выходы нейронных элементов промежуточного слоя соеди­няются с контекстными нейро­нами входного слоя (рис.2.4).

Рис. 2.4. Архитектура рекуррентной сети с обратными связями от нейронов скры­того слоя

Тогда взвешенная сумма i-го нейронного элемента про­межуточного слоя

где т - число нейронов про­межуточного слоя; pk (t-1) - выходное значение k-го нейро­на промежуточного слоя.

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

Рис. 2.5. Архитектура рекуррентной сети с обратными связями от нейронов скрытого и выходного слоев

Число контекстных нейронов входного слоя равняется общему числу нейронов промежуточного и выходного слоев. Тогда

где р - число нейронов выходного слоя.

Для обучения рекуррентных нейронных сетей применяется алго­ритм обратного распространения ошибки.

Алгоритм обучения рекуррентной нейронной сети в общем слу­чае состоит из следующих шагов:

1. В начальный момент времени t = 1 все контекстные нейроны устанавливаются в нулевое состояние - выходные значения прирав­ниваются нулю.

2. Входной образ подается на сеть и происходит прямое распро­странение его в нейронной сети.

3. В соответствии с алгоритмом обратного распространения ошибки модифицируются весовые коэффициенты и пороговые значе­ния нейронных элементов.

4. Устанавливается t = t +1l и осуществляется переход к шагу 2. Обучение рекуррентной сети производится до тех пор, пока сум­марная среднеквадратичная ошибка сети не станет меньше заданной.

Рециркуляционные нейронные сети

Рециркуляционные сети характеризуются как прямым Y = f(X), так и обратным X = f(У) преобразованием информации. Задача тако­го преобразования - достижение наилучшего автопрогноза или само­воспроизводимости вектора X. Рециркуляционные нейронные сети применяются для сжатия (прямое преобразование) и восстановления исходной (обратное преобразование) информации. Такие сети явля­ются самоорганизующимися в процессе работы, где обучение произ­водится без учителя. Теоретической основой рециркуляционных нейронных сетей служит анализ главных компонент (principial component analysis).

Архитектура рециркуляционной нейронной сети

Рециркуляционная нейронная сеть представляет собой совокупность двух слоев нейронных элементов, которые соединены между собой двунаправленными связями (рис.2.6).

Рис. 2.6. Архитектура рециркуляцион­ной нейронной сети

Каждый из слоев нейрон­ных элементов может использо­ваться в качестве входного или выходного. Если слой нейрон­ных элементов служит в качест­ве входного, то он выполняет распределительные функции. Иначе нейронные элементы слоя являются обрабатывающи­ми. Весовые коэффициенты, соответствующие прямым и обратным связям, характери­зуются матрицей весовых коэффициентов W и W'. Для наглядности рециркуляционную сеть можно представить в развер­нутом виде, как показано на рис.2.7.

Такое представление сети является эквивалентным и характеризует полный цикл преобразования информации. При этом промежуточный слой нейронных элементов производит кодирование (сжатие) входных данных X, а последний слой - восстановление сжатой информации Y. Слой нейронной сети, соответствующий матрице связи W, назовем пря­мым, а соответствующий матрице связей W' - обратным.

Рис. 2.7. Эквивалентное представление ре­циркуляционной сети

Сжатие данных осуществляется при прямом преобразовании информации в соответствии с выражением

Y = F(WTX).

Восстановление или реконструкция данных происходит при об­ратном преобразовании информации:

X = F(W'Y)

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

Y = WTX;

X = W'Y.

Наилучший автопрогноз достигается тогда, когда матрица весовых коэффициентов сформиро­вана в соответствии с методом главных компонент. Линейные рециркуляционные сети, в которых весовые коэффи­циенты определяются в соответствии с методом главных компонент, называются РСА-сетями.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]