Aprendizaje automático automatizado (AutoML)

Si estás comenzando un nuevo proyecto de aprendizaje automático (AA), es posible que te preguntes si el entrenamiento manual es tu única opción para crear un modelo de AA. Con manual, escribes código usando un framework de AA para crear un modelo. Durante este proceso, eliges qué algoritmos explorar y ajustas iterativamente los hiperparámetros para encontrar el modelo correcto.

Por supuesto, el entrenamiento de modelos no es lo único en lo que debes pensar. En práctica, crear un modelo de aprendizaje automático desde el prototipo hasta la producción implica tareas repetitivas y habilidades especializadas. Un AA exploratorio simple El flujo de trabajo se ve más o menos así:

Figura 1: Un flujo de trabajo sencillo de aprendizaje automático.
Figura 1: Flujo de trabajo de exploración de aprendizaje automático simple.

Tareas repetitivas: El flujo de trabajo de AA puede implicar trabajo repetitivo y experimentación. Por ejemplo, durante el desarrollo del modelo, generalmente necesitas hacer lo siguiente: explorar diferentes combinaciones de algoritmos e hiperparámetros para identificar el modelo más adecuado. Con el entrenamiento manual, escribes código especializado para entrenar el modelo y, luego, lo ajustas para ejecutar experimentos con diferentes algoritmos y hiperparámetros de AA para encontrar el mejor modelo. Para actividades pequeñas o de exploración para proyectos, este proceso manual puede no ser un problema, pero para proyectos más grandes, tareas repetitivas puede llevar mucho tiempo.

Habilidades especializadas: El desarrollo manual de un modelo de AA requiere y habilidades de comunicación. En la práctica, es posible que no todos los equipos que planean desarrollar un modelo de aprendizaje automático tenga estas habilidades. Si un equipo no tiene un científico de datos dedicado, es posible que ni siquiera sea factible realizar este trabajo de forma manual.

Por suerte, se pueden automatizar ciertos pasos en el desarrollo del modelo trabajo repetitivo y la necesidad de contar con habilidades especializadas. La automatización de estas tareas es el tema de este módulo sobre el aprendizaje automático automatizado (AutoML).

¿Qué es AutoML?

AutoML es un proceso de automatización ciertas tareas en un flujo de trabajo de aprendizaje automático. Piensa en AutoML como un conjunto de herramientas y tecnologías que facilitan modelos de aprendizaje automático más rápidos y accesibles para un grupo más amplio de usuarios. Si bien la automatización puede ayudar en todo el flujo de trabajo de AA, las tareas que a menudo se asocian con AutoML son las que se incluyen en el ciclo de desarrollo del modelo que se muestra en la Figura 1. Estas tareas repetitivas incluyen lo siguiente:

  • Ingeniería de datos
    • Ingeniería de atributos
    • Selección de los atributos.
  • Capacitación
    • La identificación de un algoritmo de AA adecuado
    • Seleccionar los mejores hiperparámetros
  • Análisis
    • La evaluación de las métricas generadas durante el entrenamiento según las pruebas y conjuntos de datos de validación.

Con AutoML, puedes enfocarte en tu problema y tus datos de AA en lugar de la selección de atributos, el ajuste de hiperparámetros y la elección del algoritmo correcto.