Cuando una red neuronal se aprende los datos de memoria en lugar de comprender el problema, estamos frente a uno de los desafíos más frecuentes del aprendizaje profundo. Existen tres técnicas fundamentales para combatir este fenómeno: reducir el tamaño del modelo, aplicar regularización y usar dropout. Cada una ataca el problema desde un ángulo diferente, y conocerlas permite construir modelos más robustos y con mejor capacidad de generalización.
¿Qué es el overfitting y por qué ocurre tanto en redes neuronales?
El overfitting se presenta cuando el modelo no aprende a generalizar, sino que memoriza los datos de entrenamiento [0:18]. Es como cuando alguien se aprende la tabla del tres de memoria pero en realidad no sabe multiplicar. El modelo ajusta perfectamente en el set de entrenamiento, pero al evaluarlo con datos de validación, su rendimiento baja notablemente.
Este problema es especialmente común en redes neuronales porque el aprendizaje profundo permite ser cada vez más específico con los datos de entrenamiento [1:08]. A mayor cantidad de capas y neuronas, mayor cantidad de parámetros de aprendizaje, y mayor probabilidad de que el modelo memorice en lugar de aprender.
Por otro lado, existe el underfitting, que ocurre cuando el modelo no es lo suficientemente capaz para comprender y resolver el problema [0:46]. Aunque es menos frecuente en redes neuronales, también debe tenerse en cuenta.
¿Cómo ayuda un modelo más pequeño a evitar el sobreajuste?
La técnica más sencilla consiste en usar un modelo más pequeño [1:22]. Una red con demasiadas conexiones, capas y neuronas tendrá tantos parámetros que inevitablemente hará overfitting. Por el contrario, una red con muy pocos parámetros no podrá asociar el conocimiento necesario y caerá en underfitting.
El objetivo es encontrar la cantidad justa de capas y neuronas que satisfaga el aprendizaje sin sobreajustar. No existe una fórmula mágica para determinarlo [1:50], pero la estrategia recomendada es:
- Comenzar con un modelo muy pequeño.
- Observar cómo se comporta.
- Iterar a partir de esos hallazgos.
¿Qué es la regularización y cómo funciona en redes neuronales?
La regularización busca reducir la complejidad del modelo haciéndolo más simple [2:14]. Se inspira en el principio conocido como Occam's razor (la navaja de Occam): entre dos posibles soluciones, la más simple es la que debemos elegir [2:22].
En la práctica, la regularización agrega peso extra a la función de costo para castigarla más [2:56]. Existen dos variantes principales:
- Regularización L1: utiliza los valores absolutos de los pesos de cada neurona y los suma a la función de costo [3:04].
- Regularización L2: utiliza los valores de los pesos elevados al cuadrado [3:14].
Ambas multiplican los pesos por un factor llamado delta antes de sumarlos a la función de pérdida [3:24]. Si el delta es muy bajo, el castigo es insuficiente. Si es muy alto, el modelo nunca converge en el descenso del gradiente. Se recomienda empezar con valores bajos, similar al learning rate, e ir ajustando progresivamente [3:42].
¿Qué es el dropout y de dónde surgió la idea?
El dropout nació de una observación curiosa [3:58]. Su creador estaba en la fila de un banco y notó que los cajeros cambiaban de posición aleatoriamente. La razón era simple: si un cajero permanece siempre en el mismo lugar, es más fácil que establezca una conspiración con alguien externo para cometer fraude. Al rotarlos, esa relación se rompe [4:20].
Esta idea se trasladó a las redes neuronales: ¿qué pasa si las neuronas también están "conspirando" entre sí para llegar al overfitting? [4:38]
¿Cómo se aplica dropout en la práctica?
El dropout consiste en apagar un porcentaje de neuronas de forma aleatoria en cada iteración de entrenamiento [4:50]. Esto evita que una neurona dependa excesivamente de otra o que una capa dependa de la siguiente. En cada época se desactiva un porcentaje distinto, rompiendo la conspiración entre conexiones y reduciendo significativamente el overfitting [5:10].
Por ejemplo, un dropout del cincuenta por ciento significa que la mitad de las neuronas se desactivan aleatoriamente en cada paso del entrenamiento [5:04].
Ahora que conoces estas tres herramientas, el siguiente paso es aplicarlas directamente sobre un modelo real de clasificación binaria. ¿Cuál de estas técnicas has probado con mejores resultados?