Cómo funciona
Dropout es una técnica de regularización usada en redes neuronales. Durante el entrenamiento, en cada paso, una fracción de las neuronas de una capa se desactiva (se pone a cero) de forma aleatoria. Esto evita que la red dependa demasiado de una neurona o de una ruta específica, obligándola a aprender representaciones más robustas.
La tasa de dropout (por ejemplo, 0,2 o 0,5) define la proporción de neuronas desactivadas. En el momento de la inferencia (uso), el dropout se desactiva y los pesos se ajustan (se escalan) para compensar la diferencia entre entrenamiento y uso.
Ejemplo práctico
Imagina una red neuronal que clasifica correos como spam. Sin dropout, la red puede memorizar patrones específicos del conjunto de entrenamiento (overfitting) y fallar con correos nuevos. Con dropout de 0,3, el 30% de las neuronas se desactiva en cada paso, y la red aprende a reconocer spam a partir de varias señales independientes, generalizando mejor.
En código con PyTorch:
import torch.nn as nn
layer = nn.Dropout(p=0.3)Para qué sirve
Dropout sirve para reducir el overfitting y mejorar la generalización de las redes neuronales. Es una de las técnicas más simples y eficaces, usada en modelos de visión, lenguaje y tabulares. Suele combinarse con otras formas de regularización, como weight decay y data augmentation.