Dropout
Una técnica de regularización que desactiva aleatoriamente neuronas durante el entrenamiento, previniendo la coadaptación y reduciendo el sobreajuste al entrenar implícitamente un conjunto de subredes.
Dropout es una técnica de regularización que establece aleatoriamente una fracción de las activaciones neuronales a cero durante cada paso de entrenamiento. Propuesto por Srivastava et al. en 2014, previene el sobreajuste reduciendo la coadaptación entre neuronas. Las neuronas descartadas se excluyen tanto de la propagación hacia adelante como hacia atrás en esa iteración.
Intuitivamente, dropout entrena una subred diferente en cada mini-lote, aproximando un conjunto de exponencialmente muchas subredes. En la inferencia, todas las neuronas están activas y las salidas se escalan por (1 - tasa de descarte). Las implementaciones modernas usan Dropout Invertido, escalando durante el entrenamiento.
- Selección de tasa de descarte: Los valores comunes son 0.5 para capas totalmente conectadas y 0.1-0.3 para capas convolucionales. Tasas más altas son adecuadas para conjuntos de datos más pequeños
- Dropout Espacial: Descarta canales completos de mapas de características en lugar de activaciones individuales, respetando la estructura de correlación espacial de las características convolucionales
- DropPath (Profundidad Estocástica): Omite aleatoriamente bloques residuales completos durante el entrenamiento en ResNets y Vision Transformers, estabilizando la optimización de redes profundas
Con la adopción de Batch Normalization, el uso de dropout en CNNs ha disminuido ya que ambos proporcionan regularización. Sin embargo, dropout sigue siendo estándar en capas totalmente conectadas y Transformers. Extensiones recientes incluyen DropKey (aplicado a pesos de atención) y R-Drop (forzando consistencia de salida entre máscaras de dropout).