Обновление: лучшая формулировка вопроса.
Я пытаюсь понять алгоритм обратного распространения с нейронной сетью XOR в качестве примера. Для этого случая есть 2 входных нейрона + 1 смещение, 2 нейрона в скрытом слое + 1 смещение и 1 выходной нейрон.
A B A XOR B
1 1 -1
1 -1 1
-1 1 1
-1 -1 -1
(источник: wikimedia.org)
Я использую стохастическое обратное распространение.
Прочитав немного больше, я обнаружил, что ошибка выходного блока распространяется на скрытые слои... изначально это сбивало с толку, потому что когда вы попадаете на входной слой нейронной сети, то каждый нейрон получает корректировку ошибок от обоих нейронов в скрытом слое. В частности, сначала трудно понять, как распределяется ошибка.
Шаг 1 рассчитать выход для каждого экземпляра ввода.
Шаг 2 вычисляет ошибку между выходным нейроном (ами) (в нашем случае есть только один) и целевым значением (ями):
Шаг 3 мы используем ошибку из шага 2, чтобы вычислить ошибку для каждой скрытой единицы h:
"Вес kh" - это вес между скрытым блоком h и выходным блоком k, это сбивает с толку, потому что входной блок не имеет прямого веса, связанного с выходным блоком. Посмотрев на формулу в течение нескольких часов, я начал думать о том, что означает суммирование, и я начинаю приходить к выводу, что вес каждого входного нейрона, который соединяется с нейронами скрытого слоя, умножается на ошибку вывода и суммируется, Это логичное заключение, но формула кажется немного запутанной, поскольку в ней четко указано "вес kh" (между выходным слоем k и скрытым слоем h).
Я правильно все здесь понимаю? Кто-нибудь может это подтвердить?
Что O (ч) из входного слоя? Насколько я понимаю, каждый входной узел имеет два выхода: один, который входит в первый узел скрытого слоя, а другой - во второй узел скрытого слоя. Какой из двух выходов должен быть включен в часть O(h)*(1 - O(h))
формулы?