Поскольку это очень конкретный вопрос c, я бы не стал go объяснять какие-либо математические детали Адама. Я предполагаю, что в статье, строка вычисляет индивидуальные скорости обучения для различных параметров , которые вас взволновали.
Это скриншот фактического алгоритма Адама, предложенного в статье https://arxiv.org/pdf/1412.6980.pdf
![enter image description here](https://i.stack.imgur.com/UmcK2.png)
Адам сохраняет экспоненциально убывающее среднее значение прошлых градиентов, так что он ведет себя как тяжелый шар с трением, который помогает ему быстрее сходимости и устойчивости .
Но, если вы посмотрите на алгоритм, есть alpha (размер шага), это керас-эквивалент скорости обучения = 0,001, которую мы предоставляем. Таким образом, алгоритму необходим размер шага для обновления параметров (просто, это масштабный коэффициент для обновления веса). Что касается изменяющейся скорости обучения (или обновления), вы можете увидеть последнее уравнение (оно использует m_t и v_t , они обновляются в l oop), но альфа остается неизменным во всем алгоритме. Это скорость обучения в керасе, которую мы должны предоставить.
Поскольку альфа остается неизменной, нам иногда приходится использовать планирование скорости обучения, когда мы на самом деле снижаем скорость обучения после нескольких эпох. Существуют и другие варианты, когда мы сначала увеличиваем скорость обучения, а затем уменьшаем.