Почему мой Feed-Forward NN не работает с разными входами? - PullRequest
0 голосов
/ 21 июня 2019

Я решил создать прямую нейронную сеть без использования каких-либо библиотек. Я довольно плохо знаком с предметом и полностью самообучен.

Моя нейронная сеть использует обратное распространение для установки весов, а функция активации между всеми слоями (input-hidden1-output) является функцией Sigmoid. Допустим, я пытаюсь решить основную проблему, такую ​​как проблема логических элементов XOr, с моим NN. Всякий раз, когда я использую полный тренировочный набор (все возможные комбинации 1 и 0), мой NN не может установить веса таким образом, чтобы он мог произвести желаемый результат. Казалось бы, это всегда останавливается на середине. (выход составляет ~ 0,5 во всех случаях) С другой стороны, когда я повторяю только один тип ввода (скажем, 0 и 1), он быстро запоминается.

Есть ли проблема в моей функции стоимости, количестве узлов, скрытых слоев или что? Буду признателен за несколько руководящих слов!

Ответы [ 2 ]

0 голосов
/ 22 июня 2019

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

Наиболее вероятная причина низкой производительности сети может быть связана с извилистым начальным этапом изучения проблемы. Таким образом, увеличение итераций решит проблему.

И еще одна возможная вещь, которую можно попробовать, - плавная нелинейность XOR, поэтому роль смещения имеет решающее значение в качестве параметра перевода и так же важна, как и весовые коэффициенты (о которых вы не упоминали)

0 голосов
/ 21 июня 2019

XOR нельзя решить одним скрытым слоем.Потому что вы не можете разделить ваши метки (0 и 1) одной строкой.Вы можете разделить их двумя линиями, а затем использовать вентиль AND (еще один скрытый слой), чтобы найти их общую область.Смотрите этот пост для уточнения: https://medium.com/@jayeshbahire/the-xor-problem-in-neural-networks-50006411840b

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...