TensorFlow - Оптимизаторы

Оптимизаторы - это расширенный класс, который включает дополнительную информацию для обучения конкретной модели. Класс оптимизатора инициализируется заданными параметрами, но важно помнить, что тензор не требуется. Оптимизаторы используются для повышения скорости и производительности обучения конкретной модели.

Базовый оптимизатор TensorFlow -

tf.train.Optimizer

Этот класс определен по указанному пути в файле tensorflow / python / training / optimizer.py.

Ниже приведены некоторые оптимизаторы в Tensorflow:

  • Стохастический градиентный спуск
  • Стохастический градиентный спуск с отсечением градиента
  • Momentum
  • Нестеров импульс
  • Adagrad
  • Adadelta
  • RMSProp
  • Adam
  • Adamax
  • SMORMS3

Мы сосредоточимся на спуске стохастического градиента. Иллюстрация создания оптимизатора для этого же упоминается ниже -

def sgd(cost, params, lr = np.float32(0.01)):
   g_params = tf.gradients(cost, params)
   updates = []
   
   for param, g_param in zip(params, g_params):
      updates.append(param.assign(param - lr*g_param))
   return updates

Основные параметры определяются в конкретной функции. В нашей следующей главе мы сосредоточимся на оптимизации градиентного спуска с применением оптимизаторов.