В чем разница между размером шага и скоростью обучения в машинном обучении? - PullRequest
3 голосов
/ 25 января 2020

Я использую TensorFlow для реализации базового c кода ML. Мне было интересно, может ли кто-нибудь дать мне краткое объяснение значения и разницы между размером шага и скоростью обучения в следующих функциях.

Я использовал tf.train.GradientDescentOptimizer () для установки скорости обучения параметров и linear_regressor.train () для установки количества шагов. Я просматривал документацию по tensflowflow.org для этих функций, но у меня все еще нет полного значения этих параметров.

Спасибо и дайте мне знать, если есть какие-либо больше информации я могу предоставить.

1 Ответ

3 голосов
/ 25 января 2020

В SGD вы вычисляете градиент для партии и перемещаете параметры в направлении указанного градиента на величину, определяемую скоростью обучения lr:

params=old_params - lr* grad 

, где grad - это градиент потерь по параметрам.

step в тензорном потоке или аналогичных библиотеках обычно просто обозначает количество таких обновлений за эпоху. Поэтому, если у вас есть step=1000 и lr=0.5, вы будете вызывать псевдокод выше 1000 раз с lr=0.5 в каждой эпохе.

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