0

Я создал искусственную нейронную сеть на Java, которая учится с помощью алгоритма backpropagation, я подготовил следующий график, который показывает, как изменение скорости обучения влияет на время, которое требуется для сети тренировать.Тестирование того, как скорость обучения влияет на backpropagation, Искусственная нейронная сеть

Похоже, что обучение очень неустойчиво, поскольку оно либо правильно тренируется очень быстро, либо застревает (backpropagation прекратит обучение с 1 минутой или определенным порогом ошибки). Я хочу понять, почему сеть настолько непредсказуема, слишком большой импульс? мне нужна адаптивная скорость обучения? Является ли это хорошим примером того, как местные минимумы влияют на обучение http://www.willamette.edu/~gorr/classes/cs449/momrate.html.

Это графы я продюсировал: http://i.stack.imgur.com/ooXqP.png

+0

Вы произвольно инициализируете весы для каждого эксперимента (для каждой новой скорости обучения)? –

+0

Да, я создаю совершенно новую сеть со случайными весами каждый раз. – Heisenberg

ответ

0

Если вы инициализация случайных весов до нового эксперимента - вы начинаете оптимизацию каждый раз, когда от новой случайной точки (в весовом пространстве), и NN, это очень важно, потому что из разных точек с градиентным спусками вы сходитесь в разные локальные оптимумы, разумеется, с различным количеством итераций и разным временем, необходимым для схождения. Вы должны генерировать весы инициализации только один раз и начинать каждый эксперимент с новой скорости обучения из этого состояния, а не из нового случайного состояния.

Смежные вопросы