El aprendizaje automático automatizado (AutoML) es el proceso de aplicar modelos de aprendizaje automático (ML) a problemas del mundo real mediante la automatización. Más específicamente, automatiza la selección, composición y parametrización de modelos de aprendizaje automático. La automatización del proceso de aprendizaje automático lo hace más fácil de usar y, a menudo, proporciona resultados más rápidos y precisos que los algoritmos codificados a mano.
Las plataformas de software AutoML hacen que el aprendizaje automático sea más fácil de usar y brindan a las organizaciones sin un científico de datos especializado o un experto en aprendizaje automático acceso al aprendizaje automático. Estas plataformas se pueden adquirir de un proveedor externo, se puede acceder a ellas a través de repositorios de código abierto como GitHub o se pueden construir internamente.
¿Cómo funciona el proceso de AutoML?
AutoML suele ser una plataforma o biblioteca de código abierto que simplifica cada paso del proceso de aprendizaje automático, desde el manejo de un conjunto de datos sin procesar hasta la implementación de un modelo práctico de aprendizaje automático. En el aprendizaje automático tradicional, los modelos se desarrollan a mano y cada paso del proceso debe manejarse por separado.
AutoML localiza y utiliza automáticamente el tipo óptimo de algoritmo de aprendizaje automático para una tarea determinada. Lo hace con dos conceptos:
- Búsqueda de arquitectura neuronal, que automatiza el diseño de redes neuronales. Esto ayuda a los modelos de AutoML a descubrir nuevas arquitecturas para los problemas que las requieren.
- Transferir el aprendizaje, en el que los modelos previamente entrenados aplican lo que han aprendido a nuevos conjuntos de datos. La transferencia de aprendizaje ayuda a AutoML a aplicar las arquitecturas existentes a los nuevos problemas que lo requieran.
Los usuarios con conocimientos mínimos de aprendizaje automático y aprendizaje profundo pueden interactuar con los modelos a través de un lenguaje de codificación relativamente simple como Python.
Más específicamente, estos son algunos de los pasos del proceso de aprendizaje automático que AutoML puede automatizar, en el orden en que ocurren en el proceso:
- Procesamiento de datos brutos
- Ingeniería de características y selección de características
- Selección de modelo
- Optimización de hiperparámetros y optimización de parámetros
- Implementación teniendo en cuenta las limitaciones comerciales y tecnológicas
- Selección de métricas de evaluación
- Monitoreo y verificación de problemas
- Análisis de resultados
¿Por qué es importante AutoML?
AutoML es importante porque representa un hito en los campos del aprendizaje automático y la inteligencia artificial (IA). La inteligencia artificial y el aprendizaje automático han sido objeto de críticas de «caja negra», lo que significa que los algoritmos de aprendizaje automático pueden ser difíciles de aplicar ingeniería inversa. Aunque mejoran la eficiencia y el poder de procesamiento para producir resultados, puede ser difícil rastrear cómo el algoritmo entregó ese resultado. En consecuencia, esto también dificulta la elección del modelo correcto para un problema dado, porque puede ser difícil predecir un resultado si un modelo es una caja negra.
AutoML ayuda a que el aprendizaje automático sea menos una caja negra al hacerlo más accesible. Este proceso automatiza partes del proceso de aprendizaje automático que aplican el algoritmo a escenarios del mundo real. Un humano que realice esta tarea necesitaría comprender la lógica interna del algoritmo y cómo se relaciona con los escenarios del mundo real. Aprende sobre el aprendizaje y toma decisiones que requerirían demasiado tiempo o recursos para que los humanos las hicieran con eficiencia a escala.
AutoML ha hecho posible ajustar el proceso de aprendizaje automático de un extremo a otro, o la canalización del aprendizaje automático, a través del metaaprendizaje.
En una escala más amplia, AutoML también representa un paso hacia la IA general.
Pros y contras de AutoML
Los principales beneficios de AutoML son:
- Eficiencia: acelera y simplifica el proceso de aprendizaje automático y reduce el tiempo de capacitación de los modelos de aprendizaje automático.
- Ahorro de costos: tener un proceso de aprendizaje automático más rápido y eficiente significa que una empresa puede ahorrar dinero al dedicar menos de su presupuesto al mantenimiento de ese proceso.
- Accesibilidad: tener un proceso más simple permite a las empresas ahorrar dinero en la formación de personal o en la contratación de expertos. También hace que el aprendizaje automático sea una posibilidad viable para una gama más amplia de empresas.
- Rendimiento: los algoritmos de AutoML también tienden a ser más eficientes que los modelos codificados a mano.
Uno de los principales desafíos de AutoML es la tentación de verlo como un reemplazo del conocimiento humano. Como la mayoría de la automatización, AutoML está diseñado para realizar tareas de memoria de manera eficiente con precisión y precisión, lo que permite que los empleados se concentren en tareas más complejas o novedosas. Las cosas que AutoML automatiza, como la supervisión, el análisis y la detección de problemas, son tareas de memoria que son más rápidas si se automatizan. Un ser humano aún debe participar para evaluar y supervisar el modelo, pero ya no necesita participar en el proceso de aprendizaje automático paso a paso. AutoML debería ayudar a mejorar la eficiencia de los científicos de datos y los empleados, no reemplazarlos.
Otro desafío es que AutoML es un campo relativamente nuevo y algunas de las herramientas más populares aún no están completamente desarrolladas.
Diferentes formas de utilizar AutoML
AutoML comparte casos de uso comunes con el aprendizaje automático tradicional. Algunos de estos incluyen:
- Detección de fraudes en finanzas. Puede mejorar la exactitud y precisión de los modelos de detección de fraude.
- Investigación y desarrollo en el cuidado de la salud, donde puede analizar grandes conjuntos de datos y obtener información.
- Reconocimiento de imágenes, que es útil para el reconocimiento facial.
- Evaluación y gestión de riesgos en banca, finanzas y seguros.
- Ciberseguridad, donde se puede utilizar para la evaluación, el seguimiento y las pruebas de riesgos.
- Atención al cliente, donde se puede utilizar para el análisis de sentimientos en chatbots y para aumentar la eficiencia del equipo de atención al cliente.
- Malware y spam, donde se puede utilizar para generar ciberamenazas adaptativas.
- Agricultura, donde se puede utilizar para acelerar el proceso de prueba de calidad.
- Marketing, donde se puede utilizar para análisis predictivos y mejores tasas de participación. También se puede utilizar para mejorar la eficiencia de las campañas de marketing conductual en las redes sociales.
- Entretenimiento, donde se puede utilizar como motor de selección de contenido.
- Minorista, donde se puede utilizar para mejorar las ganancias y reducir el desperdicio / arrastre de inventario.
Funciones de la herramienta AutoML
Algunas plataformas de AutoML populares incluyen:
- Google AutoML, la plataforma de aprendizaje automático automatizada basada en la nube y patentada de Google.
- Azure Automated Machine Learning, una plataforma patentada basada en la nube.
- Auto Keras, una biblioteca de software de código abierto desarrollada por el laboratorio de datos de la universidad Texas A&M.
- Auto-sklearn, que evolucionó y reemplazó a Scikit learn, que era una colección de código abierto y comercialmente utilizable de herramientas simples de aprendizaje automático en Python. Los usuarios pueden encontrarlo en GitHub.
Por lo general, Auto-sklearn y Azure se consideran más baratos porque suelen consumir menos recursos que los otros dos modelos. Dependen en gran medida de los datos que ya han visto y de las arquitecturas conocidas, lo que significa que no necesitan todo el conjunto de datos para funcionar. Utilizan técnicas de clasificación y regresión para hacer esto.
Google AutoML y AutoKeras, por el contrario, son más hábiles para crear nuevos modelos, pero también consumen más recursos, ya que normalmente requieren todo el conjunto de datos. Utilizan redes neuronales recurrentes (RNN), redes neuronales intrincadas (CNN) y memoria a corto plazo (LSTM).