Итак, я недавно внедрил нейронную сеть с нуля в python, следуя видео от 3Blue1Brown, и сейчас я тестирую часть своей реализации. Это делается с помощью задач И, ИЛИ и XOR. Кажется, что сеть работает в проблемах AND и OR, но не в проблеме XOR. Я получаю следующие прогнозы:
И
Input: Output:
0, 0 0.048
1, 0 0.018
0, 1 0.020
1, 1 0.974
ИЛИ
Input: Output:
0, 0 0.026
1, 0 0.984
0, 1 0.988
1, 1 0.997
XOR
Input: Output:
0, 0 0.049
1, 0 0.842
0, 1 0.842
1, 1 0.844 <- WRONG!
Эти результаты были предсказаны с моделью 1 скрытого слоя с 2 нейронами и сигмовидной функцией как в скрытом, так и в выходном слое.
Я пытался различные объемы данных тестирования, эпох, измерений в скрытых слоях и скрытых слоях, и, похоже, ничего не работает.
Итак, мой вопрос: есть ли у кого-нибудь идея, почему я получаю неправильный результат в проблеме XOR, а не в проблемах AND и OR? И если да, то как это исправить?