КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Использование алгоритма обратного распространения ошибки
Поскольку обсуждаемая нами структура представляет собой многослойную сеть и, как уже отмечалось, алгоритм обратного распространения ошибки можно обобщить на любую сеть с прямым распространением сигнала, то ничто не препятствует тому, чтобы предлагаемый модуль нечеткого управления обучать также, как и обычную ^ейронную сеть. Для этого потребуется обучающая выборка в виде пар (х,с/), где х = [х,................................................................................... х„]Т - это входной вектор, а с/ - эталонный сигнал. Задача заключается в такой модификации (коррекции) параметров модуля нечеткого управления, описанного выражением (5.13), чтобы мера погрешности, задаваемая выражением Глава 5. Модули нечетко-нейронного управления 5.1. Опред еление структуры модуля управления при дефуззификации 315
e = ^[y(x)-d]z (5.14) была минимальной. Значение выходного сигнала у(х) для заданного входного сигнала х будем для упрощения обозначать у. Допустим, что количество правил Л/ известно (его можно задать). В этом случае остается подобрать три параметра: у"1, xf и of для т= 1,.... N. Начнем с весов у™ в слое L3. Напомним (разд. 2.5), что алгоритм обратного распространения ошибки относится к классу так называемых градиентных алгоритмов. Их идея заключается в уменьшении предыдущего значения веса на величину производной от меры погрешности (5.14), умноженную на некоторый коэффициент. Процесс должен длиться так долго, чтобы погрешность на выходе системы достигла априорно установленной минимальной величины. Для веса у™ выражение, определяющее способ модификации, будет иметь вид
f Применяя формулу для расчета производной от сложной функции, получаем С учетом того, что a = ^(ykzk), можно определить производ
de{t) 8ym(t) ' где t = 0,1,2,... обозначает номер итерации (^(0) - начальное значение веса), а константа ц е (0, 1) интерпретируется как коэффициент, определяющий скорость обучения (он также называется шагом коррекции). В формуле (5.14), задающей меру погрешности, содержится выходной сигнал системы (модуля управления). Представим уравнение (5.13) в виде Отдельные веса сети независимы друг от друга, поэтому 8(ykzk) = 0 для к * т, 8ут ~ \ г™ для к = т. Следовательно, да _jm дут И окончательно
(5.16) Легко заметить, что значение у и, следовательно, также мера погрешности е зависит от веса у только в числителе (т.е. в части а). Если применить правило дифференцирования сложной функции, то можно рассчитать производную меры погрешности относительно веса у"1 При подстановке полученной формулы в выражение (5.15), определяющее способ модификации веса у™ получаем алгоритм обучения ym(f + 1) = ym(f)-J7^-zm|, (5.18) который с учетом выведенных выше зависимостей представляется в виде
(5.17) 8ут Исключение зависимости (5.17). При подстановке выражения (5.14) в формулу (5.17) получаем выражение
Поскольку эталонный сигнал d не зависит от веса у"1, то можно рассматривать его в качестве константы: Для упрощения записи в приведенной формуле зависимость отдельных ее параметров от номера итерации t, t = 1,2,... обозначена сим- Глава 5. Модули нечетко-нейронного управления волически. Процесс обучения подразделяется на два этапа. Вначале на
xf(t + 1) = xf(t)-Ti dxf {t) где /= 1..... n, m = 1,..., N, t = 1,2,.... Из уравнения (5.16) следует, что вы OI~Y. _ V."7 ^ (5.20) Исключение зависимости (5.20). Так же как и в случае с формулой (5.17), будем основываться на уравнении, определяющем производную от меры погрешности 5.1. Определение структуры модуля управления при дефуззификации 317 ymb-a ymb-yb ут-у В результате замены zm = J^exp(sy"), где s™ = - -^----------------- — можно рассчитать,=i ^ су" e _J_[_ (Zlz^I2 I = L ihzIL |]_a_ ехГ[ I ^ J J L I ^ JJ^r С учетом того, что от параметра xf зависит только значение выходного сигнала у, согласно формуле для расчета производной от сложной функции имеем д!т dxf Поскольку у- #, причем а и Ь зависят от zm, определим первую из производных в виде D Ж ехт (erf)2 что в итоге приводит к формуле
После подстановки вместо а и Ь соответствующих выражений и взятия производных получаем ду _ ВТ При подстановке равенства (5.20) в выражение (5.19), получаем алгоритм обучения для параметра х-77 в виде х/"(f +1) = хГ (0 - П*-~ (Уm - y)zm (°i I \{t) гдеЬ и ^определяются по формуле (5.16). Глава 5. Модули нечетко-нейронного управления 5.1. Определение структуры модуля управления при дефуззификаци При использовании такой же методики можно получить алгоритм обучения для параметра о™ в виде (5.22) Представленные зависимости (5.18), (5.21) и (5.22) определяют спо
Заметим, что во всех формулах фигурирует «нормализованная» погрешность (у- d)lb. Она распространяется в обратном направлении до третьего слоя (L3), в котором находятся веса связей у* (см. рис. 5.1) Впоследствии каждый весу™ модифицируется согласно алгоритму (5.18), причем следует отметить, что значения Т1 уже определены ранее на первом этапе (это сигналы, выходящие из предыдущего слоя). Для обучения параметров х™ и of та же «нормализованная»_погрешность (у - d)lb умножается на разность (у™ - у) и на значение zm, после чего распространяется в обратном направлении до первого слоя (L1) Параметры xf и оЦ" модифицируются по алгоритмам (5.21) и (5.22) соответственно. Это доказывает, что они с полным основанием могут называться «алгоритмами обратного распространения ошибки». Алгоритм обучения обсуждаемой сети представлен на рис. 5.2 в виде блок-схемы. В принципе, он не требует дополнительных комментариев, можно добавить лишь несколько слов о принятых на этом рисунке упрощениях. Во-первых, как определить, насколько корректно обучена сеть? Для этого созданы различные методы, и одним из простейших считается расчет значения средней погрешности для всех эпох (epoch) с последующим сравнением результата с некоторым заданным значением. Напомним, что эпохой называется количество итераций, равное числу пар векторов входных и эталонных сигналов (т.е. один цикл предъявления обучающей выборки). Во-вторых, на схеме предполагается, что обучающие эталоны предъявляются строго последовательно. В принципе, для простейших сетей это не имеет особого значения, однако в общем случае выдвигается условие, чтобы в рамках каждой эпохи данные выбирались случайным образом.
| Подать
| та вход модуля nv.uii.ii- mi 1
| алы х из обучающе
| выборки
|
|
|
|
| ВТО
| Рассчитать выходные зна*
| ения во всех слоях, t, а также а,Ь и у
|
|
|
|
|
|
| Рассчитать погрешность на i
| ыходе модуля: у — d
|
| Перейти к следующему обучающему эталону Увеличить номер итеравд шы все обучающие эталоны?^> Перейти к первому эталону Сеть обучена корректно? КОНЕЦ J управления, заданного выражением (5.13). Рис. 5.2. Алгоритм обучения модуля Глава 5. Модули нечетко-нейронного управления 5.1. Определение структуры модуля управления при дефуззификации 321
Программная реализация приведенного алгоритма не представляет проблему даже для начинающего программиста. Однако следует помнить очень важное правило: на каждом шаге вначале рассчитываются поправки для всех весов в каждом слое, и только после этого корректируются значения самих весов. Следует обратить внимание на то, что в формулах для расчета очередных значений параметров x™(f + 1) и a™{t+ 1) имеются «старые» значения y"(t), x(m(0 и af"(f) из предыдущей итерации; их преждевременное изменение могло бы ухудшить качество обучения сети
Дата добавления: 2015-06-04; Просмотров: 507; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |