Entrenamiento de una red neuronal auto-normalizante
Históricamente, las redes neuronales totalmente conectadas de más de unas pocas capas han sido extremadamente difíciles de entrenar. Todas las redes profundas utilizaban el reparto de peso (como convolución o capas recurrentes). Además, las redes neuronales tuvieron dificultades para competir contra los métodos tradicionales de aprendizaje automático (Random Forest, etc.) en tareas de no percepción. Lanzada en 2017, las redes neuronales auto-normalizadas (SNN) es la primera arquitectura de red neuronal que permite el entrenamiento de redes totalmente conectadas y también la primera arquitectura que compite con los métodos tradicionales en datos estructurados (generalmente filas de clases y números). Este ejemplo muestra cómo crear y entrenar una red de este tipo.
Los SNN son una clase muy simple de redes; simplemente utilizan capas lineales, una no linealidad de elementos y una versión modificada de "Dropout" para la regularización. Construya un clasificador SNN de siete capas lineales.
El elemento clave en esta red es su no linealidad "SELU" (Unidad lineal exponencial escalada). La no linealidad "SELU" tiene la particularidad de mantener los datos estandarizados y evita que los gradientes sean demasiado pequeños o demasiado grandes.
Entrene esta red en la tarea de clasificación de la Carta UCI.
Las redes que se normalizan a sí mismas suponen que los datos de entrada tienen una media de 0 y una varianza de 1. Estandarice los datos de entrenamiento y prueba.
Entrene a la red durante 150 rondas, dejando el 5% de los datos para validación.
Use la red en un nuevo ejemplo.
Obtenga la precisión de la red entrenada en el conjunto de prueba estandarizado.
La precisión de la red de autonormalización (aproximadamente 96.4%) se compara bien con los métodos clásicos de aprendizaje automático.