IA en medicina: hacia la IA

Estás leyendo la publicación: IA en medicina: hacia la IA

Publicado originalmente en Hacia la IA, la empresa líder mundial en noticias y medios de IA y tecnología. Si está creando un producto o servicio relacionado con la IA, lo invitamos a considerar convertirse en patrocinador de la IA. En Hacia la IA, ayudamos a escalar las empresas emergentes de IA y tecnología. Permítanos ayudarlo a dar rienda suelta a su tecnología a las masas.

Inteligencia artificial

Automatización de pruebas médicas mediante Inteligencia Artificial

La Inteligencia Artificial, en los últimos años, ha automatizado varios procesos en casi todos los dominios del mundo. Específicamente, AI ha adoptado la ciencia médica en los últimos tiempos cuando el mundo se vio afectado por la pandemia de COVID. Desde la predicción de la propagación del virus hasta el examen de rayos X del tórax y los pulmones, la IA ayudó a la raza humana de todas las formas posibles.

Sin embargo, la ciencia médica todavía se considera el dominio más sensible cuando se trata de confiar en la IA y la ciencia de datos. Las razones son bastante sencillas: un pequeño error de la IA puede costar una vida.

Pueden ocurrir dos escenarios principales:

  1. El paciente es diagnosticado con la enfermedad y no está afectado.
  2. El paciente no es diagnosticado con la enfermedad y está afectado.

Ambos escenarios resultarán en grandes desastres. Una solución al problema es que los modelos de IA deben alimentarse con grandes volúmenes de datos de calidad que cubran todos los escenarios de prueba únicos y también las excepciones. En segundo lugar, deberíamos dejar que la IA entre en juego, pero sin correr el riesgo de reducir la participación humana. Esto es para monitorear y observar la naturaleza del funcionamiento de la IA y ajustarla en consecuencia. Una vez que los modelos de IA alcanzan una etapa en la que se consideran completamente confiables, deben probarse en pacientes reales. En su mayoría, los profesionales de nivel industrial no creen en confiar en la precisión de los modelos de IA en escenarios tan sensibles. Más bien, confían en métricas como el recuerdo, la precisión y la puntuación F1.

Este blog describirá el proceso integral de creación de una aplicación web que acepta imágenes de la piel como entrada y detecta enfermedades de la piel, seguido del envío de informes médicos a pacientes y médicos a través del mensajero de WhatsApp.

Tabla de contenidos:

  1. Fuente de datos
  2. Análisis exploratorio de datos
  3. Entrenamiento modelo
  4. Configuración de Whatsapp
  5. Crear aplicación web
  6. Conclusión

Fuente de datos

El conjunto de datos utilizado para el modelo de entrenamiento es Cáncer de piel MNIST: HAM10000. Comprende 10015 imágenes sobre 7 clases de cáncer. Más del 50 % de las lesiones se confirman mediante histopatología y la verdad básica para el resto de los casos es un examen de seguimiento (seguir el consenso de expertos (consenso) o confirmación mediante microscopía confocal in vivo (confocal). Un problema con el conjunto de datos es que no tiene clase”ninguna enfermedad” que es necesario para nuestra aplicación. He optado por otra forma de lidiar con tal escenario que encontrará en las siguientes secciones.

🔥 Recomendado:  Aplicación de algoritmos de clasificación a datos de préstamos anteriores: hacia la IA

Análisis exploratorio de datos

  1. Frecuencia de Clases

Es muy evidente que el conjunto de datos está muy desequilibrado donde la frecuencia de nevos melanocíticos (nv) es aproximadamente setenta veces la clase con frecuencia mínima (melanoma). Esto trae la necesidad de equilibrar el conjunto de datos mediante el sobremuestreo, excepto la clase con la frecuencia máxima.

2. Distribución de enfermedades de la piel por género

El gráfico circular muestra que la probabilidad de enfermedad es neutral al género. Hay algunos tipos específicos de cáncer que tienen más probabilidades de ocurrir en un género específico, pero no en este caso. Un análisis más detallado podría incluir la distribución por género de clases individuales de cáncer.

3. Histograma de la edad de los pacientes

Uso del histplot de Seaborn para trazar el histograma de la edad del paciente. Esto revelará el grupo de edad más afectado. De la trama se desprende claramente que las personas de 40 a 60 años son las más afectadas por el cáncer.

4. Ubicación de la enfermedad sobre el género

Este diagrama representará las partes del cuerpo que se ven afectadas con mayor frecuencia por estos tipos de cáncer para todos los géneros. Está claro que la “espalda” es la más afectada para los hombres y la “extremidad inferior” para las mujeres.

Entrenamiento modelo

Antes de entrenar el modelo, debemos corregir los datos desequilibrados. He utilizado una técnica de sobremuestreo que crea duplicados de los puntos de datos que pertenecen a la clase minoritaria (excepto la clase con la frecuencia más alta).

Además, asegúrese de sobremuestrear el conjunto de datos (conjunto de datos de entrenamiento) después de dividir el conjunto de datos en entrenamiento y prueba. Durante la división del conjunto de datos, al entrenamiento se le asigna el 90 % de los datos, mientras que el resto se guarda para probar el modelo una vez que se entrena en el conjunto de datos de entrenamiento. El sobremuestreo se realiza solo en el conjunto de datos de entrenamiento.

🔥 Recomendado:  Cómo ahorró para ayudar a pagar la universidad

La arquitectura del modelo se puede desarrollar utilizando dos técnicas: arquitectura personalizada y ajuste fino del modelo preentrenado. Algunos de los famosos modelos preentrenados son VGG-16, Resnet50 e InceptionV3. Mientras se usa el modelo preentrenado, las últimas capas se modifican para que sea adaptable de acuerdo con el conjunto de datos actual. En este proyecto, he creado una arquitectura personalizada que comprende varias pilas de capa convolucional, capa de agrupación máxima y capa densa. Cada capa desempeña un papel específico en la extracción de características de las imágenes.

Capa convolucional: Aplica un núcleo sobre una imagen para extraer características tales como líneas verticales, líneas horizontales, etc. El núcleo se puede imaginar como una ventana de tamaño K x K donde K suele ser un número entero impar. Se mueve sobre una imagen con zancada S y se puede colocar relleno P en el límite de la imagen para extraer características importantes en los límites de la imagen. La salida de la capa convolucional en la Imagen I se puede calcular como:

Tamaño de salida = (I-K+2P)/S+1

Capa de agrupación máxima: Mueve un núcleo sobre una imagen para extraer la función con el valor máximo. Por ejemplo, el kernel de tamaño 3*3 cubrirá nueve píxeles. Se considerará el píxel con valor máximo.

capa densa: Capa densa es una capa simple de neuronas en la que cada neurona recibe información de todas las neuronas de la capa anterior. Es el mismo que se usa en las redes neuronales artificiales. Esta capa se utiliza para la clasificación.

Aunque he creado una arquitectura personalizada, creo que, en la mayoría de los casos, los modelos preentrenados superan a las arquitecturas personalizadas. Se proporcionan detalles adicionales del rendimiento del modelo en el repositorio de Github mencionado al final de este artículo.

Configuración de Whatsapp

El mensaje de Whatsapp está configurado para enviar informes médicos al paciente y al médico. Twilio es una plataforma que proporciona un conjunto de API para enviar SMS programables a través de múltiples medios. Proporciona un saldo básico de $ 15 por cada nuevo usuario.

Pasos para configurar WhatsApp messenger:

a. Inicie sesión en Twilio y vaya a ‘SMS programables’

b. Ve a ‘Configurar Whatsapp’

C. Siga el conjunto de pasos mencionados en la plataforma.

Nota: Copie y guarde el token y el ID de cuenta mencionados en la página de inicio.

Twilio biblioteca se utiliza para enviar informes médicos a través de Whatsapp. El token y la identificación de la cuenta se almacenan en un archivo separado llamado credenciales.py

🔥 Recomendado:  Tornado vs. Robinhood: Comparación de Plataformas de Negociación

Crear aplicación web

Para crear una aplicación web, he usado STreamlit’s marco de código abierto. Para aquellos que no conocen streamlit, convierte los scripts de python en la aplicación web en minutos. Es especialmente para aquellos como yo, que tienen poca o ninguna experiencia con la tecnología frontend. Instálalo usando,

pip instalar streamlit

He creado una web app básica que tiene un formulario y que hay que rellenar para ver los resultados. Le pide al usuario detalles como la foto de la piel, el nombre del paciente y el número de contacto, el nombre del médico y el número de contacto. Como se mencionó en la sección “conjunto de datos”, este conjunto de datos no tiene una clase denominada “Sin enfermedad”, que es muy necesaria. Entonces, si la confianza del modelo cae por debajo del 80%, entonces se considera como “sin clase de enfermedad”.

La aplicación web devolvería el estado del proceso, ya sea “Éxito” o “Error” en la pantalla. Además, enviaría el informe al número de contacto del paciente y del médico a través del mensajero de WhatsApp. Se puede ver una instantánea del mensaje en la imagen adjunta a continuación.

Conclusión

En este artículo, debe haber aprendido cómo el aprendizaje profundo ha adoptado la ciencia médica al automatizar la prueba cutánea médica. Este es un prototipo básico de dicha aplicación, mientras que hay mucho que considerar. Para los entusiastas de la ciencia de datos, Streamlit es un código abierto muy fácil y flexible que nos permite desarrollar una aplicación web sin un conocimiento explícito de las tecnologías front-end.

Puede encontrar el video de demostración y todos los recursos aquí.

GitHub – DhruvGangwani/Streamlit-web-app: Detección de enfermedades de la piel mediante la clasificación de imágenes. Streamlit para desarrollar aplicaciones web.


La IA en la medicina se publicó originalmente en Hacia la IA en Medium, donde las personas continúan la conversación resaltando y respondiendo a esta historia.

Publicado a través de Hacia la IA