Опишем типовой подход к построению алгоритмов обучения и использования гибридных нейронных сетей.

Предположим, что гибридной сетью должно быть реализовано (неизвестное) отображение yk = f(xk) = f(xk1 , xk2,...,xk), k = l,2,...,N, при наличии обучающего множества { (х1, у1), … , (хN, yN) }.

Для моделирования неизвестного отображения f используем ранее рассмотренный упрощенный алгоритм нечеткого вывода, применяя следующую форму записи предикатных правил:

Пi: если х1 есть Аi1 и xi есть и ... и хп есть Аin, тогда у = zi, i = 1, 2, ..., m,

где Aij– нечеткие числа треугольной формы, zi­– веществен­ные числа, определяя степень истинности i-го правила с помощью операции умножения (Larsen):

(здесь можно использовать и другие представления для модели­рования логического оператора «И») и определяя выход нечеткой системы дискретным аналогом центроидного метода:

Введение функции ошибки для k-го предъявленного образца вида

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

где η, как и раньше, – константа, характеризующая скорость обу­чения.

Более детально алгоритм настройки рассмотрим на примере системы, включающей два правила:

П1: если х есть A1, тогда у = z1,

П2: если х есть А2, тогда у = z2,

 при этом предполагается, что нечеткие понятия A1 («малый») и А2 («большой») имеют сигмоидные функции принадлежности

 характеризующиеся параметрами α1 , α2 , b1 , b2.

Степени истинности правил определяются в данном случае со­отношениями

а выход системы — выражением

Предположим, что имеется обучающее множество {(x1, у1), ... ..., (xN, yN)}, отображающее неизвестную функцию f.

Требуется: осуществить такую настройку параметров системы α1 , α2 , b1 ,b2 , z1 , z2 , при которой обеспечивается наилучшая ап­проксимация данной функции.

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

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

Рис. 4. Симметричные функции принадлежности

Аналогичным путем могут быть получены развернутые выра­жения для коррекции коэффициентов α1 , α2 , b1 ,b2 . Исходные соотношения таковы:

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

Данные функции характеризуются всего двумя параметрами и b), в определенном смысле являются симметричными (см. рис. 4) и удовлетворяют уравнению

A1(x) + А2(x) = 1.

Заметим, что из последнего и ранее полученных уравнений следует:

Последующие выкладки таковы:

где

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

Другим примером может служить система, имеющая следующую базу знаний:

П1: если х1 есть L1 и х2 есть L2 и x3 есть L3, тогда у есть Н,

П2: если х2 есть H1 и х2 есть Н2 и x3 есть L3, тогда у есть М,

П3: если х3 есть H1 и х2 есть Н2 и x3 есть Н3, тогда у есть S,

где x1, х2, x3  входные переменные, у – выход системы,

L1, L2, L3, H1, Н2, Н3, Н, М, S — некоторые нечеткие множества с функциями принадлежности сигмоидного типа:

Для определения выходной переменной используется алгоритм вывода Tsukamoto (см. выше), т.е.

1)      подсчитываются значения истинности предпосылок для каждого правила:

α1 = L1(a1) ˄ L2(a2) ˄ L3(a3),

α1 = H1(a1) ˄ H2(a2) ˄ L3(a3),

α1 = H1(a1) ˄ H2(a2) ˄ H3(a3),

где в данном случае α1, α2, α3  — текущие значения входов системы;

2)      для каждого правила определяются частные выходы:

3)      находится общий выход системы:

Изложенный процесс иллюстрируется рис. 5.

Рис. 5. Иллюстрация алгоритма вывода Tsukamoto

 

Гибридная нейронная сеть, отражающая приведенный механизм вывода, представлена на рис. 6. Заметим, что сети с подобной архитектурой в англоязычной литературе получили название ANFIS (AdaptiveNeuro-FuzzyInferenceSystem).

Данная сеть может быть описана следующим образом.

1.      Слой 1 (Layer 1). Выходы узлов этого слоя представляют собой значения функций принадлежности при конкретных (заданных) значениях входов.

2.      Слой 2 (Layer 2). Выходами нейронов этого слоя являются степени истинности предпосылок каждого правила базы знаний системы, вычисляемые по формулам:

α1 = L1(a1) ˄ L2(a2) ˄ L3(a3),

α1 = H1(a1) ˄ H2(a2) ˄ L3(a3),

α1 = H1(a1) ˄ H2(a2) ˄ H3(a3).

Все нейроны этого слоя обозначены буквой Т, что означает, что они могут реализовывать произвольную t-норму для моделирования операции «И».

3.      Слой 3 (Layer 3). Нейроны этого слоя (обозначены буквой N) вычисляют величины:

4.      Слой 4 (Layer 4). Нейроны данного слоя выполняют операции:

β­1z1 = β1H-1(a1), β­2z2 = β2M-1(a2),

β­1z1 = β3S-1(a3).

5.      Слой5 (Layer 5). Единственный нейрон этого слоя вычисляет выход сети:

z0 = β1z1 + β2z2 + β3z3.

Рис. 6. Структура гибридной нейронной сети (архитектура ANFIS)

Корректировка параметров системы здесь производится в соответствии с ранее рассмотренным подходом. Так, например, настройка коэффициентов b4, c4 и c5 – по формулам:

Соответствующие выражения могут быть получены и для остальных коэффициентов.