Aprendizaje automático y procesamiento de imágenes en el CGC: herramientas para el éxito

El aprendizaje automático se está volviendo omnipresente en el espacio de la bioinformática: la aplicación de algoritmos de aprendizaje automático al análisis de proteómica, genómica y otros conjuntos de datos -ómicos ha proporcionado una gran cantidad de análisis e interpretaciones de datos que no se pueden lograr fácilmente con métodos convencionales. El CGC ofrece muchas funciones útiles para los usuarios que realizan tareas de aprendizaje automático (ML) y aprendizaje profundo (DL) que facilitan el trabajo con inteligencia artificial (IA). La plataforma CGC cierra la brecha entre los entornos informáticos exploratorios y las aplicaciones de producción de una manera sencilla y fácil de usar al ofrecer una integración perfecta de los datos, la base de código, el modelo de IA y el entorno informático con el fin de crear canalizaciones reproducibles aprovechando el poder de múltiples GPU. Es importante destacar que cuenta con un entorno altamente seguro, que utiliza las mejores prácticas de seguridad y cumplimiento, incluidos muchos estándares como GDPR e HIPAA.

además, el Centro de conocimiento de CGC proporciona documentación completa y detallada, que incluye muchos tutoriales, guías y otros recursos para ayudar a los usuarios a comenzar rápidamente con su análisis en la plataforma. Si los usuarios necesitan ayuda, contamos con un equipo de soporte científico experto listo para ayudar.

Las partes clave de un proyecto de IA

El CGC contiene funciones para todos los aspectos clave de un proyecto de IA, desde la exploración de datos, la generación de modelos hasta la producción.

Figura 1: Pasos para cualquier proyecto de aprendizaje automático

La Figura 1 anterior muestra los puntos clave de cualquier proyecto de IA. A continuación, definimos brevemente cada elemento crítico:

  1. Limpieza de datos: ETL (Extraer, Transformar, Cargar) y la preparación de datos para la IA es uno de los pasos más importantes y lentos de los proyectos de IA.
  2. Ingeniería de funciones: es el proceso de usar información de dominio específico para extraer características de datos sin procesar, especialmente para modelos de ML tradicionales.
  3. Selección de modelo: puede seleccionar entre modelos listos para usar, o capacitación desde cero o mediante opciones de aprendizaje por transferencia también disponibles.
  4. Ajuste de hiperparámetros: es el problema de elegir el conjunto de configuraciones óptimas para aprender algoritmos, como la tasa de aprendizaje y la profundidad de la red.
  5. Entrenamiento modelo: el paso más fundamental es entrenar un modelo con marcos deseables.
  6. Modelo de predicciones: observe el rendimiento con datos invisibles con visualización.
  7. Registro de experimentos: rastrear cómo se comporta y aprende el modelo, una parte esencial para garantizar la reproducibilidad.
  8. Análisis e interoperabilidad: el objetivo es completar el análisis con resultados limpios y comprensibles en un formato compartible, lo cual es vital para la interoperabilidad.

Todos estos pasos clave se integran sin problemas en el CGC, que proporciona numerosas funciones útiles para los usuarios que deseen utilizar ML/DL para su investigación.

El ciclo de vida del aprendizaje automático en el CGC en 6 pasos principales

Figura 2: El ciclo de vida del aprendizaje automático en el CGC

A continuación, profundizamos en las funciones de la plataforma CGC que permiten el ciclo de vida de ML. La gran mayoría de los ciclos de vida de ML en la plataforma CGC tendrán los mismos seis pasos básicos:

  • Paso 1: Integración de datos
    • Los usuarios pueden traer cualquier dato público o privado que tengan a la plataforma o pueden acceder directamente a conjuntos de datos populares, como TCGA.
  • Paso 2: ETL, ingesta de datos
    • Los datos deben limpiarse, y el segundo paso necesario es realizar una limpieza de datos para que estén listos correctamente, ya que los datos se ingresan para el proceso de ML/DL. El CGC tiene excelentes características para ayudar aquí específicamente. Por ejemplo, el usuario puede realizar todos los ETL directamente en sus proyectos individuales en el CGC.
  • Paso 3: Extracción de características y Paso 4: Ingeniería de modelos
    • El CGC ofrece una variedad de funciones para facilitar estos dos pasos principales. Para la extracción de características: el Triturador de datos, una herramienta de análisis interactivo integrada con la plataforma CGC CGC usando Jupyter Lab, permite entornos que se pueden administrar manualmente para obtener características intermedias. Para ingeniería de modelos: es necesario ajustar las configuraciones de hiperparámetros de un modelo seleccionado para encontrar el modelo más preciso. El uso de este conjunto de herramientas junto con la potencia de múltiples GPU en el CGC permite que cada configuración se ejecute en paralelo con el procesamiento por lotes. Cuando se complete, devolverá el modelo mejor clasificado y su configuración a los usuarios de acuerdo con las métricas de rendimiento preseleccionadas. Todos estos se pueden ajustar para ser específicos para su proyecto, datos y modelo de aprendizaje.
  • Paso 5: Evaluación del modelo
    • Este es un paso especialmente importante del ciclo de vida de desarrollo de aplicaciones de IA, ya que Model Evaluation les dirá a los usuarios qué tan exitosos fueron los procesos anteriores de preparación de datos e ingeniería de modelos. Para este paso, el CGC ofrece funciones de monitoreo y capacidades de visualización, lo que permite un diagnóstico sencillo si surge algún problema.
  • Paso 6: Flujo de trabajo/aplicación
    • Después de considerables ciclos de ideación, experimentación y diseño, el paso final será convertir este modelo en una herramienta, cuaderno o flujo de trabajo reproducible. Desde allí, los usuarios pueden compartir su modelo en CWL con sus colaboradores. Las características más poderosas de la plataforma CGC son aquellas que ayudan a que los proyectos del usuario sean portátiles, reproducibles y replicables.

Creación rápida de prototipos en el CGC

El uso de la herramienta de análisis interactivo de Data Cruncher en el CGC permite la exploración, el modelado, el entrenamiento y la visualización de datos utilizando marcos familiares como Jupyterlab y RStudio. El Data Cruncher también ayuda con las herramientas de creación rápida de prototipos: los usuarios pueden comenzar a trabajar en sus datos con el modelo deseado en un minuto y pasar de la creación de prototipos a herramientas listas para producción.

El Cruncher de datos permite a los usuarios realizar su análisis de ML en los datos directamente donde residen, lo que les permite guardar los resultados de los modelos y las predicciones en su proyecto de CGC. El Data Cruncher está completamente integrado con el CGC, con fácil acceso a cualquier dato en la plataforma: no es necesario descargar o mover los datos para analizarlos de forma interactiva. Además, los usuarios pueden compartir los resultados de sus proyectos en el CGC o descargarlos para uso local.

¿Cómo se ejecuta su herramienta de aprendizaje automático en el CGC?

La siguiente figura ilustra el proceso típico de ejecución de una herramienta o flujo de trabajo de ML en el CGC.

Figura 3: Ejecución de la herramienta de aprendizaje automático en cuatro pasos

El proceso consta de cuatro pasos principales. Paso 1: El Programador asigna una instancia vacía a este trabajo, de acuerdo con la descripción del recurso en CWL. Paso 2: El Ejecutor monta los archivos de entrada en la instancia y extrae la imagen del repositorio de SB Docker, luego crea un contenedor. Paso 3: El Ejecutor genera comandos y ejecuta el trabajo dentro del contenedor. Paso 4: Finalmente, una vez finalizado el trabajo, la salida se enviará de vuelta al almacenamiento del proyecto.

Supervise y depure herramientas ML en el CGC fácilmente

CGC ofrece una serie de funciones de supervisión y depuración fáciles de usar. Los usuarios pueden ver métricas de instancia incluido el tipo y el estado de la instancia, así como la configuración de la instancia, es decir, vCPU disponibles, espacio en el disco de memoria. Las métricas de instancia se guardan durante dos semanas después de completar la tarea. Además, Supervisión de trabajos en tiempo real ofrece registros en vivo, flujos de error/salida estándar, directorios de espacio de trabajo y vistas previas de archivos, todos los cuales están disponibles durante la duración de la tarea mientras la instancia está activa.

Spotlight: El kit de herramientas de procesamiento de imágenes de SB

Para resaltar las capacidades de ML en el CGC, nos centraremos en un potente conjunto de herramientas que han desarrollado los bioinformáticos de Seven Bridges: El kit de herramientas de procesamiento de imágenes Seven Bridges (SB). El kit de herramientas de procesamiento de imágenes de SB se diseñó para utilizar la plataforma informática disponible en el CGC, para ser lo suficientemente flexible como para manejar varios tipos de datos de imágenes y también para permitir el procesamiento de imágenes y la integración de datos genómicos. Este kit de herramientas es una colección de varias herramientas y flujos de trabajo de aprendizaje profundo, preprocesamiento y utilidad creados con el propósito de realizar predicciones de clase de imagen en cualquier tipo de datos de imagen. Debido a que el kit de herramientas de procesamiento de imágenes de SB se basa en el enfoque de aprendizaje por transferencia en el aprendizaje automático, no está restringido a un conjunto de datos o tipo de datos. Lo que es más importante, también fue diseñado para permitir a los usuarios crear y usar clasificadores de imágenes ML en el CGC. sin ningún conocimiento previo o competencia en codificación. Estas herramientas trabajan juntas para crear una infraestructura accesible, modificable y fácil de usar para permitir varias etapas de ML y procesamiento de imágenes (IP), como el preprocesamiento de imágenes, el entrenamiento de modelos y la predicción de clases de imágenes. Aprovechar el poder de la computación en la nube junto con este conjunto de herramientas en el CGC brinda mejoras masivas de velocidad y precio en comparación con la escritura manual y la ejecución de scripts de entrenamiento de modelos. El kit de herramientas también es compatible con una variedad de tipos de imágenes médicas como histología, rayos X, resonancia magnética o formatos de imagen más comunes como JPG o PNG.

Descripción general del kit de herramientas: herramientas de procesamiento de imágenes

Dentro de Kit de herramientas de procesamiento de imágenes SB, hemos publicado ocho nuevas herramientas: seis fueron desarrolladas por los bioinformáticos de SB y dos, HistoQC y HoVer-Net Inference, son herramientas de código abierto. También tenemos dos aplicaciones DL personalizadas, varias herramientas de preprocesamiento de imágenes de histología y rayos X, así como herramientas de utilidad para que las demás sean más fáciles de usar. A continuación se muestra una lista de las herramientas del kit de herramientas ordenadas por categoría:

  • Control de calidad:
    • Herramienta HistoQC es una herramienta de control de calidad de código abierto para portaobjetos de patología digital. Realiza un control de calidad rápido no solo para identificar y delinear artefactos, sino también para descubrir valores atípicos a nivel de cohorte (p. ej., portaobjetos teñidos más oscuros o más claros que otros en la cohorte).
  • Preprocesamiento:
    • Preprocesamiento de imagen de portaobjetos completo de histología SB ayuda a los usuarios a preparar imágenes de diapositivas completas eliminando el fondo, las marcas de bolígrafo u otros artefactos, lo que da como resultado secciones recortadas de las imágenes.
    • Normalización de tinción SB implica proyectar una matriz de imágenes en los colores de la mancha de una imagen de destino. La normalización de manchas se utiliza como un paso de preprocesamiento de imágenes de histopatología para reducir las variaciones de color e intensidad presentes en las imágenes teñidas obtenidas de diferentes laboratorios.
    • Flujo de trabajo de preprocesamiento de imágenes de rayos X de SB permite a los usuarios realizar uno de varios algoritmos diferentes para sus imágenes. Puede realizar el preprocesamiento de imágenes de rayos X, como amplificar las altas frecuencias, enfatizar los bordes o mejorar el contraste de las imágenes.
  • Aprendizaje profundo:
    • Flujo de trabajo exploratorio de clasificación de imágenes de aprendizaje profundo de SB es una tubería clasificadora de imágenes y la aplicación principal en el kit de herramientas DL, y se analiza en detalle a continuación. Se basa en el enfoque de aprendizaje por transferencia, que permite el uso de modelos previamente entrenados como punto de partida para construir un modelo ajustado a conjuntos de datos de imágenes dados. Además, la tubería permite entrenar el modelo para una variedad de combinaciones de hiperparámetros, mientras que las métricas y visualizaciones detalladas ayudan a determinar la mejor configuración que luego se puede usar para hacer predicciones sobre nuevas instancias de datos.
    • Predicción de aprendizaje profundo de SB es una herramienta clasificadora de imágenes que clasifica imágenes sin etiquetar en función de datos segmentados. Se basa en el enfoque de transferencia de aprendizaje para componer y entrenar el modelo, y se analiza más adelante.
    • Inferencia HoVer-Net es una herramienta que proporciona segmentación y clasificación de núcleos en imágenes de histología multitejido.
  • Utilidad:
    • Conversión de imagen médica SB realiza la conversión de formato de imagen médica. Si los datos de entrada son imágenes médicas en un formato no estándar (por ejemplo, SVS, TIFF, DCM o DICOM), SB Medical Image Convert los convierte a formato PNG.
    • Carpetas divididas SB organiza un directorio de imágenes en la estructura de subdirectorios de tren y prueba. Estos subdirectorios de tren y prueba son entradas necesarias para el Flujo de trabajo exploratorio de clasificación de imágenes de aprendizaje profundo de SB.

Flujo de procesamiento de imágenes en el CGC

En la Figura 4 a continuación se muestra una descripción general de alto nivel de cómo las herramientas en el kit de herramientas de procesamiento de imágenes SB se conectan entre sí:

Figura 4: Flujo de procesamiento de imágenes en el CGC

El punto de partida son los conjuntos de datos de imágenes del usuario, en los que los usuarios pueden realizar una serie de pasos de preprocesamiento y control de calidad (QC) antes del entrenamiento del modelo. A continuación, el flujo de trabajo exploratorio principal de DL se usa para crear y entrenar varios modelos en el conjunto de datos dado, generando informes completos sobre cada uno para ayudar a los usuarios a determinar el mejor modelo para su conjunto de datos. Por último, los usuarios utilizarán esa configuración del modelo para la predicción de conjuntos de datos de imágenes sin etiquetar.

El enfoque principal de este kit de herramientas son las aplicaciones DL. Estos son el quid de la caja de herramientas, ya que permiten construir y entrenar clasificadores de imágenes. Como beneficio adicional, no se requiere experiencia previa en aprendizaje automático o codificación para usar estas herramientas. DL es un subcampo de ML y, por lo general, requiere menos intervención humana, pero necesita más potencia informática y datos de entrenamiento que ML. Esto es lo que hace que usarlo en la nube sea ideal.

Estas aplicaciones utilizan Keras, que es una API de aprendizaje profundo de código abierto escrita en Python, que se ejecuta sobre la plataforma de aprendizaje automático TensorFlow. Se basan en el enfoque de transferencia de aprendizaje, lo que significa que utilizamos modelos preentrenados de Keras (por ejemplo, VGG, Xcepción, MobileNet). Estos modelos ya están entrenados en un conjunto de datos lo suficientemente grande y general (como ImageNet) y, como tal, se usan como un buen punto de partida para crear un modelo de aprendizaje automático que se ajusta al conjunto de datos específico del usuario. Este enfoque permite que estas herramientas sean utilizadas por un gran número de investigadores para una amplia variedad de casos de uso.

Flujo de trabajo exploratorio de clasificación de imágenes de aprendizaje profundo de SB

Figura 5: Flujo de trabajo exploratorio de clasificación de imágenes de aprendizaje profundo de SB

La aplicación principal del kit de herramientas, la Flujo de trabajo exploratorio de clasificación de imágenes de aprendizaje profundo de SB, aprovecha todos los beneficios de la computación en la nube que ofrece el CGC. Hay cuatro pasos principales en este conducto. El paso 1 es crear varias configuraciones. Esto se hace a través de la primera herramienta en la canalización, el SB Crear configuración JSON herramienta, donde los usuarios seleccionan varios modelos pre-entrenados y/o valores de hiperparámetros. Esta herramienta define esas series de configuraciones de modelos y las genera en formato JSON. El paso 2 brinda soporte para múltiples formatos de imagen a través del Formato de imagen de comprobación de SB herramienta y la Convertir imagen SB herramienta. El paso 3 es el Procesamiento de imágenes de aprendizaje profundo de SB herramienta en sí. Esta herramienta, en combinación con esas configuraciones múltiples, proporciona la característica principal de este flujo de trabajo: la paralelización del proceso de entrenamiento del modelo en varias instancias de GPU diferentes. Esto es lo que subyace en la mejora de la velocidad y el precio en comparación con los métodos tradicionales y la facilidad de uso en escenarios de entrenamiento modelo. El paso 4 es la preparación de informes completos e incluye varias herramientas que permiten a los usuarios preparar el informe para poder ver los resultados del proceso de entrenamiento del modelo.

Como entrada, esta canalización toma el conjunto de datos de imagen etiquetado de un usuario organizado en carpetas de prueba y entrenamiento. Para la salida, esta canalización proporciona a los usuarios informes y visualizaciones, incluido un informe HTML interactivo (consulte la Figura 6 a continuación), donde los usuarios pueden ver de cerca el resultado de cada modelo de entrenamiento y seleccionar el que desean usar en la predicción final. de imágenes sin etiquetar.

Figura 6: Salida del informe de procesamiento de imágenes de la herramienta de procesamiento de imágenes de aprendizaje profundo de SB. Resaltados en rojo, los usuarios pueden ver los resultados de cada modelo y seleccionar la mejor opción para la herramienta de predicción de aprendizaje profundo de SB mediante la cadena de configuración.

Evaluación comparativa de rendimiento: flujo de trabajo exploratorio de clasificación de imágenes de aprendizaje profundo de SB

La Tabla 1 a continuación muestra los datos de evaluación comparativa de rendimiento para el flujo de trabajo exploratorio de clasificación de imágenes de aprendizaje profundo de SB para mostrar el tiempo y el ahorro de costos logrados. Con el conjunto de datos de ejemplo seleccionado (620 Mb de tamaño) y entrenando una configuración en una instancia paralela: la duración total fue de aproximadamente una hora, con un costo de aproximadamente un dólar estadounidense. Normalmente, ejecutar 24 configuraciones diferentes llevaría 24 horas en múltiples tareas, pero usando el poder de las instancias paralelas, esto se puede ejecutar en aproximadamente 6 horas en una sola tarea, con un costo aproximado de 30 dólares estadounidenses. ¡Ahora es posible que un investigador entre a trabajar por la mañana, entrene una gran cantidad de modelos a la vez y vea sus resultados antes del final de la jornada laboral!

Tabla 1: Evaluación comparativa de rendimiento para el flujo de trabajo exploratorio de clasificación de imágenes de aprendizaje profundo de SB

Herramienta de predicción de aprendizaje profundo de SB

Predicción de aprendizaje profundo de SB es la aplicación final en el kit de herramientas. Esta herramienta toma el mejor modelo encontrado previamente con el flujo de trabajo exploratorio en forma de una cadena de configuración y entrena modelos en todos los datos etiquetados (tanto los directorios de entrenamiento como los de prueba utilizados anteriormente). Esto permite que el entrenamiento se realice en el conjunto de datos etiquetados más grande disponible, proporcionando las mejores condiciones de entrenamiento para obtener los mejores resultados de clasificación. Finalmente, la tabla de predicción se genera en la salida, que contiene los nombres de las imágenes, sus clases previstas y las probabilidades de predicción.

En conclusión

La plataforma CGC facilita el acceso a numerosas aplicaciones de procesamiento de imágenes en nuestra Galería de aplicaciones públicas. Para los usuarios con sus propias herramientas, la plataforma CGC también presenta una fácil integración de herramientas ML personalizadas. Las herramientas de este conjunto de herramientas destacado permiten un análisis y una imagen rápidos y económicos. predicción y se actualizan y modifican constantemente. ¡Estamos ansiosos por escuchar sus comentarios en [email protected]!

Fuente del artículo

¿Que te ha parecido?

Deja un comentario