Как понять какие параметры менять чтобы добиться сходимости сети?

Вот делаю по примеру из этих 2 статей: https://habr.com/ru/post/312450/ https://habr.com/ru/post/313216/

Коротко контекст:

Ну ок, попробую:

вот есть нейронка 5d87a90e659ca324044743.png

пытаюсь ее обучить операции XOR.

Для обучения ее использую метод обратного распределения.
Если подавать на вход одну и ту же комбинацию(01), то есть сходимость (т.е. ошибка уменьшается как и должно быть).

Но если начинать подавать сетами 01, 00, 10, 11, то сходимость сразу пропадает.

Что пробывал: игрался с количеством итераций, менял скорость обучения, менял момент, добавлял нейроны смещения.

Пока ничего из этого не помогло, вот и решил здесь написать вопрос.

Не понимаю как добиться сходимости. Нейроны все в точности как в статьях. Пробывал менять скорость обучения, момент. Не помогает. https://habr.com/ru/post/313216/#comment_20654001 вот здесь задал вопрос автору, но не уверен, что получу от него ответ, поэтому дублирую здесь. Заранее благодарен за ответ.
  • Вопрос задан
  • 75 просмотров
Пригласить эксперта
Ответы на вопрос 1
@ivodopyanov
NLP, python, numpy, tensorflow
Может быть, ошибка все-таки где-то в коде?
То, что модель сходится на одном и том же примере, ни о чем не говорит - она просто подстраивает bias на выходном нейроне. Входные данные не нужны, если на выходе всегда одно и то же.
Попробуйте инициализировать веса какими-нибудь известными значениями, самостоятельно посчитать выход/градиенты аналитически и сравнить с тем, что происходит при моделировании.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы