Смекни!
smekni.com

Исследование возможности применения искусственных нейронных сетей для автоматического управления (стр. 11 из 21)

4.2.2 Сети прямого распространения информации

Однослойные сети

Рассмотрим нейронные сети, состоящие из одного слоя нейронных элементов, который осуществляет обработку входной информации.

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

Тогда выходное значение j-го нейронного элемента второго слоя можно представить как:

где Tj – порог j-го нейронного элемента выходного слоя; wij – сила синаптической связи между i-м нейроном распределительного слоя и j-м нейроном обрабатывающего слоя.

Совокупность весовых коэффициентов сети можно представить в виде матрицы размерностью п х т:

Тогда вектор-столбец взвешенной суммы в матричном виде определяется следующим образом:\

где T– вектор-столбец порогов нейронных элементов второго слоя.

Однослойный персептрон

Данную структуру предложил американский ученый Ф. Розенблатт в 1959 г. для нейронной сети, которую он назвал персептроном. Персептрон - это сеть, состоящая из S, А и R нейронных элементов (рис. 5.4). Нейроны слоя S называются сенсорными и предназначены для формирования входных сигналов в результате внешних воздействий. Нейроны слоя А называются ассоциативными и предназначены для непосредственной обработки входной информации. Нейроны слоя R называются эффекторными. Они служат для передачи сигналов возбуждения к соответствующему объекту. В сетях персептронного типа нейрон одного слоя связан со всеми нейронам другого слоя и не связан с нейронами своего собственного слоя. Простой персептрон состоит всего из двух слоев – входного и выходного. На входной слой подаются независимые и зависимые переменные. Нейроны входного слоя обрабатывают поступившую информацию и передают ее нейронам выходного слоя. Нейроны выходного слоя, в свою очередь, обрабатывают поступившую информацию и выдают ее на выход сети.

Многослойные сети

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

Входной слой (inputlayer) нейронных элементов выполняет распределительные функции. Выходной слой (outputlayer) нейронов служит для обработки информации от предыдущих слоев и выдачи результатов. Слои нейронных элементов, расположенные между входным и выходным слоями, называются промежуточными или скрытыми (hiddenlayers). Как и выходной слой, скрытые слои являются обрабатывающими. Выход каждого нейронного элемента предыдущего слоя нейронной сети соединен синаптическими связями со всеми входами нейронных элементов следующего слоя. Таким образом, топология многослойной нейронной сети является однородной и регулярной (рис. 5.5).

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

Многослойный персептрон

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

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

4.2.3 Сети обратного распространения информации

4.2.3.1 Многослойные сети

Рекуррентные (Recurrentnetworks), рециркуляционные (Recirculationnetworks) и релаксационные нейронные сети характеризуются как прямым (feedforward), так и обратным (feedback) распространением информации. При этом обратное распространение информации осуществляется по-разному для таких нейронных сетей. В рециркуляционных нейронных сетях распространение информации происходит по двунаправленным связям, которые имеют в различных направлениях разные весовые коэффициенты. При обратном распространении сигналов в таких сетях осуществляется их преобразование с целью восстановления входного образа. При прямом распространении сигналов происходит сжатие входных данных. В результате осуществляется рециркуляция информации. Обучение рециркуляционных нейронных сетей производится без учителя. Рекуррентные нейронные сети характеризуются обучением с учителем и обратными связями, по которым передаются результаты обработки сетью данных на предыдущем этапе. В результате этого входом рекуррентной нейронной сети в каждый фиксированный момент времени является вектор входных данных и результаты обработки информации сетью на предыдущем этапе. Обучение таких сетей базируется на алгоритме обратного распространения ошибки. Это дало повод, несмотря на различия между рекуррентными и рециркуляционными нейронными сетями, отнести их к одному классу.

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

Рекуррентными нейронными сетями называются такие сети, в которых выходы нейронных элементов последующих слоев имеют синаптические соединения с нейронами предшествующих слоев. Это приводит к возможности учета результатов преобразования нейронной сетью информации на предыдущем этапе для обработки входного вектора на следующем этапе функционирования сети. Рекуррентные сети могут использоваться для решения задач прогнозирования и управления. Существуют различные варианты архитектур рекуррентных нейронных сетей. В 1986 г. Джордан (Jordan) предложил рекуррентную сеть (рис. 5.6), в которой выходы нейронных элементов последнего слоя соединены посредством специальных входных нейронов с нейронами промежуточного слоя. Такие входные нейронные элементы называются контекстными нейронами (contextunits). Они распределяют выходные данные нейронной сети на нейронные элементы промежуточного слоя.

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

где vij– весовой коэффициент между i-м нейроном промежуточного и j-м нейроном выходного слоев; pi(t) – выходное значение i-го нейрона промежуточного слоя; Tj– пороговое значение j-го нейрона выходного слоя.

Взвешенная сумма i-ro нейронного элемента промежуточного слоя определяется следующим образом:


где wji– весовой коэффициент между j-м нейроном входного и i-м нейроном промежуточного слоев;

р – число нейронов выходного слоя; wki– весовой коэффициент между k-м контекстным нейроном и i-м нейроном промежуточного слоя;

Тj– пороговое значение i-го нейрона промежуточного слоя;

n– размерность входного вектора.

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

pi(t)=F(Si(t))(5.2.1.)

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

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

В такой сети выходы нейронных элементов промежуточного слоя соединяются с контекстными нейронами входного слоя.

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

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

Выходное значение k-го нейрона промежуточного слоя определяется следующим образом:

pk(t-1)=F(Si(t-1))(5.2.3.)

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

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