Wolfram Language

Entraînez un réseau neuronal à normalisation automatique (SNN)

Historiquement, les réseaux neuronaux entièrement connectés et possédant plusieurs couches ont été extrêmement difficiles à entraîner. Tous les réseaux profonds utilisaient le partage des poids (comme les convolutions ou les couches récurrentes). De plus, les réseaux neuronaux ont eu du mal à rivaliser avec les méthodes traditionnelles d'apprentissage automatique (Random Forest, etc.) pour les tâches non perceptives. Lancé en 2017, le réseau neuronal à normalisation automatique (SNN) est la première architecture de réseau neuronal permettant d'entraîner des réseaux profonds entièrement connectés et également la première architecture concurrente des méthodes traditionnelles sur la structuration des données (généralement des lignes de classes et des nombres). Cet exemple illustre comment créer et entraîner un tel réseau.

Les SNN sont une classe très simple de réseaux qui utilisent simplement des couches linéaires, une non-linéarité élémentaire et une version modifiée du "Dropout" pour la régularisation. Créez un classifieur SNN composé de sept couches linéaires.

L'élément clé de ce réseau est sa non-linéarité "SELU" (Scaled Exponential Linear Unit). La non-linéarité "SELU" a la particularité de maintenir les données selon la norme et d'éviter que les gradients deviennent trop petits ou trop grands.

Entraînez ce réseau à la tâche de classement de la Lettre UCI.

Les réseaux à normalisation automatique supposent que les données d'entrée ont une moyenne de 0 et une variance de 1. Uniformisez l'entraînement et les données de tests.

Entraînez le réseau pendant 150 tours, en laissant 5 % des données pour la validation.

Appliquez le réseau sur un nouvel exemple.

Déterminez l'exactitude du réseau entraîné sur l'ensemble de tests standardisés.

La précision du réseau à normalisation automatique (environ 96,4 %) se compare bien aux méthodes classiques d'apprentissage automatique.

Exemples connexes

de en es ja ko pt-br zh