В настоящее время я реализую простую нейронную сеть и алгоритм backprop в Python с numpy. Я уже протестировал свой метод backprop, используя центральные различия, и получившийся градиент равен.Весы нейронной сети взрываются в линейном блоке
Однако сеть не может аппроксимировать простую кривую синуса. В сети имеется один скрытый слой (100 нейронов) с функциями активации tanh и выходной уровень с функцией линейной активации. Каждый блок имеет также вход смещения. Обучение осуществляется с помощью простого градиентного спуска с частотой обучения 0,2.
Проблема возникает из-за градиента, который увеличивается с каждой эпохой, но я не знаю почему? Кроме того, проблема не меняется, если я уменьшаю скорость обучения.
EDIT: Я загрузил код Pastebin: http://pastebin.com/R7tviZUJ
Это хороший, хорошо сформулированный вопрос. К сожалению, это не по теме для этого сайта. Если он закрывается, подумайте о том, как задать вопрос по http://stats.stackexchange.com/ – NPE