TensorFlow - Optimiseurs

Les optimiseurs sont la classe étendue, qui inclut des informations supplémentaires pour entraîner un modèle spécifique. La classe d'optimisation est initialisée avec des paramètres donnés, mais il est important de se rappeler qu'aucun Tensor n'est nécessaire. Les optimiseurs sont utilisés pour améliorer la vitesse et les performances pour entraîner un modèle spécifique.

L'optimiseur de base de TensorFlow est -

tf.train.Optimizer

Cette classe est définie dans le chemin spécifié de tensorflow / python / training / optimizer.py.

Voici quelques optimiseurs dans Tensorflow -

  • Descente de gradient stochastique
  • Descente de gradient stochastique avec découpage de gradient
  • Momentum
  • L'élan de Nesterov
  • Adagrad
  • Adadelta
  • RMSProp
  • Adam
  • Adamax
  • SMORMS3

Nous nous concentrerons sur la descente du gradient stochastique. L'illustration pour créer un optimiseur pour le même est mentionnée ci-dessous -

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

Les paramètres de base sont définis dans la fonction spécifique. Dans notre prochain chapitre, nous nous concentrerons sur l'optimisation de la descente de gradient avec la mise en œuvre d'optimiseurs.