Cómo diseñar una hoja de ruta para un proyecto de aprendizaje automático

Diseño de hoja de ruta para proyecto de aprendizaje automático

Crédito de la imagen: DreamStudio

¿Cuál es lo primero que haces al comenzar un nuevo proyecto de aprendizaje automático?

He hecho esta pregunta a varios líderes de ML en startups y he recibido varias respuestas diferentes. En ningún orden en particular:

  1. Probar uno de nuestros modelos existentes para ver si funciona para la nueva tarea.
  2. Comenzar a explorar y comprender los datos.
  3. Investigar la literatura para ver qué se ha hecho antes.

Observa que ninguno de estos primeros pasos es codificar y entrenar un nuevo modelo. Y ninguno implica diseñar un pipeline de preprocesamiento de datos.

Cada uno de los tres enfoques tiene sus méritos. Si el nuevo proyecto es bastante similar a algo que se ha modelado previamente (tanto los datos como la tarea), probar enfoques de modelado que ya se hayan implementado puede ser una forma muy rápida de establecer una referencia para la tarea. Al hacerlo, también puedes descubrir nuevos desafíos que deben ser considerados en el preprocesamiento de datos o en el modelado.

Esto podría llevarte al punto 2: explorar y comprender los datos. O tal vez hayas comenzado aquí. Reconocer las necesidades únicas de un nuevo conjunto de datos es esencial. Tal vez el preprocesamiento o la anotación deban manejarse de manera diferente. Quizás haya artefactos en los datos que deban ser eliminados o las etiquetas no siempre sean correctas. Comprender los desafíos con los que se deberá enfrentar el preprocesamiento y el modelado es esencial.

Pero el paso que algunos equipos olvidan y es el más crítico para el éxito de un proyecto es una búsqueda en la literatura. ¿Alguien más ha modelado una tarea similar en datos similares? Si el tipo de datos con el que estás trabajando es común, entonces es posible que puedas aplicar una definición muy estricta de “similar”. Pero si estás trabajando con una nueva modalidad de imágenes, por ejemplo, o abordando una nueva tarea, es posible que necesites relajar la definición de “similar” para encontrar investigaciones relevantes.

Los tres primeros pasos son importantes en el proceso que uso para planificar un nuevo proyecto: una hoja de ruta de aprendizaje automático.

Cuando trabajo con clientes en un nuevo proyecto, la hoja de ruta es el primer paso. La hoja de ruta aclara el alcance del trabajo para el resto del proyecto. Reduce la incertidumbre sobre lo que se deberá implementar. También reduce la probabilidad de dar vueltas en círculos o perder tiempo en enfoques fallidos. Ahorra tiempo y dinero al identificar herramientas existentes antes de implementar algo desde cero. Y aumenta la probabilidad de éxito del proyecto.

¿Qué implica una hoja de ruta de aprendizaje automático? Permíteme mostrarte los componentes principales.

1) Definir el Problema

Comienza definiendo claramente el problema que deseas resolver utilizando el aprendizaje automático. Y mientras lo haces, retrocede un paso y considera si el ML es la herramienta adecuada para tu problema. Esto sienta las bases para todo el proyecto y ayuda a asegurar que el proyecto entregará los resultados deseados.

Definir el problema implica identificar el problema empresarial, los datos que necesitas recopilar y la variable objetivo. Una definición clara del problema y metas bien definidas te ayudarán a evitar experimentaciones innecesarias y centrarte en los aspectos más importantes del problema.

Establecer criterios de éxito es clave. Esto puede incluir las métricas de evaluación, pero se trata más del caso de uso previsto.

Algunas cosas a considerar:

  • ¿Tu solución es relevante? ¿Se integrará en los flujos de trabajo actuales de manera que resuelva los cuellos de botella o puntos problemáticos actuales?
  • ¿Qué tan precisa necesita ser para mejorar el proceso actual?
  • ¿A qué escenarios necesitará generalizar el modelo? Esto podría incluir cosas como diferentes dispositivos de imágenes, poblaciones de pacientes o condiciones de iluminación.
  • ¿Qué tan explicativo necesita ser el modelo? Comprender cómo funciona un modelo facilita identificar áreas de mejora. Pero también puede ser importante para generar confianza o obtener aprobación regulatoria.
  • ¿Habrá limitaciones computacionales una vez que el modelo esté implementado? Comprender cualquier restricción de procesamiento o memoria desde el principio puede reducir las posibles aproximaciones.

Al tomar el tiempo para definir el problema de antemano, estableces las bases para un proyecto exitoso de aprendizaje automático que entregue los resultados deseados.

2) Investigación de Trabajos Relacionados

Investigar trabajos relacionados es un paso crítico en cualquier proyecto de ML. Te ayuda a identificar soluciones existentes a problemas similares y comprender el estado del arte en el campo.

Puedes comenzar realizando una revisión de la literatura. Esto implica leer documentos de investigación, actas de conferencias y otra literatura relevante en el campo.

Es esencial llevar un registro de las fuentes que has leído y los hallazgos clave de cada fuente. Esto puede ayudarte a organizar tus pensamientos e identificar patrones y brechas en las soluciones existentes.

  • ¿Con qué tipo de datos estaban trabajando?
  • ¿Cuántos pacientes, imágenes, etc.?
  • ¿Cómo anotaron y estructuraron sus datos de entrenamiento?
  • ¿Qué arquitectura de modelo utilizaron?
  • ¿Cómo entrenaron su modelo?
  • ¿Qué desafíos encontraron?
  • ¿Hubo algún problema con la calidad o cantidad de imágenes o etiquetas?
  • ¿Cómo recopilaron datos independientes para la validación?

Todos estos son aspectos importantes para entender antes de comenzar a construir tu propia solución.

Investigar trabajos relacionados también puede ayudar a identificar bases de código existentes, conjuntos de datos o modelos preentrenados que pueden iniciar tu proyecto, ahorrándote tiempo y recursos.

3) Comprender los datos

Comprender los datos es un paso crucial para comenzar cualquier proyecto de aprendizaje automático (ML). Esto se debe a que la calidad y relevancia de los datos tienen un impacto significativo en el rendimiento del modelo de ML.

Para algunos proyectos, los datos pueden haber sido recopilados previamente. Para otros, primero se debe definir y ejecutar el proceso de recopilación de datos. Tu revisión de literatura puede ayudarte a guiar qué tipo de datos debes recopilar y cuántos datos podrías necesitar para tu proyecto.

Una vez recopilados los datos, probablemente sea necesario anotarlos, también una tarea que puede ser iluminada por tu revisión de literatura.

  • ¿Qué tipo de anotaciones se necesitan? Las más comunes son a nivel de píxel, parche e imagen.
  • ¿Qué herramientas se han utilizado para ayudar con la anotación? ¿Pueden provenir las anotaciones de alguna otra modalidad? Tal vez de un análisis molecular de una muestra biológica o un conjunto de anotaciones existente como Open Street Map para imágenes de satélite.
  • ¿Qué tan subjetivas son tus anotaciones? Investigar o realizar tu propio experimento para evaluar el acuerdo interobservador puede revelar la magnitud de este desafío.

También debes comprender la calidad de tus datos. Esto incluye verificar valores faltantes, valores atípicos e inconsistencias en los datos. Estos podrían incluir artefactos de preparación de tejidos, defectos de imagen como ruido o borrosidad, o escenarios fuera del dominio. Al identificar problemas de calidad de datos, puedes preprocesarlos y limpiarlos adecuadamente y planificar cualquier desafío que no puedas eliminar de antemano.

El preprocesamiento de datos puede incluir normalización, escalado u otras transformaciones. Para imágenes grandes, generalmente implica dividirlas en pequeños parches. Los datos y las anotaciones deben almacenarse en un formato eficiente para el entrenamiento del modelo.

Comprender los datos también te ayuda a identificar cualquier sesgo que pueda afectar el rendimiento y la confiabilidad del modelo. Los sesgos pueden deberse a la falta de datos de entrenamiento para un subgrupo en particular o a una correlación espuria. Efectos de lotes debido a variaciones técnicas como diferencias de procesamiento en diferentes laboratorios o variaciones geográficas. O incluso muestras etiquetadas por diferentes anotadores.

Para la mayoría de las aplicaciones, se debe consultar a expertos en el campo para aprender sobre los datos:

  • ¿Cómo se recopilaron los datos?
  • ¿Qué representan?
  • ¿Qué características se observan al estudiar los datos?
  • ¿Qué variaciones están presentes o se pueden esperar en el uso del mundo real?
  • ¿Qué artefactos o problemas de calidad podrían estar presentes y que podrían confundir a un modelo?

Algunos de estos aspectos pueden ser bastante sutiles y no ser obvios para alguien no entrenado en un campo particular.

Este paso crítico de comprender los datos ayuda a evaluar la calidad y relevancia, identificar y abordar sesgos en los datos y determinar las técnicas de preprocesamiento adecuadas.

4) Planificar la validación

Formar un plan de validación temprano en un proyecto es importante para revelar cualquier desafío inesperado. Se espera que el modelo final tenga un rendimiento en algún escenario del mundo real y es esencial probar sus habilidades.

La primera configuración de validación a considerar es dividir los datos de entrenamiento en conjuntos de entrenamiento, validación y prueba. El conjunto de entrenamiento suele ser la parte más grande de los datos y se utiliza para entrenar el modelo. El conjunto de validación se utiliza para ajustar los hiperparámetros del modelo, como la tasa de aprendizaje o la fuerza de regularización. El conjunto de prueba se utiliza para evaluar el rendimiento del modelo, proporcionando una estimación imparcial de la capacidad de generalización del modelo en datos no vistos. El conjunto de prueba debe mantenerse completamente separado de los conjuntos de entrenamiento y validación durante el proceso de desarrollo del modelo.

Típicamente, los conjuntos de entrenamiento, validación y prueba se muestrean de manera aleatoria a partir de los datos disponibles, manteniendo la distribución deseada de clases o variables objetivo para evitar cualquier sesgo no intencional. Cuando los datos consisten en diferentes grupos, como múltiples imágenes de cada paciente, muestras recolectadas de diferentes centros médicos o imágenes de diferentes regiones geográficas, se necesita una estratificación más cuidadosa de los grupos para evaluar la generalización del modelo. Todos los ejemplos del mismo grupo deben caer en los conjuntos de entrenamiento, validación o prueba y nunca distribuirse entre los tres.

Las técnicas de validación cruzada, como k-fold o leave-n-out cross-validation, también se pueden emplear para obtener estimaciones de rendimiento más robustas al rotar sistemáticamente los datos entre conjuntos de entrenamiento, validación y prueba. Esta configuración es particularmente común para conjuntos de datos pequeños.

Evaluar el rendimiento del modelo implica calcular una o más métricas en los conjuntos de entrenamiento, validación y prueba. Las métricas adecuadas dependen de la aplicación, pero podrían incluir precisión, sensibilidad, especificidad, puntaje F1, puntaje AUC, DICE o muchas otras. Cada una de estas métricas compara las predicciones del modelo con la verdad absoluta.

En algunas aplicaciones, calcular métricas en el conjunto de prueba puede ser suficiente para la validación. En otros casos, esta porción de datos retenidos puede no ser suficientemente similar a un escenario del mundo real. Tal vez su modelo necesite funcionar en pacientes de una región geográfica o centro médico diferente al que fue entrenado, y no tenga datos de entrenamiento anotados disponibles. Aún así, necesita validar su modelo en una cohorte externa para simular su rendimiento en el mundo real y su capacidad de generalización.

5) Desarrollar un Modelo de Referencia

Después de mucha planificación e investigación, finalmente está listo para comenzar a modelar. Pero no le aconsejo comenzar con el modelo de aprendizaje profundo más complicado que exista. Comience de manera simple. Desarrolle primero un modelo de referencia simple. Esto le permitirá probar sus tuberías de procesamiento de datos, anotación y validación, revelando cualquier desafío inesperado.

Existen muchos algoritmos adecuados para un proyecto en particular, y seleccionar el mejor puede ser desafiante. El modelo de referencia más simple podría ser un clasificador o regresor lineal construido sobre características simples. O podría ser utilizar transfer learning sin fine-tuning para minimizar el tiempo dedicado a aprender características. No se moleste en ajustar extensivamente los hiperparámetros en este punto; los valores predeterminados incluso pueden ser suficientes para este primer paso.

Desarrollar un modelo de referencia le ayuda a establecer un punto de referencia de rendimiento que se puede utilizar para evaluar la efectividad de los modelos futuros. Ayuda a establecer expectativas realistas de rendimiento para su proyecto y le permite determinar cuánta mejora se requiere para lograr un nivel deseable de rendimiento.

Este modelo de referencia no debe considerarse el modelo final. Más bien, debe usarse como punto de partida para desarrollar modelos más complejos que puedan lograr un mejor rendimiento.

6) Iterar y Mejorar

La iteración es esencial para mejorar el rendimiento del modelo hasta alcanzar el nivel deseado de precisión.

El primer paso es analizar el rendimiento del modelo. Esto implica examinar algunos aspectos diferentes:

  • Revisar las métricas de entrenamiento y validación para buscar signos de sobreajuste o problemas con la convergencia del modelo.
  • Estratificar las métricas de validación en diferentes subgrupos para identificar áreas de mejora o posibles sesgos.
  • Categorizar los modos de fallo para encontrar áreas de mejora.
  • Revisar los resultados con expertos en el dominio para obtener comentarios sobre qué deficiencias son importantes para ellos.

Una vez que haya analizado el rendimiento del modelo, necesita formular hipótesis sobre por qué tuvo un rendimiento deficiente y cómo podría resolver los problemas. Las soluciones pueden estar centradas en los datos, como recopilar más datos o cambiar los procedimientos de limpieza, o centradas en el modelo, como cambios en la arquitectura del modelo o los hiperparámetros. Revise las notas de su búsqueda bibliográfica en busca de ideas.

El siguiente paso es probar sus hipótesis implementando los cambios y evaluando el rendimiento del modelo en los datos de validación. Priorice su trabajo solucionando los problemas que son más perjudiciales para su modelo o que son más fáciles de solucionar primero.

Iterar y mejorar un modelo de aprendizaje automático es un proceso continuo. Debe continuar probando y refinando el modelo hasta alcanzar el nivel deseado de precisión. Mantenga estas iteraciones ajustadas para poder corregir el rumbo lo antes posible, especialmente si la solución implica cambios que consumen mucho tiempo en la recopilación o anotación de datos.

7) Implementar, Monitorear y Mantener

Una vez que tenga un modelo que cumpla con el nivel deseado de rendimiento, puede implementarlo en un entorno de producción. Esto implica integrar el modelo en su aplicación o sistema y asegurarse de que funcione como se espera.

El primer paso es identificar los requisitos para implementar el modelo. Esto podría incluir factores como rendimiento, escalabilidad, seguridad e interfaz de usuario. También debe elegir una plataforma de implementación; las opciones típicas son servicios basados en la nube o infraestructura local.

El siguiente paso es empaquetar el modelo en un formato que se pueda implementar y probar la implementación para asegurarse de que funcione correctamente. Esto podría implicar probar el rendimiento, la escalabilidad y la seguridad del modelo. Después de implementar el modelo, debe monitorear su rendimiento y realizar los ajustes necesarios.

Implementar un modelo de aprendizaje automático es un proceso continuo, y debe mejorar continuamente el modelo para asegurarse de que siga siendo efectivo a lo largo del tiempo.

Finalmente, es importante documentar cualquier cambio que se realice en el modelo o en su proceso de entrenamiento. Esto garantiza que el modelo se mantenga transparente y reproducible a lo largo del tiempo.

Resumen

Los proyectos de aprendizaje automático son complejos e iterativos. Este proceso de hoja de ruta le permite planificar cada aspecto de su proyecto. Aunque los detalles pueden cambiar, los componentes generales se mantendrán iguales. Desde definir el problema hasta mantener su modelo, cada paso requiere una planificación cuidadosa. Siempre que sea posible, también debe pensar en cómo su enfoque planificado podría fallar y en algunas soluciones para abordar estos posibles fallos.

We will continue to update Zepes; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

Inteligencia Artificial

Ajusta ChatGPT a tus necesidades con instrucciones personalizadas

OpenAI ha introducido recientemente instrucciones personalizadas para aprovechar al máximo ChatGPT.

Inteligencia Artificial

Aumente la productividad del agente con la integración de Salesforce para el análisis de llamadas en vivo.

Como agente de un centro de contacto, ¿preferirías enfocarte en tener conversaciones productivas con los clientes o d...

Investigación

Entrenando máquinas para aprender más como lo hacen los humanos

Los investigadores identifican una propiedad que ayuda a los modelos de visión por computadora a aprender a represent...

Ciencia de Datos

LangChain Mejorando el rendimiento con la capacidad de memoria

Ya he publicado artículos sobre LangChain antes, presentando la biblioteca y todas sus capacidades. Ahora me gustaría...

Ciencia de Datos

Convirtiendo viejos mapas en modelos digitales en 3D de vecindarios perdidos.

Investigadores han convertido antiguos mapas de seguros contra incendios de Sanborn en modelos digitales tridimension...

Inteligencia Artificial

Esta investigación de OpenAI presenta DALL-E 3 Revolucionando los modelos de texto a imagen con capacidades mejoradas de seguimiento de indicaciones.

En inteligencia artificial, la búsqueda de mejorar los modelos de generación de texto a imagen ha ganado una gran inf...