Quelle est la différence entre abandon et drop connect?

24

Quelle est la différence entre abandon et drop connect?

AFAIK, le décrochage supprime aléatoirement les nœuds cachés pendant la formation, mais les maintient dans les tests, et le drop connect supprime les connexions.

Mais la suppression des connexions n'est-elle pas équivalente à la suppression des nœuds cachés? Les nœuds (ou connexions) ne sont-ils pas simplement un ensemble de poids?

Machina333
la source

Réponses:

24

DropOut et DropConnect sont deux méthodes destinées à empêcher la «co-adaptation» des unités d'un réseau de neurones. En d'autres termes, nous voulons que les unités extraient indépendamment des caractéristiques de leurs entrées au lieu de s'appuyer sur d'autres neurones pour le faire.

Supposons que nous ayons un réseau de feedforward multicouche comme celui-ci (la topologie n'a pas vraiment d'importance). Nous nous inquiétons de la co-adaptation des unités cachées jaunes dans la couche intermédiaire.

exemple de réseau 5-4-3

Abandonner

Pour appliquer DropOut, nous sélectionnons au hasard un sous-ensemble des unités et fixons leur sortie à zéro, quelle que soit l'entrée; cela supprime efficacement ces unités du modèle. Un sous-ensemble différent d'unités est sélectionné au hasard chaque fois que nous présentons un exemple de formation.

Voici deux configurations de réseau possibles. Lors de la première présentation (à gauche), les 1re et 3e unités sont désactivées, mais les 2e et 3e unités ont été sélectionnées au hasard lors d'une présentation ultérieure. Au moment du test, nous utilisons le réseau complet mais redimensionnons les poids pour compenser le fait que tous peuvent désormais devenir actifs (par exemple, si vous supprimez la moitié des nœuds, les poids doivent également être réduits de moitié).

Exemples DropOut

DropConnect

DropConnect fonctionne de la même manière, sauf que nous désactivons les pondérations individuelles (c'est-à-dire les mettons à zéro), au lieu des nœuds, de sorte qu'un nœud peut rester partiellement actif. Schématiquement, cela ressemble à ceci:

DropConnect

Comparaison

Ces méthodes fonctionnent toutes les deux, car elles vous permettent effectivement de former plusieurs modèles en même temps, puis de faire la moyenne entre eux pour les tests. Par exemple, la couche jaune a quatre nœuds, et donc 16 états DropOut possibles (tous activés, # 1 désactivé, # 1 et # 2 désactivés, etc.).

DropConnect est une généralisation de DropOut car il produit encore plus de modèles possibles, car il y a presque toujours plus de connexions que d'unités. Cependant, vous pouvez obtenir des résultats similaires sur un essai individuel. Par exemple, le réseau DropConnect à droite a effectivement supprimé l'unité n ° 2 car toutes les connexions entrantes ont été supprimées.

Lectures complémentaires

Les articles originaux sont assez accessibles et contiennent plus de détails et de résultats empiriques.

Matt Krause
la source
6

Oui, mais ils sont légèrement différents quant à la façon dont les poids sont supprimés.

Ce sont les formules de DropConnect (à gauche) et de dropout (à droite).

entrez la description de l'image ici entrez la description de l'image ici

Ainsi, dropout applique un masque aux activations, tandis que DropConnect applique un masque aux poids.

Le document DropConnect dit qu'il s'agit d'une généralisation du décrochage dans le sens où

DropConnect est la généralisation de Dropout dans laquelle chaque connexion, au lieu de chaque unité de sortie comme dans Dropout, peut être supprimée avec une probabilité p.

dontloo
la source