Entraîner les réseaux de neurones

La rétropropagation est l'algorithme d'apprentissage le plus utilisé pour les réseaux de neurones. Elle permet la descente de gradient avec les réseaux de neurones multicouches. TensorFlow gère automatiquement la rétropropagation. Vous n'avez donc pas besoin de connaître l'algorithme dans le détail. Pour en découvrir les principes de fonctionnement, reportez-vous à l'explication visuelle de l'algorithme de rétropropagation. Prêtez attention aux éléments suivants à mesure que vous parcourrez cette explication :

  • Flux des données dans le graphique
  • Façon dont la programmation dynamique évite de devoir calculer de nombreux chemins de manière exponentielle dans l'ensemble du graphe (dans le cas présent, "programmation dynamique" désigne uniquement l'enregistrement des résultats intermédiaires au niveau des transitions avant et arrière)

Entraîner les réseaux de neurones

À savoir sur la rétropropagation

  • Les gradients sont importants.
    • Les gradients différentiables peuvent contribuer à l'apprentissage.

À savoir sur la rétropropagation

  • Les gradients sont importants.
    • Les gradients différentiables peuvent contribuer à l'apprentissage.
  • Les gradients peuvent disparaître.
    • Chaque couche supplémentaire peut réduire successivement le rapport signal sur bruit.
    • Dans ce cas de figure, les unités ReLU sont particulièrement utiles.

À savoir sur la rétropropagation

  • Les gradients sont importants.
    • Les gradients différentiables peuvent contribuer à l'apprentissage.
  • Les gradients peuvent disparaître.
    • Chaque couche supplémentaire peut réduire successivement le rapport signal sur bruit.
    • Dans ce cas de figure, les unités ReLU sont particulièrement utiles.
  • Les gradients peuvent exploser.
    • Dans ce cas de figure, les taux d'apprentissage sont importants.
    • La normalisation de lot (paramètre utile) peut aider.

À savoir sur la rétropropagation

  • Les gradients sont importants.
    • Les gradients différentiables peuvent contribuer à l'apprentissage.
  • Les gradients peuvent disparaître.
    • Chaque couche supplémentaire peut réduire successivement le rapport signal sur bruit.
    • Dans ce cas de figure, les unités ReLU sont particulièrement utiles.
  • Les gradients peuvent exploser.
    • Dans ce cas de figure, les taux d'apprentissage sont importants.
    • La normalisation de lot (paramètre utile) peut aider.
  • Les couches ReLU peuvent disparaître.
    • Gardez votre sang-froid et diminuez les taux d'apprentissage.

Normaliser les valeurs des caractéristiques

  • Idéalement, les caractéristiques doivent avoir des échelles raisonnables.
    • En général, les plages centrées autour de zéro, telles que [-1, 1], fonctionnent bien.
    • Cela contribue à la convergence de la descente de gradient tout en évitant le piège NaN.
    • De manière générale, il est aussi préférable d'éviter les valeurs atypiques.
  • Quelques méthodes standards sont possibles :
    • Mise à l'échelle linéaire
    • Plafond strict (limitation) par rapport à une valeur maximale ou minimale
    • Mise à l'échelle logarithmique

Régularisation par abandon

  • Abandon : autre forme de régularisation utile pour les réseaux de neurones.
  • Cette méthode "abandonne" de manière aléatoire des unités dans un réseau pour un pas de gradient unique.
    • Il existe ici une connexion avec les modèles de groupes.
  • 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 sans aucun apprentissage.
    • Les valeurs intermédiaires sont plus efficaces.

Envoyer des commentaires concernant…

Cours d'initiation au machine learning