|
|||||||
АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция |
Алгоритм обратного распространения ошибки
Многослойный персептрон в состоянии решать произвольные задачи. Но долгое время его использование было затруднительно из-за отсутствия эффективного алгоритма обучения. При нескольких слоях настраиваемых весов становится непонятным, какие именно веса подстраивать в зависимости от ошибки сети на выходе. В 1986 г. Румельхарт, Хинтон и Вильяме предложили так называемый алгоритм обратного распространения ошибки (back-propagation). Алгоритм обратного распространения определяет два потока в сети: прямой поток, от входного слоя к выходному, и обратный поток – от выходного слоя к входному. Прямой поток, также называемый функциональным потоком, продвигает входные сигналы через сеть, в результате чего в выходном слое получаются выходные значения сети. Обратный поток подобен прямому, но продвигает назад по сети значения ошибок, в результате чего определяются величины, в соответствии с которыми следует корректировать весовые коэффициенты в процессе обучения. В обратном потоке значения проходят по взвешенным связям в направлении, обратном направлению прямого потока. Наличие двойного потока в сети иллюстрирует рис. 3.2.
Рисунок 3.2 – Двойной поток в сети.
Сигнал ошибки выходного слоя вычисляется так же, как и в случае однослойного персептрона, так как для выходного слоя известны эталонные значения и энергия ошибки вычисляется непосредственно. Если нейрон расположен в скрытом слое сети, желаемый отклик для него неизвестен. Следовательно, сигнал ошибки скрытого нейрона должен рекурсивно вычисляться на основе сигналов ошибки всех нейронов, с которым он непосредственно связан. Обозначим ошибку нейрона в некотором слое j следующим образом: ; (3.10) где pj = Σwjizi – взвешенная сумма входов нейрона; zi – входы нейрона и соответственно выходы предыдущего слоя нейронов. Применяя правило дифференциорвания сложно функции, находим выражение для значения ошибки нейрона в выходном слое: (3.11) Для нейрона в скрытом слое выражение выводится с учётом, что нейрон посылает сигнал нейронам в следующем слое, для которых ошибка вычисляется по выражению (3.11): (3.12) Таким образом, ошибка на каждом слое вычисляется рекурсивно через значения ошибки на предыдущих слоях: коррекция ошибки распространяется обратно по нейронной сети.
Поиск по сайту: |
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.003 сек.) |