Dropout ( papier , explication ) met la sortie de certains neurones à zéro. Donc, pour un MLP, vous pouvez avoir l'architecture suivante pour le jeu de données Iris flower :
4 : 50 (tanh) : dropout (0.5) : 20 (tanh) : 3 (softmax)
Cela fonctionnerait comme ceci:
avec , , , , (en ignorant les biais pour des raisons de simplicité). W 1 ∈ R 50 × 4 D ∈ { 0 , 1 } 50 × 1 W 2 ∈ R 20 × 50 W 3 ∈ R 20 × 3
Avec et
où l'opération multiplie ponctuellement par (voir produit Hadamard ).
Par conséquent, nous venons d'échantillonner la matrice chaque fois et ainsi le décrochage devient une multiplication d'un nœud avec 0.
Mais pour les CNN, je ne sais pas exactement ce qui est abandonné. Je vois trois possibilités:
- Suppression de cartes de fonctionnalités complètes (d'où un noyau)
- Suppression d'un élément d'un noyau (remplacement d'un élément d'un noyau par 0)
- Suppression d'un élément d'une carte d'entités
Veuillez ajouter une référence / devis à votre réponse.
Mes pensées
Je pense que la lasagne fait (3) (voir code ). Cela pourrait être le plus simple à mettre en œuvre. Cependant, l'idée la plus proche pourrait être (1).
Semble être similaire pour Caffe (voir code ). Pour tensorflow, l'utilisateur doit décider ( code - je ne sais pas ce qui se passe quand il noise_shape=None
est passé).
Comment ça devrait être
(2) et (3) n'ont pas beaucoup de sens car cela amènerait le réseau à ajouter de l'invariance aux positions spatiales, ce qui n'est probablement pas souhaité. Par conséquent, (1) est la seule variante qui a du sens. Mais je ne sais pas ce qui se passe si vous utilisez l'implémentation par défaut.
Réponses:
Comme vous l'avez mentionné, la matrice de masque est échantillonnée et multipliée avec les activations dans la carte d' au niveau pour produire des activations modifiées supprimées qui sont ensuite convolues avec le filtre au niveau suivant . (3)l W( l + 1 )
Pour plus de détails, je pense que la section 3 de ce document pourrait vous aider: Max-pooling & Convolutional dropout . Plus précisément 3.2.
Lorsque vous testez, vous utilisez tous les nœuds du réseau mais avec les pondérations du filtre mises à l'échelle par la probabilité de rétention, comme expliqué dans l'article.
N'hésitez pas à affiner ou corriger ma réponse.
J'espère que cela aide au moins un peu.
la source