Una de las partes importantes del machine learning es la generalización de los algoritmos, es decir su comportamiento para datos no vistos durante el entrenamiento.
Dado que los algoritmos se han entrenado usando muestras finitas, este entrenamiento está sujeto a errores de muestreo (error debido a obtener los parámetros del modelo de sólo una muestra de la población) y errores debidos a que la distribución de probabilidad que genera los datos reales sea diferente de la que genera los datos de entrenamiento.
Se ha demostrado, aplicando el límite de Chernoff, que bajo ciertas condiciones (entre ellas que la misma distribución de probabilidad genere todos los datos) el error de entrenamiento se aproxima al error de generalización si cogemos un número suficiente de muestras en el entrenamiento.
En el caso del Deep Learning, con hipótesis de partida más complejas, es muy importante entender por qué los modelos utilizados (redes convolucionales, redes recurrentes, etc.) están consiguiendo bajos errores de generalización. Las posibles respuestas normalmente sugeridas son:
- ¿Se debe al uso de hiperparámetros o arquitecturas en el modelo que facilitan el aprendizaje en cuestión?
- ¿Se debe al uso de técnicas de regularización como L1, L2, dropout, aumento de los datos, etc.?
- ¿Se debe a que los datos tienen estructuras y patrones que son aprovechados por el modelo?
En un destacado trabajo, los autores estudian si estos argumentos explican por qué las redes neuronales profundas generalizan bien.
Sorprendentemente, los autores entrenaron modelos típicos (en problemas de clasificación como CIFAR10 o ImageNet) con etiquetas aleatorias asociadas a los datos reales y consiguieron errores de entrenamiento cercanos a cero. Lógicamente, en la fase de test, el modelo tenía muchos errores ya que no había relación entre las etiquetas de entrenamiento y de test.
Por lo tanto, usando etiquetas aleatorias consiguieron elevar considerablemente el error de generalización sin cambiar el modelo, el tamaño, los hiperparámetros o la optimización empleada. Extendieron el experimento sustituyendo las imágenes reales por pixels aleatorios y el modelo seguía teniendo errores de entrenamiento cercanos a cero.
Una vez que verificaron que la arquitectura del modelo no podía explicar las diferencias en la generalización comprobaron que las técnicas de regularización explícita (L2, dropout, aumento de los datos…), aunque mejoran la generalización, no son necesarias ni suficientes para controlar el error de generalización.
Estos resultados, que suponen un importante reto conceptual, muestran que las redes neuronales profundas capturan la estructura de los datos y si ésta no existe aprenden el ruido existente en los datos. Obviamente, al ser aproximadores universales, son capaces de aprender cualquier relación entrada-salida aunque esta sea aleatoria.
Parece estar claro que las razones por las que el error de entrenamiento es muy bajo (arquitectura, número de parámetros, etc.) no son suficientes para explicar el éxito en la generalización.
El bajo error de generalización puede ser debido (además de la arquitectura…) a tener unos datos de entrada con una estructura clara, como comentamos en nuestro post sobre por qué el deep learning funciona tan bien.
Deja una respuesta