TensorFlow - otimizadores

Otimizadores são a classe estendida, que inclui informações adicionais para treinar um modelo específico. A classe do otimizador é inicializada com parâmetros fornecidos, mas é importante lembrar que nenhum Tensor é necessário. Os otimizadores são usados ​​para melhorar a velocidade e o desempenho para treinar um modelo específico.

O otimizador básico do TensorFlow é -

tf.train.Optimizer

Esta classe é definida no caminho especificado de tensorflow / python / training / optimizer.py.

A seguir estão alguns otimizadores no Tensorflow -

  • Descida do gradiente estocástico
  • Descida do gradiente estocástico com recorte de gradiente
  • Momentum
  • Momento de Nesterov
  • Adagrad
  • Adadelta
  • RMSProp
  • Adam
  • Adamax
  • SMORMS3

Vamos nos concentrar na descida do Gradiente Estocástico. A ilustração para criar um otimizador para o mesmo é mencionada abaixo -

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

Os parâmetros básicos são definidos dentro da função específica. Em nosso capítulo subsequente, vamos nos concentrar na Otimização de Gradiente Descendente com implementação de otimizadores.