Multilayer Perceptron (MLP) est un modèle d'apprentissage profond couramment utilisé pour des tâches telles que la classification et la régression. Cependant, MLP est sujet à des problèmes de surapprentissage, c'est-à-dire qu'il fonctionne bien sur l'ensemble d'entraînement mais a de mauvais résultats sur l'ensemble de test. Pour résoudre ce problème, les chercheurs ont proposé diverses méthodes de régularisation, dont la plus couramment utilisée est le dropout. En rejetant de manière aléatoire la sortie de certains neurones pendant l'entraînement, l'abandon peut réduire la complexité du réseau neuronal, réduisant ainsi le risque de surapprentissage. Cette méthode a été largement utilisée dans les modèles d’apprentissage profond et a permis d’obtenir des améliorations significatives.
Dropout est une technique de régularisation des réseaux neuronaux, initialement proposée par Srivastava et al. Cette méthode réduit le surapprentissage en supprimant aléatoirement des neurones. Plus précisément, la couche d'abandon sélectionne de manière aléatoire certains neurones et définit leur sortie sur 0, empêchant ainsi le modèle de s'appuyer sur des neurones spécifiques. Pendant les tests, la couche d'abandon multiplie la sortie de tous les neurones par une probabilité de rétention pour conserver tous les neurones. De cette manière, l'abandon peut forcer le modèle à apprendre des fonctionnalités plus robustes et généralisables pendant la formation, améliorant ainsi la capacité de généralisation du modèle. En réduisant la complexité du modèle, l’abandon peut également réduire efficacement le risque de surapprentissage. Par conséquent, l’abandon est devenu l’une des techniques de régularisation couramment utilisées dans de nombreux modèles d’apprentissage profond.
Le principe du décrochage est simple mais efficace. Cela oblige le modèle à apprendre des fonctionnalités robustes en supprimant aléatoirement des neurones, réduisant ainsi le risque de surapprentissage. De plus, l’abandon empêche également la co-adaptation neuronale et évite la dépendance à l’égard de neurones spécifiques.
En pratique, utiliser le dropout est très simple. Lors de la construction d'un perceptron multicouche, vous pouvez ajouter une couche d'abandon après chaque couche cachée et définir une probabilité de rétention. Par exemple, si nous voulons utiliser le dropout dans un MLP avec deux couches cachées, nous pouvons construire le modèle comme suit : 1. Définissez la structure de la couche d'entrée, de la couche cachée et de la couche de sortie. 2. Ajoutez une couche de suppression après la première couche masquée et définissez la probabilité de rétention sur p. 3. Ajoutez une autre couche d'abandon après la deuxième couche cachée et définissez la même probabilité de rétention p. 4. Définissez la couche de sortie et connectez la couche cachée précédente à la couche de sortie. 5. Définissez la fonction de perte et l'optimiseur. 6. Effectuez la formation et la prédiction du modèle. De cette façon, la couche d'abandon sera basée sur la probabilité de rétention p
model = Sequential() model.add(Dense(64, input_dim=20,activation='relu')) model.add(Dropout(0.5)) model.add(Dense(64, activation='relu')) model.add(Dropout(0.5)) model.add(Dense(10, activation='softmax'))
Dans cet exemple, nous avons ajouté une couche d'abandon après chaque couche masquée et défini la probabilité de rétention à 0,5. Cela signifie que chaque neurone a une probabilité de 50 % d’être supprimé pendant l’entraînement. Pendant les tests, tous les neurones sont conservés.
Il est à noter que le dropout doit être utilisé pendant l'entraînement, mais pas pendant les tests. En effet, lors des tests, nous souhaitons utiliser tous les neurones pour faire des prédictions, pas seulement certains.
En général, le décrochage est une méthode de régularisation très efficace qui peut aider à réduire le risque de surapprentissage. En supprimant aléatoirement des neurones pendant l'entraînement, l'abandon peut forcer le modèle à apprendre des fonctionnalités plus robustes et empêcher la co-adaptation entre les neurones. En pratique, la méthode d'utilisation du dropout est très simple, il suffit d'ajouter une couche de dropout après chaque couche cachée et de spécifier une probabilité de rétention.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!