Студопедия

КАТЕГОРИИ:


Архитектура-(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), можно определить производ­
ную ^а в виде fc=1


 


(5.15)

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)

т

Исключение зависимости (5.17). При подстановке выражения (5.14) в формулу (5.17) получаем выражение


 

 

 

я I (у-сЩехр ы | х,-хГ
т \ °i)
N п Г 1ПН-*-. 1-1 [ Mil
 

 


Поскольку эталонный сигнал d не зависит от веса у"1, то можно рассматривать его в качестве константы:


Для упрощения записи в приведенной формуле зависимость от­дельных ее параметров от номера итерации t, t = 1,2,... обозначена сим-


 

Глава 5. Модули нечетко-нейронного управления

волически. Процесс обучения подразделяется на два этапа. Вначале на
вход модуля управления подается значение сигнала х, входящее в обучаю­
щую выборку; на его основе формируется выходное управляющее воз­
действие. Этот сигнал распространяется по сети в прямом направлении,
и последовательно рассчитываются значения zk(k = 1............ N), a, b и, на­
конец, у. Затем выполняется второй^ этап: обратное распространение
ошибки. При этом выходная реакция у сравнивается с эталонным значе­
нием с/, и по результатам сравнения модифицируются значения весов у"1.
Аналогично рассчитываются остальные параметры: xf и of. Для
xf применяется рекурсия

xf(t + 1) = xf(t)-Ti ^, (5.19)

dxf {t)

где /= 1..... n, m = 1,..., N, t = 1,2,.... Из уравнения (5.16) следует, что вы­
ходная величина у (и, соответственно, мера погрешности е) зависит от xf
только через zk. При использовании, как и прежде, формулы для расчета
производной от составной функции, получаем

OI~Y. _ V."7 ^

(5.20)

Исключение зависимости (5.20). Так же как и в случае с форму­лой (5.17), будем основываться на уравнении, определяющем производ­ную от меры погрешности


5.1. Определение структуры модуля управления при дефуззификации 317

ymb-a ymb-yb ут
Ь2
Ь2 Ь

В результате замены 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 2{Xi I J1}, (5 21)

(°i I \{t)

гдеЬ и ^определяются по формуле (5.16).


Глава 5. Модули нечетко-нейронного управления


5.1. Определение структуры модуля управления при дефуззификаци


При использовании такой же методики можно получить алгоритм обучения для параметра о™ в виде


(5.22)

Представленные зависимости (5.18), (5.21) и (5.22) определяют спо­
соб модификации весов и параметров на основе алгоритма обратного рас­
пространения ошибки. На первом этапе входной вектор х распространяет­
ся по сети в прямом направлении, и последовательно рассчитываются зна­
чения zk(k= 1,.... Л/), a, b и, наконец, у. На втором этапе с использовани­
ем представленных формул рассчитываются новые значения весов свя­
зей y*(f + 1), xf(f + 1) и Uj(t + 1) для / = 1............................... n; k= 1,..., Л/, после чего ста­
рые значения заменяются новыми, и счетчик количества итераций t уве­
личивается на 1 Такая последовательность имеет существенное значе­
ние, поскольку, например, в формуле расчета «нового» значения веса
x™(t + 1) содержатся «старые» (точнее - рассчитанные на предыдущем
шаге) значения весов ym(t), x™(t) и o^(t).

Заметим, что во всех формулах фигурирует «нормализованная» погрешность (у- d)lb. Она распространяется в обратном направлении до третьего слоя (L3), в котором находятся веса связей у* (см. рис. 5.1) Впоследствии каждый весу™ модифицируется согласно алгоритму (5.18), причем следует отметить, что значения Т1 уже определены ранее на пер­вом этапе (это сигналы, выходящие из предыдущего слоя). Для обучения параметров х™ и of та же «нормализованная»_погрешность (у - d)lb ум­ножается на разность (у™ - у) и на значение zm, после чего распростра­няется в обратном направлении до первого слоя (L1) Параметры xf и оЦ" модифицируются по алгоритмам (5.21) и (5.22) соответственно. Это доказывает, что они с полным основанием могут называться «алгоритма­ми обратного распространения ошибки».

Алгоритм обучения обсуждаемой сети представлен на рис. 5.2 в виде блок-схемы. В принципе, он не требует дополнительных коммен­тариев, можно добавить лишь несколько слов о принятых на этом рисун­ке упрощениях.

Во-первых, как определить, насколько корректно обучена сеть? Для этого созданы различные методы, и одним из простейших считается расчет значения средней погрешности для всех эпох (epoch) с последующим сравнением результата с некоторым заданным значением. Напомним, что эпохой называется количество итераций, равное числу пар векторов входных и эталонных сигналов (т.е. один цикл предъявления обучающей выборки).

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


 

 

1 Наз начить начальные значения весам и параметрам, <=о|
       
  ч
 
Подать та вход модуля 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; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.029 сек.