I.A: Enseñarle a un computador a ver, reconocer y generar imágenes

La capacidad de los sistemas hoy es sorprendente, una de las motivaciones de escribir acá es el hecho de que realmente estamos viviendo en futurama -solo faltan los alienígenas-.
Uno de los principales problemas que tenían las computadoras para el procesamiento inteligente de imágenes no sólo era el procesamiento (capacidad de cómputo) sino de idear correctamente algoritmos y «programas» que pudieran conversar unos con otros, lo que llamamos «redes neuronales». (pd: estoy reduciendo la complejidad para simplificar la comprensión del tema)

Una de las gracias del «machine learning» (nombre fancy para el aprendizaje de la máquina) es el poder procesar y aprender de la información que le otorgamos, así por ejemplo podemos pasarle miles de fotos de gatos para que aprenda a reconocer un gato,  genial no?

Hay dos tipos de aprendizaje: supervisado y no supervisado

supervised_unsupervised.png
En el primer grupo, nosotros le otorgamos la característica de círculos y de equis (gatos y perros, peras y manzanas, aviones y personas, etc). Y en el segundo cuadro, no le decimos nada (puede que incluso no sepamos) y al tener características similares, la máquina puede separar ambos grupos (o más) sin saber lo que son. 

El supervisado es aquel que le decimos qué ver y buscar, acá se utiliza normalmente la ayuda de nosotros donde primero lo «cargamos» con casos positivos, luego con casos negativos y luego que vaya «aprendiendo solo» a distinguir los patrones. El no-supervisado es aún más curioso -e interesante a mi parecer- acá sólo le damos la información completa «una base de datos de X cosa» y permitimos que la máquina busque patrones para categorizar lo buscado. La imagen de arriba, en el segundo grupo son todos los datos «iguales» pero en su distribución en el gráfico no y allí es donde se forman los clusters o grupos de datos con similitudes. Esto se está haciendo con los GENES ! 😮 !! y se están clasificando así con esto, para saber como actúan, que representan, que expresan y más!

Si queremos identificar gatitos? qué clase de aprendizaje usarían ? Así es, el supervisado  y le ayudamos «manualmente» con los «acá hay un gato» y en la medida que la máquina va aprendiendo, podemos ir corrigiendo si es que incurre en algún error -por que sabemos reconocer un gatito, o no?-  y así la máquina mejora sus parámetros de éxito. La máquina va a ir buscando patrones, almacenándolos e ir mejorandolos con el tiempo. Si, ahora tiene 10.000 fotos de gatos reconocidos, siguiendo patrones como el tamaño, la textura (pelos), la forma del cuerpo, la forma de la cara, los colores, forma de ojos, etc

¿Cómo -nosotros- aprendimos a diferenciar entre un gato y un perro? ¿En que nos fijamos para notar la diferencia?

Y en la medida que avanza el entrenamiento, mejora la forma en buscar los parámetros, por ejemplo si detecta un «ojo de gato», un patrón más fácil, rápido y diferenciador de reconocer y además va al siguiente parámetro (2) encuentra presencia de pelos, automáticamente mejora su búsqueda y se va a las características más difíciles para determinar si es o no gato (tamaño, forma). Mejorando su propia búsqueda y acelerando el reconocimiento progresivamente y automáticamente.

*Acá puedo explicarles técnicamente como ocurre el proceso de identificación de imágenes de la inteligencia artificial, que por ahora quedará pendiente dado lo extenso que puede ser, pero: 
gif img en numeros

digamos que funciona con grillas y capas,y en cada grilla (cuadrícula) hay una porción de la foto que se analiza, y tiene pequeños patrones, luego se buscan en todos los otros cuadros, (los cuadros comparten porciones de la imagen con otros, para poder unirlos) y lo importante acá son las capas, donde imaginen la imagen replicada varias veces, y los patrones de cada cuadrito se unen con la capa superior, y así. y finalmente se unen estos parámetros y les podemos dar una etiqueta de que es algo (el patrón) y la suma de varios patrones indican que es un algo. deep learning.png

Bueno, eso es muy express y quizá con varios errores, pero les daré uno dedicado a esto para los más técnicos, esto es a lo que le llama deep convolutional network o redes neuronales convolucionales (una forma de deep learning)*

Volviendo al tema de los gatitos

Y una vez que ya aprendió y sabe reconocer gatos, podemos darle lo que deseemos, flores, aviones, estructuras, etc; INCLUSO, podemos simplemente darle muchas imágenes y que sola vaya categorizándolas…(aprendizaje no supervisado) y luego nos pregunta «qué es esto» (básicamente para que nosotros le pongamos un nombre). Una aplicación donde pueden ver esto en acción es «Google Fotos» en su appstore o google play y ver cómo la I.A. de Google clasifica tus imágenes de manera inteligente, acá una imagen de la mía. 

Bueno, ya, reconoce imágenes ¿y qué?

Bueno……… Esto trae INMENSAS implicaciones!
En la salud, si queremos analizar radiografías, tomografías computarizadas, fotos de lunares con potencial cáncer a la piel y tejidos en el microscopio, análisis del crecimiento de una colonia de bacterias, etc…
En los automóviles -inteligentes- podrían tener incluido el registro de autos robados o delincuencia y detectar patentes en la medida que conduces o también encender tu auto con reconocimiento facial, además de reconocer la simbología en las calles o el estado de los caminos y desacelerar o frenar.
En la agricultura podemos analizar el crecimiento de un cultivo de miles de hectáreas con fotos aéreas que pueden tomar drones programados automáticamente para recorrerlo y detectar anomalías, plagas, animales u plantas ajenas que hay que eliminar.
Para que decir las carreras/profesiones de letras, donde el reconocimiento de imágenes ayuda a digitalizar documentos -existentes, pero sin archivo digital- y otros escritos a mano, donde también puede transcribirlas a un documento digital. Incluso existen hoy softwares del reconocimiento de escritura contextual, para saber de qué se escribe de que trata. (Para mejorar los mails o su respuesta, por ejemplo).

Existen muchos ejemplos más y en varios rubros de cómo se puede aplicar el reconocimiento de imágenes, basta usar el ingenio y podemos resolverlo!

¿algún ejemplo que les cueste visualizar o les gustaría hablar de ello?

Ahora algunos problemas !

camara-policia.jpg

Pero qué hay de la privacidad, con el reconocimiento de rostros? (Facebook por ejemplo) Las cámaras de la calle. hoy ya existen unos policías que tienen unas pequeñas cámaras con las que hacen chequeos (control de identidad) y te «fotografían» con ello, para revisar en una base de datos online si es que tienes o no antecedentes pendientes y llevarte detenido, ya que el reconocimiento facial permite hacer el match con otras caras -hoy más rápido y mejor que nunca-. (no como en CSI Miami)

Qué pasará con los dermatólogos que tienen que determinar el problema del paciente basado en lo que ven y en sus análisis, si toda esa información son básicamente datos que los puede analizar un programa con la IA adecuadamente entrenada ? acá el paper publicado en la revista nature sobre la detección del cáncer en la piel.

Los geólogos y las fotos satelitales, para determinar los mínimos cambios «año a año» (o incluso mes a mes, según la frecuencia de las fotos) de los avances o deterioros de la naturaleza o cambios geográficos. Esto fácilmente podría hacerlo un software por computadora que recibe las fotos de los cambios a diario y te va generando informes sobre los cambios o mejoras, incluso comprarlo con otras capas del globo, como la temperatura, niveles de co2, y otras variables.

Y en la próxima entrada quiero mostrarles está parte del reconocimiento de imagen combinada con VIDEO eso les va a explotar la mente de las posibilidades (tanto positivas como negativas) ! Los dejo invitados a seguir leyendo y descubrir más de las cosas que se vienen, por que a mi parecer, ESTA es la siguiente revolución industrial del mundo. El computador y el internet fueron el primer paso de esta revolución digital, pero la inteligencia artificial es la que nos llevará al siguiente nivel como civilización.

Bueno hablé de gatitos y nunca les dejé una imagen, acá va una! cat-computer

Un comentario sobre “I.A: Enseñarle a un computador a ver, reconocer y generar imágenes

Deja un comentario