Tema
Regularización y abandono
- Aprendizaje profundo
- Nivel intermedio
La regularización limita la capacidad efectiva de la red para que el error sobre datos nuevos baje, aunque el error sobre los datos de entrenamiento suba.
Nombre en inglés
Regularization and dropout
Intuición
Una red con millones de parámetros puede memorizar el conjunto de entrenamiento entero, incluidas sus casualidades. La penalización L2 empuja los pesos hacia cero y obliga a repartir la decisión entre muchas entradas en lugar de apoyarse en unas pocas. El abandono apaga unidades al azar en cada paso, con lo que ninguna unidad confía en la presencia de otra y la red acaba comportándose como un promedio de muchas redes más pequeñas.
Fórmula
L_{tot} = L + \frac{\lambda}{2} \lVert w \rVert^2 \qquad \frac{\partial L_{tot}}{\partial w} = \frac{\partial L}{\partial w} + \lambda w \qquad \text{abandono} \quad a \leftarrow \frac{a \odot m}{1 - p} \quad m \sim \mathrm{Bernoulli}(1 - p)
Ejemplo resuelto
Una capa oculta de cuatro unidades produce las salidas 2, 4, 6 y 8. Con abandono de probabilidad 0.5 y la máscara sorteada (1, 0, 1, 0), quedan 2, 0, 6 y 0. El escalado inverso divide entre 1 menos 0.5, de modo que la capa entrega 4, 0, 12 y 0. Ese escalado existe para que la esperanza coincida con la salida sin abandono, ya que cada unidad sobrevive la mitad de las veces y entonces vale el doble. En evaluación el abandono se apaga y no hace falta escalar nada. Por su parte, la penalización L2 con factor 0.01 sobre un peso que vale 1 añade al gradiente el término 0.01, lo que con tasa 0.1 resta 0.001 al peso en cada paso aunque el gradiente de la pérdida fuese nulo.
Errores frecuentes
- Dejar el abandono activo al evaluar, lo que añade ruido a la predicción y hace que dos pasadas sobre el mismo ejemplo den resultados distintos.
- Aplicar la penalización L2 también a los sesgos y a los parámetros de la normalización, que no controlan la complejidad de la frontera y solo pierden libertad.
- Subir el abandono para arreglar una red que ya rinde por debajo de su capacidad, cuando un error alto tanto en entrenamiento como en validación indica falta de capacidad y no exceso.
Ejercicio
Una unidad entrega 10 con abandono de probabilidad 0.2 y sobrevive a la máscara. ¿Qué valor pasa a la capa siguiente durante el entrenamiento con escalado inverso?
Ver la solución
El escalado inverso divide la salida entre la probabilidad de supervivencia, que vale 1 menos 0.2, es decir, 0.8. El resultado es 10 dividido entre 0.8, que da 12.5.
Respuesta: 12.5
Temas relacionados
- Normalización por lotes
- Aprendizaje por transferencia
- Descomposición de sesgo y varianza
- Validación cruzada