Научная статья на тему 'Настройка параметров адаптивного контроллера с использованием нечеткой нейронной сети'

Настройка параметров адаптивного контроллера с использованием нечеткой нейронной сети Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
270
61
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Ткач С. Н.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Настройка параметров адаптивного контроллера с использованием нечеткой нейронной сети»

эффициенты юу (t), i,j = 1,3 , и сопряженные

функции pi (t), i = 1,3 , t e [0,5]. Целью работы нейронной сети является перевод ее из состояния (-1, 1, -0,5) в состояние (1, -1, 0,5). Эффект запаздывания учитывается у первого нейрона:

Ф1 (t)= sin10t, t e[-1,0].

Параметры режима, представленного на рисунке 1, следующие: коэффициенты ау = 0,

Mi = 5,4 ■ 1010, ay = 1, i, j = 1,3 , точность вычислений 10-8. За 1062 итерации значение минимизируемого функционала достигло величины 3,5198489 ■ 10-7 (I(0) = 1,5314077 ■ 1011), что означает достаточно высокую эффективность метода.

Параметры режима, представленного на рисунке 2: коэффициенты а у = 1, Mi = 10000,

ay = 0,5, i,j = 1,3, точность вычислений 10-8. За

720709 итераций значение минимизируемого функционала достигло величины 3,1694692 (I(0) = 30212,841).

Список литературы

1. Андреева Е.А. Оптимизация искусственной нейронной сети: Применение функционального анализа в теории приближений. //Сб. научн. тр. - Тверь: ТвГУ, 1996. - С. 7-12.

2. Андреева Е.А., Колмановский В.Б., Шайхет Л.Е. Управление системами с последействием. - М.: Наука, 1992.

3. Андреева Е.А., Пустарнакова Ю.А. Оптимизация нейронной сети с запаздыванием: Применение функционального анализа в теории приближений: //Сб. научн. тр. - Тверь: ТвГУ, 2000. - Ч.1 - С. 14-30.

4. Евтушенко Ю.Г. Методы решения экстремальных задач и их применение в системах оптимизации. - М.: Наука, 1982.

5. Интеллектуальные процессы и их моделирование. //Сб. под ред. Е.П. Велихова. - М.: Наука, 1987.

6. Кащенко С.А., Майоров В.В. Об одном дифференциально-разностном уравнении, моделирующем импульсную активность нейрона// Математическое моделирование. - 1993. -Т. 5. - №12. - С. 13-25.

7. Кащенко С.А., Майоров В.В. Волновые структуры в клеточной сети из формальных нейронов Хатчинсона// Радиотехника и электроника. - 1995. - Вып. 6. - С. 925-936.

8. Майоров В.В., Мышкин И.Ю. Математическое моделирование нейронов сети на основе уравнений с запаздыванием// Математическое моделирование. - 1990. - Т. 2. - №11. -С. 64-76.

9. Мышкис А.Д. Линейные дифференциальные уравнения с запаздывающим аргументом. - М.: Наука, 1972.

10. Эльсгольц Л.Э., Норкин С.Ю. Введение в теорию дифференциальных уравнений с отклоняющимся аргументом. -М.: Наука, 1971.

11. Эндрю А. Искусственный интеллект. - М.: Мир,

1985.

12. Albertini F., Sontag E. For Neural Networks Function Determines Form// Neural Networks. 1993. Vol. 6. P. 975-990.

13. Farotimi O., Dembo A., Kailath T. A general weight matrix formulation using optimal control// IEEE Transactions on neural networks. 1991.Vol. 2, №3.

14. Hopfield J. J. Neural networks and physical systems with emergent collective computational abilities// Proc. Nat. Acad. Sci. 1988. Vol. 79. P. 2554-2558.

НАСТРОЙКА ПАРАМЕТРОВ АДАПТИВНОГО КОНТРОЛЛЕРА С ИСПОЛЬЗОВАНИЕМ НЕЧЕТКОЙ НЕЙРОННОЙ СЕТИ

С.Н. Ткач

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

Широкое развитие получили так называемые нечеткие системы, использующие средства нечеткого управления. Типичным представителем такой системы является нечеткий контроллер, работающий с базой нечетких правил и реализующий операции нечеткой алгебры при формировании нечеткого вывода. В соответствии с определением 1 из [1] система управления, ориентированная на обработку нечетких знаний, относится к системе управления интеллектуальной в малом.

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

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

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

При проектировании нечетких систем управления реального времени на первый план выходят

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

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

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

На основании вышеизложенного сформулируем нашу задачу: разработка модели нечеткого контроллера на базе нечеткой нейронной сети, способного управлять сложными динамическими системами, с возможностью обучения и добавления новых правил, на основании схемы (рис. 1).

_Рис. 1_

Дадим краткую характеристику каждому из блоков схемы.

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

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

Блок нечетких правил (БНП). В этом блоке производится нечеткий вывод в рамках концепции

нечетких правил если-то. Под нечетким правилом если-то понимается правило вида:

Если А, то В (А ^ В), где А - значения лингвистических переменных, описывающих состояние больного, а В - значения лингвистической переменной, описывающей предпринимаемые действия.

Дефаззификация. Функции данного блока являются обратными функциям блока фаззифи-кация. Дефаззификацией будем называть процесс перевода значений лингвистической переменной в точные значения управляющего сигнала.

База метазнаний. Существуют примеры [10], в которых использование традиционных методов дефаззификации приводит к неприемлемым результатам. Поэтому необходимы механизмы де-фаззификации, основанные на общих знаниях о свойствах выходных параметров системы, которые заложены в блок база метазнаний.

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

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

Нечеткие правила и нечеткий логический вывод

Используя нечеткие множества, динамическое поведение системы можно описать при помощи нечетких правил, основанных на экспертных данных. Обычно эти правила выражаются в форме ЕСЛИ (множество состояний удовлетворяется), ТО (множество следствий можно вывести) следующим образом:

ЕСЛИ X есть Аi и У есть Вь ТО Z есть С Лингвистические переменные X, У являются предпосылками правила, а Z - следствием правила. Аь Вь С суть возможные значения лингвистических переменных. Они называются лингвистическими термами, выражающими понятие нечеткости, и представляются нечеткими множествами. Лингвистические переменные в предпосылках (следствиях) правила образуют нечеткий вход (выход). Терм-множество определяет количество лингвистических термов (нечетких множеств), связанных с каждой лингвистической переменной на входе и выходе системы. Число лингвистических термов предпосылок отражает точность нечеткого представления и определяет максимальное количество правил, которые можно построить. Например, если с лингвистическими переменными Х и У соотносятся два и три лингвистических термов соответственно, то для описания процесса

может быть сформулировано шесть нечетких правил.

Рассмотрим динамическую систему S, управляемую одним параметром С и описываемую n переменными X1v.., Xn. Каждая переменная имеет область значений Н = [bj, h2], заданы отображения ц: [hj5 h2] ^ [0,1], имеющие смысл функций принадлежности значений лингвистических переменных. Управляющее воздействие, приводящее систему S в желаемое состояние, будем описывать нечеткими правилами вида если-то. Согласно концепции нечеткого логического вывода конъюнкция значений входных переменных определяет значение, соответствующее выходному параметру. Все правила обрабатываются параллельно, их выход образует нечеткое множество, которое для получения точного значения необходимо де-фаззифицировать. В качестве T-norm оператора, использующегося в конъюнкции входных значений, обычно применяется оператор min, а в качестве S-norm оператора для агрегирования выходных значений нечетких правил - оператор max (процедура Заде-Мамдани).

Методы дефаззификации

Дефаззификация играет важную роль при реализации методов моделирования нечетких систем, использующихся в системах управления. Рассмотрим основные способы дефаззификации. На практике обычно используются метод центра области (ЦО) и метод среднего максимального (СМ).

Допустим, что F - нечеткое подмножество множества Х. Нам необходимо найти некоторое дефаззифицированное значение, соответствующее F.

Первый класс методов дефаззификации - так называемые смешивающие методы (метод ЦО), в которых искомое значение ищется в виде

X* = Z Wi ■ Xi, где Wi = цf(xi)/ ZMxi)-

Xi€X Xj€X

Заметим, что данная формула существенно объединяет все предложенные решения, и в некоторых случаях приводит к возникновению проблем.

Существует обобщение этого метода [5,6], заключающееся в том, что нечеткое множество F сначала преобразуется в нечеткое множество Е, после этого находится x*. Преобразование исходного множества может производиться разными способами. Упомянем два важнейших класса преобразований.

Преобразования первого класса описываются следующими формулами:

це(х) = 0, ^f(x) < K, це(х) = Mx), Mx) ^ K.

В действительности более интересен для рассмотрения модифицированный метод

M* = maxx Mx),

Mx) = 0, Mx) < KM*,

Це(х) = Мх), Мх) ^ КМ .

Другой класс преобразований представляется формулой:

Це(х) = (Мх))"

Стоит заметить, если а = 1, тогда мы имеем дело с методом ЦО и если а ^ тогда мы получим метод СМ.

Получив множество Е, находим искомое значение

Е^Е(х1) • х1

* x,eX

x = - '

Z ЦE (xi )

Схема процесса дефаззификации показана на рисунке 2.

F Пре о бразо вание нечеткого множества E Определение Wi Выбор решения методом усреднения

Рис. 2

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

^Е (XI)

Pi =

Z MxiK

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

1. Установим ао = 0, а1 = а1 - 1 + р1.

2. Пусть 81 = [а1 - 1, а1].

3. Сгенерируем случайное число g е [0,1].

4. Если g е 81, то х = х1.

Аналогично смешивающим методам данный метод можно обобщить, введя преобразование Е ^ Е. Схема процесса дефаззификации показана на рисунке 3.

Прео бразо вание E Определение Fi Выбор решения xX

множества экспериментом

Рис. 3

Нечеткая нейронная сеть

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

x

F

Для преодоления этих трудностей используются монотонные функции принадлежности, предложенные Цукамото, где дефаззификация -это применение обратной функции [11]. В простейшем случае такая функция принадлежности характеризуется двумя точками а, Ь, определяющими носитель нечеткого множества, в которых ц(а) = 0 и ц(Ь) = 1, а в остальных определяется следующим образом:

X + а, если (х е [а,Ь] ла < Ь)

V (х е [Ь,а] л а > Ь) . в противном случае

Ц(х) =

a - b 0

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

х = ц-1(у) = -у (а - Ь) + а, где у е [0,1].

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

На рисунке 4 показана простая нечеткая нейронная сеть, включающая два нечетких правила

й1: ЕСЛИ Т - НИЗКАЯ И Н - НЕВЫСОКАЯ ТО Х- НИЗКАЯ, К2: ЕСЛИ Т - ВЫСОКАЯ И Н - НЕВЫСОКАЯ ТО Х - ВЫСОКАЯ,

где НИЗКАЯ, ВЫСОКАЯ и НЕВЫСОКАЯ - термы соответствующих лингвистических переменных, окружности представляют узлы сети, а прямоугольники - нечеткие веса.

М11

НИЗКАЯ

НЕВЫСОКАЯ

ß-11

Рис. 4

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

ные входные значения посылаются узлам правил по соответствующим соединениям. Каждое соединение имеет нечеткий вес, образующий комбинацию с входным значением. В нашем случае веса - это функции принадлежности термов входных переменных. Комбинация веса ^ik и точного входного значения xi - это значение принадлежности ^ik(xi). Если входная переменная с одним и тем же лингвистическим значением используется в более чем одном правиле, то она связывается с соответствующими узлами правил соединениями с одним и тем же весом (см. табл. и рис. 4, вес ц21). Использование одного и того же веса -важный аспект предлагаемой архитектуры. Мы пытаемся интерпретировать поведение сети и, следовательно, нам необходимы одинаковые функции принадлежности для одинаковых термов лингвистической переменной.

Узлы правил Rj принимают все приходящие значения принадлежности и, используя T-norm оператор, например оператор min, вычисляют конъюнкцию предпосылок. Эти действия производятся всеми узлами параллельно. Затем состояния узлов посылаются на выходной слой, состоящий из одного или более узлов, описывающих управляющее воздействие. Веса соединений между промежуточным и выходным слоями - это функции принадлежности vk термов вывода правила. Вычисления, выполняемые на соединениях, представляют нечеткую импликацию. В результате получается нечеткое множество vR., описывающее вывод каждого правила Rj. Узлы правил с одинаковыми выходными лингвистическими значениями соединяются с соответствующим выходным узлом через один и тот же вес. В этом случае в выходной узел приходит более одного значения (см. табл. 1).

Каждый выходной узел принимает нечеткие множества, агрегирует их и при помощи подходящей процедуры дефаззификации D определяет точное выходное значение.

Для обучения нечеткой нейронной сети необходимо знать, какую долю в конечный результат

значения принадлежности

четкии вход

значения

принадлежности

(конъюнкции)

модифицированные нечеткие множества

Таблица

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

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

R

R

V

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

m

Z j ¿j

С = j=1 j , m

Z rj

j=1

где m - число правил, а rj - результат вывода правила Rj.

Следовательно, для построения нечеткой нейронной сети необходимо определить входные и выходные переменные, для каждой переменной выбрать начальные неоптимальные терм-множества, описываемые лингвистическими термами, например, НИЗКАЯ, ВЫСОКАЯ и т.п. Если нечеткие правила неизвестны, то мы должны создать сеть, представляющую все правила, которые можно сформулировать при помощи всех термов всех переменных. Например, если мы имеем MISO (multiple input single output) систему с двумя входными переменными и пятью термами для каждой из них, то мы должны построить нечеткую нейронную сеть с 2 входными узлами, 1 выходным узлом и 53 = 125 промежуточными узлами. На рисунке 5 приведен пример нечеткой сети с тремя термами для каждой переменной.

Дефаззификация с использованием метазнаний

Как было отмечено, при построении нечетких логических систем для дефаззификации обычно используются метод ЦО и метод СМ, например, в случае нечеткой нейронной сети, применяется метод ЦО. Эти две процедуры могут рассматриваться как взвешенное агрегирование, объединяющее

точный выход

общие нечеткие веса (выводы)

27узлов (правил)

общие нечеткие веса

(предпосылки)

точный вход

Рис. 5

возможные решения. Хотя в большинстве случаев стандартные методы дефаззификации дают неплохие результаты, существуют примеры [10], в которых использование таких процедур приводит к неудовлетворительным решениям. Основная проблема, возникающая при использовании данных методов, состоит в существовании двух или более различных решений, объединение которых приводит к неприемлемому результату. В такой ситуации необходимо определить, в каких случаях мы можем объединять решения, а в каких нет. Далее мы рассмотрим общий подход к проблеме де-фаззификации, который поможет нам избежать затруднения, присущие традиционным методам де-фаззификации.

Суть метода заключается в следующем. Во-первых, достаточно очевидно, что процесс дефаз-зификации будет более эффективен, если мы воспользуемся некими метазнаниями, определяющими возможность объединения двух возможных решений. Во-вторых, процесс дефаззификации может рассматриваться как более общая задача кластеризации (clustering problem). Действительно, в стандартном методе дефаззификации, методе ЦО, мы предполагаем, что множество решений -это группа (cluster), а само решение - это центр группы (cluster's center). Эти соображения позволяют нам позаимствовать некоторые идеи из теории нечеткого группирования (fuzzy clustering theory) [10].

Предположим, что мы имеем некую базу правил, определяющих возможность сочетания двух вероятных решений. В частности, допустим, что задано соотношение R: XxX ^ [0, 1], определяющее для каждой пары x, y е X возможность объединения решений х и у. Допустим также, что соотношение R симметрично, то есть R(x,y) = = R(y,x), и что большее значение R(x,y) соответствует большей возможности сочетания решений х и у. Следовательно, R(x,y) = 0 соответствует двум несочетаемым решениям. Также предположим, что R(x,x) = 1.

Пусть F - нечеткое подмножество множества X, которое необходимо дефаззифицировать. Обозначим множество F как F1 и найдем х1 такой, что ^F1(xi) = maxX ^f1(x). Затем вычислим F2:

(x) = (^F1 (x) - ^F1 (x) • R(xi,x)) v 0. Иными словами, мы предполагаем, что х1 -это центр кластера, и пытаемся найти другой центр, в котором влияние х1 наименьшее. Фактически, х1 - это пробное решение.

Очередной шаг - нахождение следующего пробного решения

^F2 (x2) = maxX №2(x)-Теперь построим F3:

(x) = (^f2 (x) - ^f2 (x) • R(x2,x)) v 0.

Следуя далее согласно этой процедуре, получим

цг.+1 (х) = (цр (х)-цр (х) ■ Щх,,х)) v 0,

где Xi такое, что

^(х.) = шахх ^ц(х).

Процесс заканчивается, когда максимальное значение будет меньше некоторого 5. В результате мы получим q различных пробных решений Х1, Х2, ..., Xq.

Далее находим модифицированные пробные решения, связанные с кластером каждого пробного центра х.

Л = 2 . мр(х|)х|К(х|,х|)

2 Мх.Щх^х.) После этого вычисляем оценку Т., связанную с 1-м кластером

Л

Т| = 2 Мх) ■ К(х,х|).

хеХ

Итак, мы имеем пробные решения и связанные с ними оценки Т.. Теперь необходимо выбрать один из этих элементов в качестве решения. Определим распределение вероятностей

Т«

Р| = ~^ . 2|Т.Г

При помощи случайного эксперимента получаем дефаззифицированное решение.

Следуя приведенным рассуждениям, модифицируем процедуру дефаззификации в нечеткой нейронной сети. Пусть С нечеткое множество, состоящее из элементов {V--1 (г.), г. I . = 1,...ш}, где

ш - число правил, V^(г.) - точное значение, а

г| - значение принадлежности, полученное |-м правилом. Обозначим С как С1 и найдем с1 такой, что

^ (с1) = шахС VC1 (х).

Вычислим С2

Vc2 (х) = (Vc1 (х) - Vc1 (х) ■ Щс1,х)) v 0. Продолжаем определение С., пока vCi(x)

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

2.v с(х.)х|К(с1,х|)

Л

с. =-

2 vc(xJ)R(Cl,xJ)

Определяем оценки Т. и вычисляем распределение вероятностей

Р. =

2 V с(х) ■ R(x,ci)

хеС_

Л "

2.( 2Vс(х)■ R(x,cJ))

хеС

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

Л

в качестве решения один из элементов с.. Оценки принадлежности г. модифицируются согласно формуле

Л

г. = ггЯ( vR1(Гj), с.).

Таким образом, процедура дефаззификации дает решение, существенно опираясь на метазнания, выраженные в виде функции сочетания R(x,y).

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

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

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

Рассмотрим систему с п переменными состояния Х1? ..., Хп. Определим нечеткую степень приближения состояния к оптимальному 01 как

01 = шш^Х""™' (х1),..., ^ХРпЙШа' (хп)},

где функции принадлежности цХ*™^ определяются исходя из конкретных требований системы.

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

= ш1п{ цс°ШРеп8а^1 (х^...^),...,^01^™8^ (х1,...,хп)},

где функции принадлежности цс°ШРеп8а^. также определяются согласно требованиям системы. Более того, может существовать более одной ^ю^еш^е., которые могут зависеть от двух или более переменных состояния.

Общая нечеткая степень приближения вычисляется как

О = 02), где операция g определяется исходя из поставленной задачи. В одних случаях это может быть опе-

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

Л

рация тш, в других - более сложная операция, зависящая, допустим, от знака текущих переменных состояния. Например, мы будем использовать если все переменные или положительные, или отрицательные, и О2, если они как положительные, так и отрицательные.

Нечеткую ошибку нечеткой нейронной сети (она нужна для настройки функций принадлежности) определим следующим образом

Е = 1 - О.

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

Е4 = 1 - тт{Т|(Дх,)1 1 е {1,...,п}}, где Дх1 - изменение переменной Х1, а т1 - функция принадлежности, дающая нечеткое представление желаемого изменения соответствующей переменной.

Теперь мы можем построить алгоритм обучения. Для каждого узла правила К известно значение конъюнкции его предпосылок г и значение следствия сК. В силу того, что мы используем

монотонные функции принадлежности, сК является точным значением. Определив в выходном узле управляющее воздействие, применив его к системе, мы получим новое состояние. Далее распространяем нечеткую ошибку Е, нечеткую ошибку перехода Е( и текущие значения переменных состояния обратно по сети. Для каждого узла правила Кр вносящего вклад в конечное управляющее воздействие, то есть для которого г Ф 0, можно определить, приводит ли вывод данного правила систему в лучшее состояние или в состояние с худшими значениями переменных состояния. В первом случае для увеличения вклада в общий результат узел правила следует сделать более чувствительным, во втором наоборот.

Процедура обучения состоит из трех шагов.

На шаге 1 все правила, приводящие к редук-тивному результату, например к отрицательным значениям там, где требуются положительные и наоборот, удаляются. Более того, каждое правило имеет счетчик, уменьшающийся всякий раз, когда правило не используется, то есть г = 0. В противном случае, когда г Ф 0, счетчик устанавливается в максимальное значение.

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

узел правила удаляется. Далее каждому правилу ставится в соответствие собственное значение ошибки, которое накапливает нечеткую ошибку перехода: если правило вносит редуктивный результат, Е( добавляется без изменений, если нет, то Е( взвешивается нормированной разностью между выходным значением правила и выходным значением всей сети. В конце шага 2 из каждой группы узлов правил с одинаковыми предпосылками, оставляется узел с наименьшим значением ошибки, все остальные узлы удаляются. Таким образом, получается сеть с минимальным количеством узлов, необходимых для управления процессом.

На шаге 3 производительность нечеткой нейронной сети улучшается путем настройки функций принадлежности. Считаем, что мы используем монотонные функции принадлежности Цука-мото. Каждая функция принадлежности характеризуется парой (а, Ь), такой что ц(а) = 0, а ц(Ь) = 1. Для того чтобы сделать правило более чувствительным, необходимо увеличить расстояние между этими двумя значениями в каждой из предпосылок правила. Это достигается изменением значения а, в свою очередь значение Ь остается неизменным. То есть функция принадлежности сохраняет значения, определяемые Ь, и изменяет а, увеличивая диапазон 1Ь - а1. Чтобы сделать правило менее чувствительным, этот диапазон следует уменьшить. В дополнение к изменениям в предпосылках необходимо также изменить функцию принадлежности следствия правила. Если правило приводит к хорошему управляющему воздействию, это значение может быть улучшено путем уменьшения разности 1Ь - а1, при плохом управляющем воздействии разность 1Ь - а1 следует увеличить.

Выходному узлу С необходимо знать направление значения оптимального управляющего воздействия с^. Конечно, само значение неизвестно, но по наблюдениям за текущим состоянием системы может быть определено его направление, например, необходимо приложить положительную или отрицательную силу, то есть известен sign(c0pt). В выходном узле для каждого узла правила К вычисляется собственная ошибка правила еК

_ Г г ■ Е если 81§п(ск^) = sign(Copt),

= т ■ Е если в1§п(с к.) ф $1§п(с opt).

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

выходным образом

слоем определяются следующим

^ = К - ° ■ еК ■ 1ак - Ьк к [ак + О ■ ■ |ак - Ьк

I если (ак <Ьк), I в противном,

где а - коэффициент обучения, ук - соединение К с С. Если вес ук используется несколькими узла-

ми, то он изменяется выходным узлом столько раз, сколько узлов правил используют этот вес.

После этого ошибки правил распространяются обратно на промежуточный слой, где узлы правил изменяют функции принадлежности своих предпосылок:

щда = [а!к + ° ■ eRJ ■ 1аЩ - Ь.к. 1 если (aik1 < ^к.)»

.к. [а^. — ° ■ eRl ■ I а.к. — Ь.к. I в противном случае,

где входной узел X. соединен с Rj через ц^ , к. е {1, ..., 8.}, - число значений X.. Если вес используется несколькими узлами, то он изменяется всеми узлами, использующими его для соединения с X..

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

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

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

Список литературы

1. Захаров В.Н., Ульянов С.В. Нечеткие модели интеллектуальных промышленных регуляторов и систем управления. //Изв. РАН. Техн. кибернетика. - 1992. - №5; 1993. - №4.

2. Заде Л. Понятие лингвистической переменной и его применение к принятию приближенных решений. - М.:Мир, 1976.

3. Аверкин А.Н., Батыршин И.З., Блишун А.Ф. Нечеткие множества в моделях управления и искусственного интеллекта. - М.: Наука, 1986.

4. Yager R.R. Knowledge-based defuzzification. Fuzzy Sets and Systems 80, 1996. p.177-185.

5. Saaty T.L. Measuring the fuzziness of sets. Journal of Cybernetics, 1974. V.4 p.53-61.

6. Мелихов А.Н., Берштейн Л.С., Коровин С.Я. Ситуационные советующие системы с нечеткой логикой. - М.: Наука,

1990.

7. Filev D.P., Yager R.R. A generalized defuzzification method under BAD distributions. Internat. J. Intelligent Systems 6,

1991. p.687-697.

8. Yager R.R. Filev D.P. On the issue of defuzzification and selection based on a fuzzy set. Fuzzy Sets and Systems 55, 1 993. p.255-272.

9. Hamid R. Berenji A reinforcement learning-based architecture for fuzzy logic control. Int. J. Approx. Reas. 6/2, 1992. p.267-292.

10. Bezdek J.C. Pattern recognition with fuzzy objective function algorithms. N.Y. Platinum Press, 1981.

11. Nauck D., Kruse R. A neural fuzzy controller learning by fuzzy error propagation. Proc. NAFIPS'92, 1992. p.388-397.

ЗАДАЧА РАСПОЗНАВАНИЯ ДИНАМИЧЕСКИ ИЗМЕНЯЮЩИХСЯ ОБРАЗОВ: ПОСТАНОВКА И ПУТИ РЕШЕНИЯ

М.И. Дли, В.А. Гимаров, В.В. Гимаров

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

Имеется множество причин этой изменчивости. Во-первых, существует изменчивость, связанная с процессом измерения. Каждый датчик порождает аддитивный и/или мультипликативный шум; шум квантования возникает в процессе дис-

кретизации. Систематические ошибки измерения не приводят к возникновению изменчивости при условии, что искажения всегда одинаковы. На практике, однако, иногда применяются датчики со всевозможными искажениями в различных рабочих диапазонах, что приводит к возникновению изменчивости.

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

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

i Надоели баннеры? Вы всегда можете отключить рекламу.