Тестирование нейронной сети с нуля (XOR) - PullRequest
1 голос
/ 16 февраля 2020

Итак, я недавно внедрил нейронную сеть с нуля в 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? И если да, то как это исправить?

1 Ответ

1 голос
/ 16 февраля 2020

обычно функция XOR требует более сложной модели. Добавьте еще один скрытый слой из двух нейронов, и этого должно быть достаточно.

...