ПРОГРАММИРОВАНИЕ
УДК 62-50
А. Н. Савельев Астраханский государственный технический университет
ПОСТРОЕНИЕ ПРОДУКЦИОННОЙ БАЗЫ ЗНАНИЙ С ИСПОЛЬЗОВАНИЕМ АДАПТИВНОЙ НЕЙРОННОЙ СЕТИ
Введение
Современные технологические объекты управления являются сложными и распределенными системами. Как правило, объекты автоматизации характеризуются слабоформализуемыми зависимостями входных и выходных координат, поэтому построить четкую математическую модель таких объектов не всегда возможно. В этом случае для описания свойств объекта управления используют так называемые интеллектуальные модели (ИМ), воспроизводящие логику рассуждения лица, принимающего решение (ЛПР), основой которых является база знаний (БЗ). В настоящее время не существует единой методики построения БЗ объекта, что вызывает определенные трудности при моделировании их свойств. В связи с этим возникает необходимость разработать универсальную методику создания БЗ объектов различной сложности и применимости. При построении БЗ будем использовать принцип избыточности информации [1].
Выбор структуры базы знаний
Систематизируем знания об объекте в виде продукционной базы знаний. Такая форма представления знаний характерна своей наглядностью, высокой модульностью, легкостью внесения дополнений. Каждое правило БЗ записывается в виде «Если ..., то ...»: посылка (часть «если») соответствует условию, а заключение (часть «то») - выводу. Таким образом, ЛПР, разбивая объект на продукционные группы, придерживается правил следующего вида «Если температура в печи достаточно высока и давление в норме, то расход пара на входе должен быть высокий». Такое разбиение наиболее удобно для понимания свойств объекта и протекающих в нем процессов.
Для построения правил вышеупомянутой структуры необходимо использовать математический аппарат нечетких множеств. Так, каждой координате необходимо представить лингвистические переменные с характерными термами, например «высокий», «средний», . «низкий»,
«очень низкий». Это означает, что можно сформулировать БЗ о влиянии независимых координат X = (х1, х2, ..., Хп} на значение зависимой координаты у в виде совокупности логических высказываний типа:
ЕСЛИ (Х1 = ауО И (Х2 = 02,1) И ... И ( хп = аП]Л)
ИЛИ (Х1 = а,) И (Х2 = а,) И ... И (хп = аЩ2) ...
ИЛИ (Х1 = а,) И (Х2 = 02,) И ... И (Хп = ащк)
ТО у = 4, , е [1, т],
где а,р - терм, которым оценивается переменная х, в строчке с номером,р (р е [1, к,]); к, - количество строчек-конъюнкций, у которых выход оценивается термом 4; т - количество термов, используемых для лингвистической оценки выходного параметра у.
Представим БЗ в сокращенном виде.
р=1|г=1
Принципиально БЗ можно построить, используя либо нечеткий логический вывод Мамда-ни, либо вывод Сугено. База Мамдани строится с использованием аппроксимации зависимости типа у = /(х1, х2, ., Хп) с помощью нечеткой базы знаний и операций над нечеткими множествами.
База знаний Сугено аналогична базе знаний Мамдани, кроме заключений правил 4, которые задаются не нечеткими термами, а линейной функцией от входов:
Правила в базе знаний Сугено являются своего рода переключателями с одного линейного закона «входы-выход» на другой, тоже линейный. Границы подобластей размытые, следовательно, одновременно могут выполняться несколько линейных законов, но с различными степенями принадлежности. Принципиально, что БЗ Мамдани можно построить, прибегнув к знаниям ЛПР, а БЗ Сугено целесообразно использовать в случае отсутствия у ЛПР необходимых знаний об объекте. В дальнейшем предлагаем использовать БЗ Сугено.
Определение параметров базы знаний
Для определения свойств БЗ можно использовать механизм нейронных сетей и системы, основанные на нечеткой логике. При разработке интеллектуальной модели основной проблемой является перенос знаний в вычислительно-машинную систему. В этом случае основным преимуществом нейронных сетей перед системами, основанными на нечеткой логике, является возможность автоматического переноса экспертных знаний ЛПР в машинную память ЭВМ [2], поэтому для определения коэффициентов БЗ будем использовать так называемую нейронную ANFIS-сеть (ANFIS - Adaptive Network Based Fuzzy Inference System - адаптивная сеть нечеткого вывода). Построение нечеткой модели Сугено выполняется в два этапа [3]. На первом этапе синтезируются нечеткие правила из экспериментальных данных с использованием субстрактив-ной кластеризации. На втором этапе настраиваются параметры нечеткой модели с помощью ANFIS-алгоритма. Для предварительного определения параметров БЗ используем метод горной кластеризации.
Метод горной кластеризации может использоваться как быстрый автономный метод синтеза нечетких правил из экспериментальных данных. Кроме того, этот метод может рассматриваться как своего рода препроцессинг для ANFIS-алгоритма, т. е. синтезированная нечеткая модель является начальной точкой для обучения сети. Важным преимуществом применения кластеризации для синтеза нечеткой модели является то, что правила БЗ получаются объектноориентированными. Это понижает возможность «комбинаторного взрыва» - катастрофического увеличения объема базы знаний при большом числе входных переменных.
На первом шаге горной кластеризации определяют точки, которые могут быть центрами кластеров. Для алгоритма горной кластеризации число потенциальных центров кластеров Q должно быть конечным. Ими могут быть объекты кластеризации (строчки матрицы X), тогда Q = M. Второй способ выбора потенциальных центров кластеров состоит в дискретизации пространства входных признаков. Для этого диапазоны изменения входных признаков разбивают на несколько интервалов. Проводя через точки разбиения прямые, параллельные координатным осям, получают «решеточный» гиперкуб. Узлы этой решетки и будут соответствовать центрам потенциальных кластеров. Пусть qr - количество значений, которые могут принимать центры кластеров по г-й координате (г е [1, n]). Тогда количество возможных кластеров будет равно:
На втором шаге алгоритма рассчитывается потенциал центров кластеров по следующей
П
Q=П q
Г=1
формуле:
M
P(Zh ) = Y eXP(-a P(Zh, Xk )),
k=1
где Zh = (z1h, z2h, • • •, znh) - координаты потенциального центра h-го кластера; p(Zh, xk) - расстояние между потенциальным центром кластера и объектом кластеризации (xk); а - положительная константа.
В случае, когда объекты кластеризации заданы двумя признаками (п = 2), графическое изображение распределения потенциала будет представлять собой поверхность, напоминающую горный рельеф. Отсюда и название - горный метод кластеризации.
На третьем шаге алгоритма в качестве центров кластеров выбирают координаты «горных» вершин. Для этого центром первого кластера назначают точку с наибольшим потенциалом. Обычно наивысшая вершина окружена несколькими достаточно высокими пиками. Вследствие этого назначение центром следующего кластера точки с максимальным потенциалом среди оставшихся вершин привело бы к выделению большого числа близко расположенных центров кластеров. Чтобы выбрать следующий центр кластера, необходимо вначале исключить влияние только что найденного кластера. Для этого значения потенциала для оставшихся возможных центров кластеров пересчитывается следующим образом: от текущих значений потенциала вычитают вклад центра только что найденного кластера (поэтому кластеризацию по этому методу также называют субстрактивной). Перерасчет потенциала происходит по формуле
PM (Zh) = Pt (Zh) - Pt(V) • exp(-ß • p(Z„,Vt)),
где Pt - потенциал на t-й итерации; Pt - потенциал на (t +1)-й итерации; Vt - центр найденного кластера на t-й итерации; ß - положительная константа.
Итерационная процедура пересчета потенциалов и выделения центров кластеров продолжается до тех пор, пока максимальное значение потенциала превышает некоторый порог. Каждому найденному кластеру соответствует одно нечеткое правило.
Построение нейронной сети
Для дальнейшего уточнения параметров ИМ используем ANFIS-алгоритм. Архитектура ней-ронечеткой сети изоморфна нечеткой БЗ. В нейронечетких сетях используются дифференцируемые реализации треугольных норм (умножение и вероятностное ИЛИ), а также гладкие функции принадлежности. Это позволяет применять для настройки нейронечетких сетей быстрые алгоритмы обучения нейронных сетей, основанные на методе обратного распространения ошибки.
ANFIS реализует систему нечеткого вывода Сугено в виде пятислойной нейронной сети прямого распространения сигнала. Следует отметить, что входы сети в отдельный слой не выделяются. На рисунке изображена ANFIS-сеть с двумя входными переменными (x1 и x2) и четырьмя нечеткими правилами. Для лингвистической оценки входной переменной x1 используются 3 терма, для переменной x2 - 2 терма.
Пример ANFIS-сети
Ниже приведем алгоритм функционирования АКБК-сети. Каждый узел первого слоя представляет один терм с колокообразной функцией принадлежности. Входы сети хь х2, ..., хп соединены только со своими термами. Количество узлов первого слоя равно сумме мощностей терм-множеств входных переменных. Выходом узла является степень принадлежности значения входной переменной соответствующему нечеткому терму. Количество узлов второго слоя равно т. Каждый узел этого слоя соответствует одному нечеткому правилу. Узел второго слоя соединен с теми узлами первого слоя, которые формируют антецеденты соответствующего правила.
Следовательно, каждый узел второго слоя может принимать от 1 до п входных сигналов. Выходом узла является степень выполнения правила, которая рассчитывается как произведение входных сигналов. Выходы узлов этого слоя обозначаются тг (г е [1, т]).
Количество узлов третьего слоя также равно т. Каждый узел этого слоя рассчитывает относительную степень выполнения нечеткого правила:
Количество узлов четвертого слоя также равно т. Каждый узел соединен с одним узлом третьего слоя, а также со всеми входами сети (на рисунке связи с входами не показаны). Узел четвертого слоя рассчитывает вклад одного нечеткого правила в выход сети:
Типовые процедуры обучения нейронных сетей могут быть применены для настройки АКБК-сети, т. к. в ней используются только дифференцируемые функции. Обычно применяется комбинация градиентного спуска в виде алгоритма обратного распространения ошибки и метода наименьших квадратов. Алгоритм обратного распространения ошибки настраивает параметры антецедентов правил, т. е. функций принадлежности. Методом наименьших квадратов оцениваются коэффициенты заключений правил, т. к. они линейно связаны с выходом сети. Каждая итерация процедуры настройки выполняется в два этапа. На первом этапе на входы подается обучающая выборка и по невязке между желаемым и действительным поведением сети итерационным методом наименьших квадратов находятся оптимальные параметры узлов четвертого слоя. На втором этапе остаточная невязка передается с выхода сети на входы и методом обратного распространения ошибки модифицируются параметры узлов первого слоя. При этом найденные на первом этапе коэффициенты заключений правил не изменяются. Итерационная процедура настройки продолжается, пока невязка превышает заранее установленное значение.
Создание функциональных групп
Отдельно следует отметить механизм создания продукционных групп БЗ. Принципиально разбиение можно осуществить двумя способами. Первый позволяет, используя знания ЛПР
о свойствах объекта, осуществить разбиение координат на продукционные группы. Однако он обладает одним существенным недостатком - для разбиения на функциональные группы необходимо иметь ЛПР с высоким уровнем знаний. Для устранения этого недостатка предлагаем при разбиении на функциональные группы использовать подход на основе определения корреляции между технологическими параметрами.
Каждой координате объекта ставится в соответствие лингвистическая переменная. Терм-множество координаты задает характерные состояния технологического объекта. Продукционная группа состоит из одной выходной переменной и одной или нескольких входных. Состав групп определяется с использованием матрицы зависимостей между переменными. Элемент матрицы зависимостей определяется как
П
Уп =4 • Ьп О + Е (Ьп • Хі ) .
і=1
Единственный узел пятого слоя суммирует вклады всех правил:
У = У1 + У2 + ... + Уг + ... + Ут.
ЛУ ,
агі = - 1
о,
Л,7 = тах
и
Ё(У а(Хко)- Х]ко)2
к=1
Ё(Уу(хк) - У#* )2
к=1
т
о у =
Ё у( х]ко) -•
к=1
где а у - коэффициент зависимости между переменными хг- и х,; А, - максимальное значение среднеквадратичного отклонения выходной переменной, сгенерированной АКБК, от эталонных значений из обучающей и контрольных выборок; с, - среднеквадратичное отклонение выходной переменной; у, (х,) - выход сгенерированной АКБК с входной переменной хг- и выходной переменной х; хЛо, х]ко - значения входной и выходной переменной обучающего набора; х,кь
хцц - значения входной и выходной переменной контрольного набора; х;о - среднее значение
выходной переменной по обучающему набору.
Коэффициент зависимости показывает, во сколько раз уменьшается неопределенность в значении переменной при использовании соответствующей нечеткой модели. Значения коэффициента большие 2 свидетельствуют о наличии тесной связи между переменными. Значения
1 < ау < 2 свидетельствуют о хорошей связи. Значения коэффициента близкие к нулю означают, что построенная нечеткая модель не будет нести практически никакой информации и ее создание нецелесообразно. Отрицательные значения коэффициента свидетельствуют о независимости переменных.
п
п
Заключение
На основе предложенного метода становится возможным создание универсальной методики построения продукционных БЗ. При этом следует отметить, что благодаря применению «быстрых» алгоритмов такой подход позволяет корректировать коэффициенты БЗ в режиме реального времени. Таким образом, разработанная БЗ учитывает также проблему старения информации и позволяет непрерывно поддерживать работоспособность системы на базе фактической информации о поведении нестационарного динамического объекта в условиях эксплуатации.
СПИСОК ЛИТЕРА ТУРЫ
1. Проталинский О. М. Проверка достоверности первичной информации в АСУ ТП с использованием нечетких множеств // Изв. вузов Северо-Кавказ. региона. Техн. науки. - Прил. - 2003. - № 3. - С. 60-63.
2. Семейкин Е. С. Эволюционные алгоритмы поддержки принятия решений при управлении сложными системами // Интеллектуальные системы (А18’05) и интеллектуальные САПР: Сб. тр. Междунар. на-уч.-техн. конф. - М.: Физматлит, 2005. - Т. 1. - С. 79-84.
3. Алтунин А. Е., Семухин М. В. Модели и алгоритмы принятия решений в нечетких условиях: Моногр. -Тюмень: Изд-во Тюмен. гос. ун-та, 2003. - 352 с.
Получено 10.04.2006
CONSTRUCTION OF PRODUCTIONAL BASE OF KNOWLEDGE WITH USE OF THE ADAPTIVE NEURAL NETWORK
A. N. Saveljev
The work is about common principles of construction of productional bases of knowledge (KB). The work describes parameters of KB such as Sugeno by means of algorithm of mountain clustering and adaptive indistinct neural network. The work also describes the mechanism of formation of productional groups of KB with the help of a dependency matrix. It is necessary to note that, developed KB takes into account also a problem of information aging and allows to support steadily efficiency of the system on the basis of the actual information on behaviour of non-stationary dynamic object in operating conditions.