La importancia de los datos | Aprendizaje Automático

Home > All  > La importancia de los datos | Aprendizaje Automático

La importancia de los datos en los modelos de aprendizaje automático. Existe un número mágico que determina la cantidad de datos de entrenamiento necesarios? (cantidad en capacidad de aprendizaje)

Esta es quizás una de las preguntas más difíciles de responder cuando se comienza a desarrollar un proyecto de machine learning: cuántos datos o ejemplos se necesitan para construir un conjunto de entrenamiento que permitan lograr un modelo con una buena performance.

Tomaremos en particular como caso de estudio para analizar esta problemática o cuestión, uno de los enfoques que ha tomado gran auge en los últimos años, el deep learning, y particularmente dentro de él, los modelos de clasificación de imágenes.

Existen dos motivos principales por el resurgimiento de esta área en los últimos años. Por un lado, el incremento en la disponibilidad de datos, gracias en gran parte al surgimiento de Internet que facilitó la recolección y distribución de grandes conjuntos de datos, a la interacción de las personas con los nuevos dispositivos digitales (laptops, mobile devices). Por otro lado, la evolución de los recursos computacionales disponibles, que permiten ejecutar modelos más complejos y desarrollar nuevas técnicas para entrenar redes profundas [2, 1]. Se habla de un auge en los últimos años porque existen aplicaciones comerciales que utilizan deep learning desde la década de los 90’s, donde era visto más como un arte en lugar de una tecnología, y sólo podía ser aplicado por un experto que requería de ciertas habilidades para lograr un buen rendimiento del algoritmo. Sin embargo, si bien es verdad que en la actualidad aún se requiere de conocimientos específicos para aplicar este tipo de algoritmos, la cantidad de habilidades necesarias se reduce a medida que aumenta la cantidad de datos de entrenamiento [2].

En la Figura 1 (tomada de [3]) se puede ver un ejemplo de cómo evoluciona la performance de diferentes tipos de algoritmos a medida que se aumenta la cantidad de datos de entrenamiento.

En general, en los algoritmos de aprendizaje más viejos o tradicionales (como regresiones lineales, regresiones logísticas) la performance se estanca o se limita. Esto quiere decir que la curva de aprendizaje se plancha, y el algoritmo deja de mejorar incluso con más datos [3].

Por otro lado, si se entrena una red neural pequeña (con algunas pocas capas y unidades ocultas) sobre la misma tarea de aprendizaje supervisado, es probable conseguir una pequeña mejora, que puede llegar a ser aún más marcada si se entrena una red neuronal más grande (más profunda) aumentando la complejidad del modelo [3].

Existen algunas aproximaciones o reglas generales que intentan definir valores objetivos, como por ejemplo en [2] los autores mencionan que en  2016, se definió como regla general que un algoritmo de deep learning supervisado generalmente logra un rendimiento aceptable utilizando alrededor de 5000 ejemplos por categorı́a.

Sin embargo, la realidad es que es difícil o prácticamente imposible determinar de antemano y a ciencia exacta el tamaño ideal de un conjunto de datos.

Alguno de los factores que influyen en la cantidad de datos necesarios para entrenar un modelo y conseguir una buena performance son:

  • Complejidad de la tarea de aprendizaje. Por ej, en la clasificación de imágenes, qué tan diferentes son entre sí las clases o categorías sobre las que se quiere entrenar un modelo, y bajo qué contexto se toman las capturas (cantidad de ruido en la imagen).
  • Qué variantes de data augmentation se pueden utilizar sobre los datos.
  • Si existen y es posible utilizar modelos pre-entrenados (transfer learning). Esto es utilizar parte de los pesos de modelos entrenados sobre un tarea similar.
  • El tipo de los datos entrada, su dimensión o tamaño.
  • Aplicación de tareas de preprocesamiento sobre los datos (ej, reducción de dimensionalidad)
  • La complejidad del modelo utilizado, determinado por su arquitectura.
  • La calidad de los datos, que puede afectar la performance si se tienen datos con mucho ruido o que no incluyen la información necesaria para predecir la salida deseada. Es importante replicar los ambientes de entrenamiento y puesta en práctica, es decir que los datos de entrenamiento sean similares en contexto a los que se van a utilizar como entrada cuando el modelo esté deployado.

 

El overfitting es un indicador que nos puede dar un indicio de la necesidad de recolectar más datos. Sin embargo, y más aún si es complejo incrementar el tamaño del conjunto de datos por la naturaleza del problema, es posible utilizar previamente algunas estrategias para mejorar la generalización del modelo, como el uso de modelos pre-entrenados (transfer learning), reducir la complejidad del modelo, o incorporar estrategias de regularización.

En conclusión, si bien es cierto que quizás una de las maneras más seguras para mejorar la performance de un algoritmo es entrenar una gran modelo (un red profunda), sobre una gran cantidad de datos, es importante analizar puntualmente cada uno de los casos, tener un buen tamaño inicial de datos de entrenamiento (tomando como punto de partida ciertas reglas generales), de calidad y consistente con la tarea objetivo, a sabiendas que el número óptimo para la performance esperada va a estar realmente influenciado por varios factores.

 

Referencias

[1] Francois, Chollet. Deep learning with Python” (2017).

[2] Goodfellow, Ian, Yoshua Bengio, and Aaron Courville. Deep learning. MIT press, 2016.

[3] Ng, A. Machine learning yearning: Technical strategy for ai engineers in the era of deep learning. (2019).

7 Comments
  • MatOpipsy

    April 10, 2020at9:48 pm

    Buy Zithromax Online Australia https://buyciallisonline.com/# – generic cialis 20mg Levitra De Bayer Precios Cialis Online Tadafil

  • MatOpipsy

    April 15, 2020at8:41 pm

    Forum Viagra Donne https://apcialisle.com/# – buy cialis 5mg Cialis Purchase Cialis Cialis En Belgique

  • www.xmc.pl

    February 9, 2021at2:39 pm

    Hello folks, We found your blog and I to appoint its a amazing spot around here and We want call attention on it as it deserves all are great. Please continue the strong website.

  • XMCPL

    February 21, 2021at9:13 am

    Great job right here. I truly enjoyed what you had to say. Keep heading because you definitely bring a new voice to this subject. Not many people would say what youve said and still make it interesting. Properly, at least Im interested. Cant wait to see more of this from you.

  • News Portal PL

    March 4, 2021at8:32 am

    Hello! Just wanted to say blog. Continue with the good work!

  • Corey Duchscherer

    April 1, 2021at7:08 am

    Which one’s next? What else do you like to read?

  • Sidney Levatino

    April 2, 2021at9:57 am

    Moreover getting books of the same edition is much more fun… right now I am in the hunt for series of unfortunate events

Post a Comment