3284 СИСТЕМЫ УПРАВЛЕНИЯ С НЕЙРОНЕЧЕТКОЙ ТЕХНОЛОГИЕЙ

Нейронечеткие технологии

Для повышения качества работы систем с нечеткой логикой за счет придания им возможности обучения в них вводят нейронные сети, связанные с использованием нейронной технологии. Комбинация нечет­кой логики и нейронной технологии называется нейронечеткой техноло­гией, а системы, в которых эта комбинация применяется, получили название нейронечетких систем управления или систем управления с нейронечеткой технологией. В таких системах удается объединить по­ложительные стороны нечеткой логики, а также нейронной технологии [1,3].

Основные сведения о нейронных сетях

Идея об имитации мыслительной деятельности человека с помощью компьютеров была высказана учеными в прошлом столетии. Свыше 60 лет тому назад исследователи создали первую электронную модель нервной клетки. С тех пор целая группа ученых разрабатывала математические модели и обучающие алгоритмы. Сегодня так называемые нейронные се­ти вызывают очень большой интерес и выделяются из всего того, что было достигнуто в области искусственных нервных клеток. Нейронные сети состоят из большого числа относительно простых вычислительных элементов, называемых нейронами, каждый из которых предназначен для имитации процессов, происходящих в одной клетке головного мозга. Некоторые ученые называют головной мозг биологической нейронной сетью, а его компьютерную имитацию - нейронной сетью. На рис.1 представлена типовая структура такой нейронной сети.

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис. I

 

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

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

Модель нервной клетки

Ученые, работающие в области нейронных сетей, исследовали различные модели клеток головного мозга. Остановимся на описании лишь одной обобщен­ной модели, используемой в технических приложениях [l, 2] .

Человеческий мозг содержит около 1011 нервных клеток, каждая из которых связана с другими клетками. Число таких связей пример­но равно 1014.

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.2

 

На рис.2 показана упрощенная схема нейрона (нерв­ной клетки) человека. Клетка включает в себя ядро, окруженное элект­рической мембраной. Каждый  нейрон имеет порог активации, который может быть плавающим и его область значений лежит между максимумом и минимумом. Чтобы повысить или понизить актива­цию данного нейрона с помощью других нейронов, существует   так называемые синапсы. Эти   синапсы передают уровень активизации  от нейрона-передатчика к нейрону-приемнику. Если синапс является возбуждающим, то уровень активации от нейрона-передатчика повышает активность нейрона-приемника. Если же синапс является успокаивающим, активация от нейрона-передатчика понижает активность нейрона-приемника. Синапсы отлича­ются между собой не только тем, что они возбуждают или успокаивают нейрон-приемник, но и по силе воздействия (синаптической силе). Вы­ходной сигнал каждого нейрона с помощью так называемого аксона по­ступает на свыше чем 10000 синапсов, оказывающих влияние на другие нейроны.

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

 

Математическая модель нейрона

Приведем обобщенную математическую модель, в соответствии с которой нейрон представляет собой безынерционное устройство с n входными сигналами , и одним выходным сигналом y (рис. 3). Процесс преобразования входа включает в себя: во-первых, вычисление функции передачи (функции распространения)

 

 

(I)

 

 

 

Рис.3

представляющей собой взвешенную сумму всех входных сигналов, получаемых от нейронов-передатчиков, где весовые коэффициенты wi определяются синаптической силой соответствующих входным сигналам синапсов. Возбуждающим синапсам соответствуют положительные значения, а успокаивающим синапсам - отрицательные значения весовых коэффициентов. Величина u называется уровнем активации или чистым выходом нейрона. Чтобы учесть то обстоятельство, что уровень активации нейрона в отсутствие входных сигналов xi не является нулевым, к взвешенной сумме добавляетcя так называемое смещение b ;

во-вторых, так называемую активационную функцию (функцию акти­вации F), преобразующую уровень активации u в выходной сигнал нейро­на y. Для этой цели используются различные функции, среди которых наиболее распространенной является сигмоидальная функция (рис.4), описываемая следующим выражением

 

y=F(u)=(1+e-u)-1.       (2)

В этой функции при любых значениях u множество значений y ограничено интервалом [0,1].

Крутизна нелинейной характеристики нейрона

 

 

 

определяется производной от активационной функции. Для сигмоидальной функции, описываемой (2), крутизна имеет вид

 

k=[1-F(u)]F(u)=(1+e-u)-1[1-(1+e-u)-1]                                     (3)

и изменяется в зависимости от уровня активации от малых значений (при отрицательных значениях u) до максимального значения (при нуле­вом уровне активации) и снова уменьшается при больших положительных значениях u.

Самой простой формой активационной функции является линейная функция, описываемая выражением

y=ku,                                                       (4)

где k - некоторая постоянная. В ряде случаев ее      принимают равной единице.

 

 

Двухслойная нейронная сеть

Более подробно рассмотрим математическую модель так называемой двухслойной нейронной сети (рис. 5). Хотя она, казалось бы, состоит из 3-х слоев, но входной слой часто не считают слоем, т.к. он не­посредственно не принимает участие в обработке входного сигнала. Поэтому за первый слой принимают скрытый слой, а за второй - выход­ной слой. Различают два режима работы нейронной схемы: рабочий ре­жим и режим обучения. В рабочем режиме имеет место прямое распро­странение сигнала от входа к выходу. Хотя применяются нейронные сети с обратной связью, мы ограничимся лишь изучением двухслойной сети с однонаправленным распространением входного сигнала. В ре­жиме обучения используется как прямое, так и обратное распростра­нение сигнала, которое сводится к тому, что сигнал ошибки между желаемым и действительным значениями выхода используется для под­стройки весов и смещений выходного и скрытого слоев.

 

 

 

 

 

 

 

 

Рис.5

 

Прямое распространение сигнала.  На входе имеем вектор x(1)=[x1,…,xn]T, приложенный к входному слою, который играет роль разветвителя ска­лярных входных сигналов, т.е. входной сигнал xk, прикладываемый к  k-му нейрону этого слоя, разветвляется на n сигналов, равных сигналу xk , которые поступают на каждый из n нейронов скрытого слоя. В общем случае выходные сигналы входного слоя могут приклады­ваться не ко всем нейронам скрытого слоя. Весовые коэффициенты скры­того слоя можно представить в виде матрицы

 

 

 

где (p,j)-й  элемент    этой матрицы есть весовой коэффици­ент, связывающий выход xj нейрона j входного слоя и чистый вход up(1) нейрона p скрытого слоя. Уровень активации (чистый вход) скрытого слоя представляет собой  n вектор

 

u(1)=W1x(1)+b(1),                                                     (5)

 

p-компонента которого имеет вид

 

 

 

(6)

 

 

где bp(1) - смещение p-го нейрона скрытого слоя, другими словами, p-й элемент вектора b(1).

Применение активационной функции F к каждой компоненте век­тора u(1) дает вектор

y(1)=F(u(1))=F(W1x(1)+b(1)),                               (7)

который является входным сигналом для выходного слоя, так что его можно обозначить как x(2)=y(1).

Уровень активации выходного слоя можно найти по формуле

 

u(2)=W2x(2)+b(2)= W2y(1)+b(2),                                 (8)

где b(2) - вектор смещения выходного слоя, а матрица весовых коэффи­циентов выходного слоя имеет вид

 

 

При этом чистый входной сигнал нейрона q выходного слоя определяется выражением

 

(9)

 

где bq(2) - смещение этого нейрона.

Здесь (q,l)-й элемент  этой матрицы является весовым ко­эффициентом, связывающим чистый вход uq(2) нейрона q выходного слоя и выход yl(1) нейрона l скрытого слоя.

Выходной вектор y двухслойной нейронной сети, равный выход­ному вектору y(2) выходного слоя, определяется выражением

 

y=y(2)=F(u(2))=F(W2y(1)+b(2)).                                 (10)

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

С учетом (7) и (10) математическую модель двухслойной нейрон­ной сети можно представить так

y=F(W2F(W1x+b(1))+b(2))=F{W2F[W1x+b(1)]+b(2)}.           (11)

 

Обратное распространение сигнала

В этом режиме происходит подстройка весовых коэффициентов вы­ходного и скрытого слоев. Для образцового входного сигнала x*=[x1*,…,xn*] имеется соответствующий векторный желаемый выходной сигнал y*=[y1*,…,yn*]. Следовательно, для каждого q нейрона выходного  слоя задано жела­емое значение yq*. Обозначим выходной сигнал q нейрона выходного слоя как yq . Тогда сигнал ошибки обучения

εq=yq*-yq, (12)

равный разности между желаемым и действительным значениями на выходе q нейрона выходного слоя, легко вычислить. Аналогичным образом можно найти сигналы ошибки,  соответствующие выходам остальных нейронов выходного слоя. При этом векторный сигнал ошибки обучения получаем, вычитая вектор y из желаемого вектора:

ε=y*-y. (13)

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

При этом  как критерий качества обучения используется квад­рат ошибки обучения

J1= εT ε                                                        (14)

или средняя квадратическая ошибка обучения

 

(15)

где

 

ε(k)=y*(k)-y(k), (16)

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