3.11.4. Распространение ошибки в нечетком нейронном контроллере

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

Стандартный метод состоит в добавлении еще одного модуля в архитектуру, учитывая необходимость коррекции ошибок. Мы рассматриваем вычисления управляющей переменной по данным измерения входных переменных как последовательную процедуру в многослойных НС, где входные сигналы распространяются в прямом направлении(feed forward), но если действительные значения выходов отличаются от желаемых, то ошибка распространяется в обратном направлении с учетом величин, рассчитанных во время прямого хода.

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

(так называемое - отображение).

В соответствии с этим будем отображать интервалы трапециидальной или треугольной функцией принадлежности (ФП). В такой постановке рассмотрим для простоты один слой основных правил.

Обычно правила пишутся в такой форме:

С каждым значением мы свяжем значение ФП .

Рассмотрим теперь полную архитектуру нечеткого контроллера. Она приведена на рис.1.

Рис.1. Архитектура системы.

Она состоит из следующих компонентов:

  1. MSF - модуль, реализующий процедуру фаззификации,
  2. T - модуль для агрегации входных данных,
  3. S - модуль для агрегации выходных данных
  4. DEFUZ - модуль, выполняющий процесс дефаззификации.

Выбор модуля T осуществляют операцией минимизации (пересечения), S- операцией максимизации (объединения) соответственно.

На рис. 1 имеется 2 входа и для пяти правил, где MSF заданы как .

Значения, полученные MSF-модулями, передаются сначала T-модулям, а потом через S-модули к процессу дефаззификации. Выходной сигнал сравнивается с желаемым выходным сигналом и определяется ошибка . Проблема заключается в настройках входных и выходных MSF-модулей.

Процедура обучения.

Ошибка является комбинацией бокового смещения доменов и зависит от формы функций .Эти ошибки распространяются в обратном направлении в S и T - модулях соответственно. Теперь мы можем записать

.

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

Будем рассматривать следующие два метода дефаззификации: метод центра тяжести(COA) и метод среднего значения максимума (MOM). После того, как получено четкое выходное значение , мы должны определить сигнал ошибки как разницу между выходным значением и желаемым выходным значением .

Рассмотрим MOM-процедуру дефаззификации.

Существует 4 возможности для выходной величины принимать неверное значение:

  1. Если желаемое значение расположено под вершиной S, но сдвинуто немного влево или вправо (рис.2 - а)
  2. Если желаемое значение принадлежит области определения нечеткого множества , которое генерируется вершиной , но не располагается под вершиной S ( рис. 2 - б)
  3. Если желаемое значение не принадлежит области определения нечеткого множества , которое генерируется вершиной , но оно по-прежнему находится внутри области принадлежности S (рис.2 - а)
  4. Если желаемое значение не принадлежит области определения S (рис.21 - б)

рис.2. Группировка таким образом, чтобы изменить форму нечетких множеств Т (МОМ)

В двух первых случаях вершина S сгенерирована правильным выходным нечетким множеством T, но она смещена. Мы предполагаем, что только влияет на неверное значение выхода . Эту ошибку можно преодолеть, изменяя форму таким образом, чтобы значения вершины было(прерывистые линии на рис.2)

В третьем случае вершина S сгенерирована неверным выходным нечетким множеством. Эта ошибка происходит из-за входных нечетких множеств, которые мы сначала должны изменить, чтобы проверить, что вершина S сгенерирована правильным .

Предполагаем, что вершина S сгенерирована и принадлежит области принадлежности . Следовательно, мы должны увеличить значения на выходе и уменьшить величину . Затем применяем таким же образом, как и в двух первых случаях.

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

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