Entraîner les réseaux de neurones

La rétropropagation est l'algorithme d'entraînement le plus utilisé pour les réseaux de neurones. Elle permet la descente de gradient pour les réseaux de neurones multicouches. TensorFlow gère automatiquement la rétropropagation. Vous n'avez donc pas besoin d'une compréhension approfondie de l'algorithme. Pour vous faire une idée de son fonctionnement, consultez l'explication visuelle de l'algorithme de rétropropagation. En parcourant l'explication précédente, tenez compte des points suivants:

  • Comment les données circulent dans le graphique.
  • Comment la programmation dynamique permet d'éviter de calculer de nombreux chemins de manière exponentielle dans le graphe Ici, "programmation dynamique" désigne simplement l'enregistrement des résultats intermédiaires au niveau des transitions avant et arrière.

Entraîner des réseaux de neurones

  • Les gradients sont importants
    • Si elles sont dérivables, nous pouvons probablement apprendre dessus
  • Les gradients sont importants
    • Si elles sont dérivables, nous pouvons probablement apprendre dessus
  • Les gradients peuvent disparaître.
    • Chaque couche supplémentaire peut réduire successivement le rapport signal/bruit.
    • Les fonctions ReLU sont utiles dans ce cas de figure.
  • Les gradients sont importants
    • Si elles sont dérivables, nous pouvons probablement apprendre dessus
  • Les gradients peuvent disparaître.
    • Chaque couche supplémentaire peut réduire successivement le rapport signal/bruit.
    • Les fonctions ReLU sont utiles dans ce cas de figure.
  • Les gradients peuvent exploser
    • Dans ce cas de figure, les taux d'apprentissage ont leur importance.
    • La normalisation des lots (paramètre utile) peut aider.
  • Les gradients sont importants
    • Si elles sont dérivables, nous pouvons probablement apprendre dessus
  • Les gradients peuvent disparaître.
    • Chaque couche supplémentaire peut réduire successivement le rapport signal/bruit.
    • Les fonctions ReLU sont utiles dans ce cas de figure.
  • Les gradients peuvent exploser
    • Dans ce cas de figure, les taux d'apprentissage ont leur importance.
    • La normalisation des lots (paramètre utile) peut aider.
  • Les couches ReLU peuvent disparaître.
    • Gardez votre calme et réduisez vos taux d'apprentissage
  • Nous aimerions que nos caractéristiques aient des échelles raisonnables
    • Les plages centrées sur zéro ou [-1, 1] fonctionnent souvent bien.
    • Aide à la convergence de la descente de gradient et évite le piège NaN
    • Éviter les valeurs aberrantes peut également aider
  • Plusieurs méthodes standards sont possibles:
    • Mise à l'échelle linéaire
    • Plafond strict (bornement) par rapport à une valeur maximale ou minimale
    • Mise à l'échelle logarithmique
  • Abandon: autre forme de régularisation utile pour les réseaux de neurones.
  • Fonctionne en "abandonnant" des unités de manière aléatoire dans un réseau pour un seul pas de gradient
    • Il existe ici un lien avec les modèles de groupe
  • Plus il y a d'abandons, plus la régularisation est poussée
    • 0,0 = pas de régularisation par abandon
    • 1,0 = abandon maximal, aucun apprentissage
    • Les valeurs intermédiaires sont plus utiles