La Descente de Gradient vs Adagrad vs Élan dans TensorFlow

Je suis étudiant en TensorFlow et comment l'utiliser, même si je ne suis pas un expert des réseaux de neurones et apprentissage en profondeur (juste les bases).

Didacticiels, je ne comprends pas le réel et la pratique, les différences entre les trois optimiseurs de la perte. Je regarde le API et je comprends les principes, mais mes questions sont:

1. Quand est-il préférable d'utiliser à la place des autres ?

2. Il existe des différences marquées savoir ?

  • Il n'y a pas de théorie qui optimizer est censé mieux travailler sur, disons, MNIST, afin que les gens essayer plusieurs et choisir celui qui convient le mieux à leur problème. La Descente de Gradient est généralement le pire de tous, le Momentum/AdaGrad peut être meilleur ou pire que l'autre selon le dataset
  • Ok, j'ai besoin de créer un modèle pour la reconnaissance d'images avec 4 - 5 classes de reconnaissance. Si j'utilise le Imagenet dataset est-ce que vous me suggérer ?
  • AdamOptimizer semble bien fonctionner sur Imagenet
  • Juste à ajouter sur ce qui a déjà été dit, le nombre d'hyper paramètres requis par l'optimiseur doit également être gardé à l'esprit lors du choix d'un optimiseur. La Descente de Gradient est lent, mais vous ne devez définir au taux d'apprentissage.
InformationsquelleAutor Kyrol | 2016-03-22