Coronavirus, Inteligencia Artificial y la guerra del siglo XXI

Inteligencia Artificial

,

covid19

Coronavirus, Inteligencia Artificial y la guerra del siglo XXI

Yoel González | jul 24, 2020

Desde hace décadas, la humanidad ha vivido bajo la sombra de una nueva guerra mundial. Los diferentes avances tecnológicos y armamentísticos se han sucedido de manera exponencial desde la toma de Berlín, y el miedo a un nuevo conflicto de carácter global ha permanecido en el imaginario colectivo desde entonces. Poco podíamos imaginar que en esta nueva e insólita contienda todos estaríamos en el mismo bando, y que las armas, héroes y villanos, serían tan diferentes a los del pasado. Todos tenemos un papel en este conflicto. Desde sanitarios a transportistas, pasando por investigadores, reponedores, basureros y por cada uno de nosotros limitando la transmisión con medidas de higiene y distanciamiento social.

Desde Techedge, como empresa tecnológica, también queremos aportar nuestra experiencia en el desarrollo de aplicaciones que puedan ser relevantes en estos momentos. Una de las herramientas disponibles en nuestro arsenal contra el virus es la Inteligencia Artificial (IA) y el Aprendizaje Automático (Machine Learning), que se define como la capacidad de una máquina de recibir un conjunto de datos y aprender de ellos, cambiando y reajustando sus algoritmos a medida que se procesa la información y se conoce el entorno.

El objetivo es desarrollar una aplicación que, utilizando Machine Learning, sea capaz de identificar personas y detectar si llevan o no mascarilla. Esta aplicación podría además aplicarse a un sistema de vigilancia de vídeo en tiempo real para detectar si se están llevando a cabo o no las medidas de prevención adecuadas para evitar transmisiones en espacios cerrados, como tiendas o centros comerciales. La solución podría además utilizarse offline (Edge) o consumirse directamente desde un sistema Cloud, como Google Cloud Platform (GCP), AWS o Azure, o en un futuro próximo sobre Gaia-X.

Para ello se utiliza un aprendizaje supervisado, en el que el algoritmo aprende a partir de un conjunto de datos etiquetados y categorizados proporcionados por los seres humanos (dataset). A partir de estos, el modelo es capaz de decidir y clasificar de forma automática nuevos conjuntos de datos en las categorías previamente definidas.

Captura de pantalla 2020-07-23 a las 12.28.38Fuente Ronald van Loon, Machine Learning explained.

Para esta aplicación, se ha utilizado el Real-World Masked Face Dataset de la Universidad de Wuhan, que contiene 100.000 fotos de personas con y sin mascarilla y el producto Cloud AutoML de Google, que permite entrenar modelos de Machine Learning e interaccionar con ellos a través de una API (Application Program Interface) y Google Cloud Platform. También existe la posibilidad de entrenar el modelo y descargarlo para poder utilizarlo offline (Edge).

Captura de pantalla 2020-07-23 a las 12.30.35

Fuente https://cloud.google.com/automl

El tiempo necesario para entrenar un modelo depende de la complejidad y el tamaño de los datos de entrenamiento. Se considera suficiente con 8 horas de procesamiento de nodo para un modelo experimental. Para el entrenamiento de esta aplicación se utiliza un entrenamiento estándar de 32 horas de procesamiento de nodo (alrededor de 4 horas reales). El tiempo de entrenamiento adicional aumenta la exactitud a nivel de producción, y la función de interrupción anticipada garantiza que el entrenamiento se detenga cuando ya no sea posible mejorar la exactitud.

Una vez entrenado el modelo, este puede descargarse para utilizarse offline o puede desplegarse directamente en Google Cloud Platform eligiendo el número de nodos a utilizar durante las predicciones, dos en este caso. Un mayor número de nodos en el despliegue agiliza el proceso de detección y reconocimiento para conjuntos grandes de imágenes.

Una vez entrenado y desplegado el modelo, se procede a evaluar su efectividad y sus métricas utilizando la matriz de confusión. En el campo de la Inteligencia Artificial, una matriz de confusión es una herramienta que permite la visualización del desempeño de un algoritmo que se emplea en aprendizaje supervisado. En la imagen siguiente se puede ver una matriz de confusión típica. Cada columna de la matriz representa el número de predicciones de cada clase, mientras que cada fila representa a las instancias en la clase real. Uno de los beneficios de las matrices de confusión es que facilitan ver si el sistema está confundiendo las diferentes clases o resultados de la clasificación.

Captura de pantalla 2020-07-23 a las 12.31.52Típica matriz de confusión en aprendizajes supervisados.

En el caso particular de nuestra aplicación, se analizan los resultados obtenidos con un conjunto de 776 fotos de prueba distintas a las utilizadas durante el entrenamiento. Se aprecia que tan solo 5 del total de fotos se han detectado incorrectamente (fotos sin mascarilla que han sido detectadas como fotos con mascarilla). Esto supone una correcta detección en el 99% de los casos y un ligero sesgo a clasificar hacia la categoría máscara.

Captura de pantalla 2020-07-23 a las 12.33.05Matriz de confusión y ejemplos de detección con imágenes de prueba.

Aunque en esta aplicación el objetivo es ser capaz de discernir entre imágenes de gente con y sin mascarilla, sería posible entrenar un modelo que no solo realizase esta función, sino que además fuese capaz de localizar la posición de las mascarillas en las fotos y recuadrarlas para facilitar su identificación. Para esto sería necesario un dataset que contuviera además de la clasificación, las coordenadas de la ubicación de las mascarillas en cada una de las fotos del dataset de entrenamiento. Debido a no encontrarse un dataset suficientemente grande con estas características, finalmente se opta por la solución ya analizada.

Esta prueba de concepto demuestra la posibilidad de atajar alguna de las problemáticas asociadas al COVID-19 utilizando la tecnología para asistir a los humanos. Las posibilidades de la IA no se limitan solamente al reconocimiento de fotos, sino que cuenta también con un gran potencial biomédico. En este momento, se están utilizando algoritmos de Machine Learning para detectar proteínas involucradas en la enfermedad y cruzar esta información con bases de datos de fármacos usados para otros trastornos a fin de encontrar nuevos tratamientos.

Los tiempos han cambiado, y con ello nuestros recursos. Tenemos una oportunidad única para trabajar juntos y salvar vidas. La globalización y la interconexión del mundo moderno nos ha hecho más vulnerables ante una pandemia global, pero también nos ha proporcionado nuevas herramientas con las que combatirla. Como en el pasado, depende de nosotros cómo utilizarlas.

¡Suscríbete!