В настоящее время у меня есть проблема, которую я не смог выяснить в течение пары дней с помощью самореализованной нейронной сети на Java. Моя сеть имеет два входных нейрона, соответствующих координатам x и y пикселя в данном изображении в градациях серого и один выход, представляющий тон пикселя. Я использую алгоритм обучения RPROP. Проблема, с которой я сталкиваюсь, состоит в том, что после многочисленных итераций подачи в сеть всего набора обучающих данных она сходится к точке, очень далекой от ожидаемой, и после анализа структуры веса конвергентной сети я мог видеть, что все нейроны в скрытом слое был точно такой же набор входных весов. Это происходит независимо от количества нейронов в скрытом слое. Это связано с тем, что я инициализирую все веса в сети с одинаковым значением? Я попытался рандомизировать веса, но это не улучшило ситуацию. Я использую сигмоидальные (tanh) функции активации во всех слоях, кроме выходного. Я не знаю, допустил ли я ошибку в реализации или неправильно понял некоторую часть математического описания процесса обучения нейронной сети. Кто-нибудь знает, что может вызвать такое странное поведение?