Si vous avez une demi-page pour expliquer l' abandon , comment procéderiez-vous? Quelle est la raison d'être de cette technique?
Si vous avez une demi-page pour expliquer l' abandon , comment procéderiez-vous? Quelle est la raison d'être de cette technique?
L'abrégé de l'article d'abandon semble parfaitement utilisable.
Nitish Srivastava, Geoffrey Hinton, Alex Krizhevsky, Ilya Sutskever, Ruslan Salakhutdinov, " Dropout: A Simple Way to Prevent Neural Networks from Overfitting ", Journal of Machine Learning Research , 2014.
Les réseaux de neurones profonds avec un grand nombre de paramètres sont des systèmes d'apprentissage automatique très puissants. Cependant, le sur-ajustement est un problème sérieux dans de tels réseaux. Les grands réseaux sont également lents à utiliser, ce qui rend difficile la gestion du surapprentissage en combinant les prédictions de nombreux réseaux de neurones de grande taille au moment du test. Le décrochage est une technique pour résoudre ce problème. L'idée clé est de supprimer au hasard des unités (ainsi que leurs connexions) du réseau neuronal pendant l'entraînement. Cela empêche les unités de trop s'adapter. Pendant la formation, des échantillons de décrochage d'un nombre exponentiel de différents réseaux «éclaircis». Au moment du test, il est facile d'estimer l'effet de la moyenne des prévisions de tous ces réseaux éclaircis en utilisant simplement un seul réseau non éclairci qui a des poids plus petits. Cela réduit considérablement le sur-ajustement et apporte des améliorations majeures par rapport aux autres méthodes de régularisation. Nous montrons que le décrochage améliore les performances des réseaux de neurones sur les tâches d'apprentissage supervisé en vision, reconnaissance vocale, classification de documents et biologie computationnelle, obtenant des résultats de pointe sur de nombreux ensembles de données de référence.
Si vous lisez l'article, vous trouverez une description de ce que signifie un comportement de co-adaptation dans le contexte de l'abandon.
Dans un réseau neuronal standard, la dérivée reçue par chaque paramètre lui indique comment il doit changer de sorte que la fonction de perte finale est réduite, compte tenu de ce que font toutes les autres unités. Par conséquent, les unités peuvent changer d'une manière qui corrige les erreurs des autres unités. Cela peut conduire à des co-adaptations complexes. Cela entraîne à son tour un surajustement car ces co-adaptations ne se généralisent pas aux données invisibles. Nous émettons l'hypothèse que pour chaque unité cachée, le décrochage empêche la co-adaptation en rendant la présence d'autres unités cachées peu fiable. Par conséquent, une unité cachée ne peut pas compter sur d'autres unités spécifiques pour corriger ses erreurs. Il doit bien fonctionner dans une grande variété de contextes différents fournis par les autres unités cachées. Pour observer directement cet effet,
Cette réponse fait suite à l' excellente réponse de Sycorax , pour les lecteurs qui souhaitent voir comment le décrochage est mis en œuvre.
Lors de l'application du décrochage dans les réseaux de neurones artificiels, il faut compenser le fait qu'au moment de l'entraînement, une partie des neurones était désactivée. Pour ce faire, il existe deux stratégies communes:
Le /p
est déplacé de la formation vers le code de prédiction, où il devient *p
:
Ces trois diapositives provenaient de la leçon 6 de Standford CS231n: Réseaux neuronaux convolutionnels pour la reconnaissance visuelle .
Le décrochage momentané (dans un lot de données d'entrée) désactive certains neurones d'une couche afin qu'ils ne fournissent aucune information ou n'apprennent aucune information lors de ces mises à jour, et il incombe aux autres neurones actifs d'apprendre plus et de réduire l'erreur.
Si je dois expliquer l'abandon à un enfant de 6 ans, voici comment: Imaginez un scénario, dans une salle de classe, un enseignant pose quelques questions mais toujours les mêmes deux enfants répondent, immédiatement. Maintenant, l'enseignant leur demande de rester silencieux pendant un certain temps et de laisser d'autres élèves participer. De cette façon, les autres élèves apprennent mieux. Peut-être qu'ils répondent mal, mais l'enseignant peut les corriger (mises à jour du poids). De cette façon, toute la classe (couche) apprend mieux sur un sujet.
Vous pouvez considérer le décrochage comme une probabilité antérieure de savoir si une entité (ou une entité latente dans une couche intermédiaire) n'a pas d'importance - c'est-à-dire un pic (masse ponctuelle à zéro = entité n'a pas d'importance) et une dalle (plate = non réglarisée a priori sur tout l'espace des paramètres) prior.
Surtout, cela vous permet non seulement de régulariser l'ajustement du modèle, mais également d'obtenir une incertitude sur l'inférence. Ceci est discuté dans la dissertation et les articles (également ceci ) de Yarin Gal.