Я пытаюсь смоделировать ворота XOR, используя нейронную сеть, подобную этой:
Теперь я понимаю, что каждый нейрон имеет определенное количество весов и смещение. Я использую сигмовидную функцию, чтобы определить, должен ли нейрон срабатывать или нет в каждом состоянии (поскольку это использует сигмовидную, а не ступенчатую функцию, я использую стрельбу в широком смысле, поскольку она фактически выдает реальные значения).
Я успешно запустил симуляцию для части переадресации, и теперь я хочу использовать алгоритм обратного распространения для обновления весов и обучения модели. Вопрос в том, что для каждого значения x1
и x2
есть отдельный результат (всего 4 разных комбинации), и при разных входных парах можно было бы вычислить отдельные расстояния ошибок (разница между желаемым выходом и фактическим результатом), а затем в конечном итоге будет достигнут другой набор обновлений веса. Это означает, что мы получим 4 разных набора обновлений веса для каждой отдельной входной пары, используя обратное распространение.
Как мы должны принять решение о правильных обновлениях веса?
Скажем, мы повторяем обратное распространение для одной входной пары, пока не сойдемся, но что, если мы сойдемся к другому набору весов, если выберем другую пару входных данных?