2015-12-07 5 views
3

Я пытаюсь построить простую нейронную сеть в Tensorflow, но у меня есть вопрос о оптимизации градиента.остановка оптимизатора градиента в TensorFlow

Это может быть наивный вопрос, но мне нужно установить условия на stop оптимизатор? Ниже приведен образец распечатки из моей сети, и вы можете видеть, что после итерации (пакетный спуск по градиенту всех данных) 66 стоимость снова начинает увеличиваться. Так ли это до me, чтобы убедиться, что оптимизатор останавливается на этом этапе? (примечание: я не помещал весь вывод здесь, но стоимость начинает экспоненциально возрастать по мере увеличения количества итераций).

Спасибо за любые рекомендации.

iteration 64 with average cost of 654.621 and diff of 0.462708 
iteration 65 with average cost of 654.364 and diff of 0.257202 
iteration 66 with average cost of 654.36 and diff of 0.00384521 
iteration 67 with average cost of 654.663 and diff of -0.302368 
iteration 68 with average cost of 655.328 and diff of -0.665161 
iteration 69 with average cost of 656.423 and diff of -1.09497 
iteration 70 with average cost of 658.011 and diff of -1.58826 

ответ

3

Это правильно - TensorFlow tf.train.Optimizer классы разоблачить operation that you can run to take one (gradient descent-style) step, но они не контролируют текущее значение стоимости или решить, когда остановиться, так что вы можете увидеть рост стоимости, как только сеть начинает overfit.

+0

Спасибо, @mrry. Это то, чего я ожидал, но просто хотел подтверждения. – mcapizzi

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