Uso de regularizadores en redes neuronales
Uso de Regularizadores en Redes Neuronales Convolucionales
Introducción a la Regularización
- La regularización es necesaria debido a la gran cantidad de parámetros en las redes neuronales convolucionales.
- Sin regularización, el modelo puede memorizar el conjunto de entrenamiento, lo que lleva al sobreajuste (overfitting).
- La regularización mejora la capacidad de generalización y estabiliza el proceso de entrenamiento.
Tipos de Regularizadores
Regularización L2
- La regularización L2 penaliza los pesos agregando un término proporcional a su norma L2 en la función de pérdida.
- Este término ayuda a mantener los pesos pequeños y distribuidos uniformemente entre las neuronas.
- Pesos más pequeños evitan problemas como la explosión del gradiente durante el entrenamiento.
Regularización L1
- La regularización L1 busca escasez, forzando muchos pesos a ser cero, actuando como un selector de características.
- Esto simplifica el modelo al eliminar influencias irrelevantes en capas intermedias o ocultas.
- A diferencia de L2, L1 no solo reduce los valores sino que puede llevarlos exactamente a cero.
¿Qué es el Dropout en Redes Neuronales?
- El dropout apaga aleatoriamente neuronas durante el entrenamiento con probabilidad P.
- Con un valor de 0.5, el 50% de las neuronas se apagan, afectando la salida final.
- Durante la inferencia, todas las neuronas están encendidas y tienen pesos asociados.
Variabilidad en el Entrenamiento
- En cada época, se selecciona un nuevo 50% de neuronas para apagar.
- La probabilidad de estar encendida o apagada varía entre épocas.
- Al final del entrenamiento, todas las neuronas están activas con pesos asignados.
Inferencia y Escalado
- Inicialmente, la salida de una neurona se multiplicaba por el inverso de su probabilidad durante inferencia.
- En versiones actuales, las salidas activas se escalan solo durante el entrenamiento.
- En inferencia, no hay escalado adicional; todas las neuronas son utilizadas normalmente.
Regularización y Normalización por Lotes
Efectos del Dropout
- El dropout evita la coadaptación entre neuronas al variar sus entradas.
- Esto ayuda a prevenir el sobreajuste en redes neuronales.
Normalización Batch
- Se normaliza la activación para tener media cero y varianza uno.
- Se resta la media y se divide entre la desviación estándar más un término éilon para evitar divisiones por cero.
- La salida normalizada se multiplica por un factor sigma y suma un parámetro beta entrenable.
¿Qué significa la normalización en redes neuronales?
- La normalización con media cero y varianza uno evita que los valores de salida sean extremos.
- Se busca ajustar el brillo de las imágenes a través de la salida de la red.
- En cada capa con normalización por lote, se entrenan dos parámetros adicionales.
Impacto de la regularización L2 en los pesos
- Sin regularización L2, los pesos W1 y W2 tienen valores más altos al final del entrenamiento.
- Con regularización L2, los valores de los pesos son significativamente más pequeños.
- La regularización ayuda a mantener un entrenamiento estable y evitar explosiones en el gradiente.
Aumentación de datos como técnica de regularización
- La aumentación no afecta parámetros internos, sino que incrementa la variabilidad de datos para entrenar.
- Se utilizan técnicas como rotaciones, flips y cambios en brillo para diversificar las imágenes.
- Aumentar la diversidad reduce el sobreajuste durante el entrenamiento.
Detener el entrenamiento tempranamente: Early Stopping
- Se detiene el entrenamiento cuando la pérdida del conjunto de validación deja de mejorar.
- Esto previene que el modelo se ajuste al ruido del conjunto de entrenamiento.
- Generalmente se escoge un rango entre 20 a 100 épocas para evaluar mejoras.
Ejemplo práctico: Programación de parámetros en un modelo
- Un modelo puede incluir capas con filtros y funciones específicas como relu y L2.
- El parámetro lambda para regularización L2 es crucial para controlar el ajuste del modelo.
- Se incorpora una capa adicional para normalizar datos antes del proceso final.
Entrenamiento de Redes Neuronales
Estructura del Modelo
- Durante el entrenamiento, el 70% de las neuronas se activan aleatoriamente en cada época.
- Se utiliza una regularización L1 con un parámetro delta de 0.001 para reducir pesos a cero.
- La red busca eliminar características irrelevantes en el proceso de clasificación.
Capas y Funciones
- Se incluye una capa de dropout con un 50% de probabilidad para mejorar la generalización.
- El modelo se compila con Adam y categorical crossentropy como función de pérdida.
- Se monitorea la exactitud durante el entrenamiento en el conjunto de datos Cifar 10.
Análisis del Rendimiento
- Sin regularización, la exactitud en validación se mantiene baja comparada con los datos de entrenamiento.
- Con regularización, la exactitud se estabiliza y evita sobreajuste entre entrenamiento y validación.
- La pérdida sin regularización comienza a aumentar después de varias épocas, indicando sobreajuste.
Comparativa con Regularización
- La pérdida en validación debe disminuir; si no lo hace, indica que el modelo no generaliza bien.
- Con regularización, tanto la pérdida como la exactitud muestran mejoras consistentes durante el entrenamiento.
- En la última época, sin regularización, se obtiene una exactitud del 72.4%.
¿Cómo afecta la regularización en el modelo?
- Se observa una mejora significativa en la exactitud con regularización (Dropout y L2) comparado con sin regularización.
- Exactitud en conjunto de prueba: 0.7164 sin regularización, 0.7530 con regularización; mejor desempeño con esta última.
- A pesar de la mejora, el desempeño sigue siendo bajo; se entrenó solo por 15 épocas.
¿Qué se necesita para mejorar el entrenamiento?
- La pérdida continúa disminuyendo, indicando que se requiere más entrenamiento.
- En futuros videos se mostrará cómo aumentar las épocas puede reducir la pérdida y aumentar la exactitud.