Опишем типовой подход к построению алгоритмов обучения и использования гибридных нейронных сетей.
Предположим, что гибридной сетью должно быть реализовано (неизвестное) отображение 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 – по формулам:
Соответствующие выражения могут быть получены и для остальных коэффициентов.