5.3.4. Алгоритмы обучения модуляКак уже отмечалось, задача сети, состоящей из слоев L1 - L3, заключается в определении степени соответствия входных данных каждому правилу. Для наилучшей адаптации этой сети к поставленной задаче будем применять алгоритм обратного распространения ошибки, под которой понимается разность между заданным (эталонным) значением выходной величины и фактическим значением на выходе сети. В реальных ситуациях обучающие выборки представляются не парами входных сигналов и степеней активности , а парами, составленными из входных сигналов и заданных (эталонных) сигналов . Поэтому для подобной сети не существует универсального метода расчета погрешности. Мы вынуждены использовать оценочную (прогнозируемую) погрешность, распространяемую в обратном направлении из более высоких слоев сети. Способ функционирования и обучения модуля управления можно разделить на следующие этапы. Этап 1. Формирование набора нечетких правил для конкретной системы управления. Для рассматриваемой сети невозможно автоматическое построение правил (например, путем обучения), поэтому способ управления данным объектом должен быть известен, а соответствующие правила могут формулироваться, например, экспертом. Вначале должны быть зафиксированы все входные и выходные нечеткие множества, после чего на их базе конструируются правила типа IF - THEN. Этап 2. Построение нечеткой системы на основе анализа базы правил. Сеть строится на правилах, сформулированных на предыдущем этапе. Количество узлов в каждом слое, связи между ними, значения весов и параметров непосредственно определяются в ходе анализа базы правил с учетом функций, выполняемых конкретными слоями. Количество узлов, их связи и значения весов фиксируются при конструировании сети и не подлежат в дальнейшем какой-либо модификации. Этап 3. Построение и обучение нейронной сети. Способ конструирования нейронной сети очевидным образом связан с количеством нечетких множеств (определяющим количество входов сети) и с требуемым качеством отображения. Сама проблема проектирования нейронных сетей подробно и всесторонне обсуждается во многих публикациях (например, [8, 14, 17, 20]), поэтому мы ее рассматривать здесь не будем. Сеть, выполняющая функцию дефуззификации, будет обучаться с помощью алгоритма обратного распространения ошибки (см п. 2.5), который минимизирует выражение . (5.34) Применим теперь формулы (2.83) - (2.86) и обозначения, введенные в разд. 2.5. Начнем с построения выражения, описывающего изменения весов связей между элементами выходного L6 и скрытого L5 слоев. Изменение -го веса выходного нейрона определяется зависимостью , (5.35) где . (5.36) Рекурсия, определяющая изменение весов связей между -м нейроном скрытого слоя L5 и -м нейроном выходного слоя L4 задается формулой , (5.37) где . (5.38) Изменение весов связей между -м нейроном выходного слоя L4 и -м входом нейронной сети определяется формулой , (5.39) где . (5.40) В процессе обучения нейронных сетей очень часто используется так называемый момент (momentum - см. п. 2.5). В этом случае формулы для модификации весов принимают вид , , . (5.41) Следует обратить внимание на тот факт, что в качестве входных сигналов выступают степени активности правил. Поэтому множество обучающих данных для нейронной сети должно состоять из вектора степеней активности правил и заданных (эталонных) выходных значений. В реальных системах мы сталкиваемся с проблемой получения таких данных. В рассматриваемом решении предлагается следующий метод: входное пространство неформально подразделяется на классы, после чего для каждой выделенной области задается представляющая ее точка на входе нечеткой системы и осуществляется вывод решения. Выходные сигналы нечеткой системы используются как входные обучающие данные для нейронной сети. Этап 4. Доработка функций принадлежности входных нечетких множеств на основе обучающих данных. При описании первого блока рассматриваемого модуля нечеткого управления было установлена невозможность прямого определения погрешности на его выходе (т.е. на выходе слоя L3) из-за отсутствия необходимых данных. Поэтому для обучения этой части модуля погрешность должна оцениваться на основе ошибки, распространяемой в обратном направлении с верхних слоев нейронной сети вплоть до слоя L3. Погрешности в высших слоях рассчитываются по формулам (5.36), (5.38) и (5.40). Легко заметить, что погрешность для -го элемента слоя L3 может быть определена как . (5.42) Если бы существовали данные , с заданными значениями сигналов на выходе первого блока модуля управления, то в результате сравнения их с фактическими значениями , полученными на выходе слоя L3, можно было бы рассчитать погрешность по формуле , (5.43) где - номер выхода первого блока модуля нечеткого управления (слой L3). При отсутствии этих данных можно лишь заменить (5.44) ошибкой, распространяемой в обратном направлении из нейронной сети до слоя L3, т.е. . (5.45) Получив оценку погрешности на выходе слоя L3, можно применить градиентный метод (gradient descent method), который позволяет подобрать параметры , , функции принадлежности, учитываемые в слое L1. Например, формула модификации параметра , определяющего центр функции принадлежности нечеткого множества, соответствующего -й входной переменной для -го нечеткого правила, имеет вид . (5.46) Для упрощения записи примем следующие обозначения: - выход слоя L2, - выход слоя L1. Поэтому производную можно представить в виде . (5.47) Ее взятие может быть связано с некоторыми трудностями, поскольку в структуре модуля нечеткого управления имеются функции maximum и minimum , , (5.48) которые, как известно, не имеют производных. Для таких элементов устанавливается, что сигнал погрешности передается на все узлы предыдущего слоя (с которыми данный элемент связан) одинаково, т.е. , . (5.49) Другой подход заключается в распространении сигнала погрешности только к тем элементам, которые выработали соответственно максимальное или минимальное значение: . (5.50) Можно также распространять погрешность пропорционально входным значениям таким образом, чтобы значение погрешности возрастало с приближением величины сигнала к его максимальному (или минимальному) значению: . (5.51) Определенная проблема возникает и при взятии частной производной . В уравнении (5.31), описывающем форму функции принадлежности, содержатся недифференцируемые компоненты, например, пики либо граничные точки. Поэтому допустим, что производная в таких точках равна среднему арифметическому производных в соседних точках. Тогда можно сформулировать окончательное выражение, по которому модифицируется параметр : . (5.52) Для параметров и соответствующие формулы принимают аналогичный вид: , . (5.53) Блок-схема полной процедуры построения и модификации модуля нечеткого управления представлена на рис. 5.21. Рис. 5.21. Алгоритм обучения модуля нечеткого управления, описанного в п. 5.3.3.
|