Son las nueve y media de la noche. Sientes el frío colándose por el bajo de tu abrigo. Has llegado al final del callejón y solo te queda abrir esa puerta. Volteas brevemente a revisar que nadie te sigue mientras tus manos están ocupadas forzando la cerradura. Clic. Entras. Ya conoces a lo que te enfrentas; subes las escaleras y a la derecha está la cajita fuerte. Empiezas a trabajar en cómo forzarla hasta que lo ves: un detector biométrico. ¡Diablos! –  Exclamas por lo bajo. Necesitarías los ojos o los dedos del dueño… Y eso era imposible ahora. Para cuando decides llevarte la caja entera, escuchas un estrépito en la escalera. Te persiguen tres enemigos con armas de fuego, vociferando tu nombre. Corres, saltas sobre el alféizar de la ventana y ruegas que el pasto aminore tu caída. ¡No puedes dejar que te cojan! ¡La misión se estropearía!

Por mucho que necesites el artefacto de la caja fuerte (y por mucho que te haya emocionado esta introducción tipo videojuego/película/wanna-be historia), no debes haber pasado por alto un detalle: el sensor biométrico. Es decir, estas maquinitas que pueden reconocer e identificar una persona por algunos rasgos predefinidos, como sus huellas dactilares o su cara (vale, a lo mejor exageré con lo de los ojos).

01 - Gif-reconocimiento

Estos aparatos usan algo llamado inteligencia artificial (IA) para realizar correctamente la identificación. De hecho, si te interesa este tema en particular, Univerzoom publicó un artículo reciente que puedes revisar. Aquí iremos un poquito más lejos y analizaremos con harta osadía el último fenómeno en las redes: El huevo de Instagram #10YearsChallenge. A pesar de lo genial de ver cómo hemos cambiado todos en los últimos 10 años, muchos artículos de internet sugieren que esta campaña es una manera de que Facebook recolecte nuestras imágenes y las use para entrenar un sistema de reconocimiento facial. Pero pongámonos a pensar como científicos locos por un momento: ¿para qué maldad podría utilizar todos estos datos? ¿de qué podría servir tener miles de millones de caras de gente? ¿y cómo proceso estos datos? Pues aquí es donde entra a rayar la IA y su rol en el reconocimiento facial.

Loando a la madre Wikipedia, “las redes neuronales son un modelo computacional basado en un gran conjunto de unidades neuronales simples de forma aproximadamente análoga al comportamiento observado en los axones de las neuronas en los cerebros biológicos (…) Estos sistemas aprenden y se forman a sí mismos, en lugar de ser programados de forma explícita, y sobresalen en áreas donde la detección de soluciones o características es difícil de expresar con la programación convencional.”. Así, podemos considerar a las redes neuronales como un tipo de inteligencia artificial que, mediante algoritmos complejos, intenta mimetizar la forma en la que se hacen las conexiones neuronales en nuestros cerebros; por supuesto, con la finalidad de generar cierto aprendizaje.

Las redes neuronales tienen muchísimas aplicaciones. ¡Miles! ¿Nunca te has preguntado cómo te salen anuncios personalizados en la web? ¿o cómo tu cámara puede ponerte filtros de perrito? La realidad es que detrás de todo eso hay un algoritmo complejo que toma como input (dato de entrada) algo que le muestras, realiza alguna operación y coloca un output (dato de salida). Para hacer un mejor ejemplo, enfoquémonos en el reconocimiento de imágenes. Veamos este mapache:

Cosita bonita, cosita preciosa

Cosita bonita, cosita preciosa

Imaginemos una red neuronal cuyo objetivo es identificar el animal de la foto (input: imagen; output: mapache). Es algo que tu cerebro lo hace de forma inmediata, ¿cierto? Entonces, ¿cómo lo hace la computadora ? Esta hace una especie de barrido de la imagen y la analiza por partes. Recuerda que una imagen está compuesta por píxeles, que son cuadraditos pequeños de colores, y es la unidad mínima de la imagen. Imaginemos que la foto del mapache tiene 5×5 píxeles de tamaño. Esto representaría un cuadrado de 25 espacios, donde cada uno tendría un color asignado. Acá viene lo interesante: la computadora lee los colores con el código RGB (red, green, blue). Es decir, toma un valor de 0 a 255 para la intensidad de rojo; 0 a 255 para intensidad de verde; y 0 a 255 para intensidad de azul. Esto convierte nuestro cuadradito de 25 espacios en una bonita matriz de 5x5x3 (5 píxeles de ancho x 5 píxeles de largo x 3 colores… ¡un total de 75 valores únicos!).

Alto nivel de Paint, señores. ¿Ya me contratan de diseñadora gráfica?

Alto nivel de Paint, señores. ¿Ya me contratan de diseñadora gráfica?

Luego, la red neuronal puede comparar estos valores con los de otra imagen. Y aquí hay otra parte muy bonita… ¿con qué otra imagen lo compara? Exacto, con tu imagen de hace 10 años, con otras imágenes que la red ya identifica como “mapaches”. Entrar a discutir cómo se hace esto computacionalmente es demasiado tedioso, así que hablemos en términos generales. Si tengo que comparar mi input con algo ya conocido, ese algo debe estar en una base de datos. En este caso, debería tener una base de datos de imágenes que estoy segura que son mapaches. Puedo cargar esta base al sistema y entrenar mi red neuronal. Es decir, hacer que reconozca que todas las imágenes de esta base son mapaches. Esto es una forma de aprendizaje para el computador. Luego, cuando le dé mi input, la red deberá contrastar qué tanto se parecen los valores de mi imagen con los de las imágenes ya conocidas de mapaches. Y arrojará como output un “¡sí, es un mapache!” o un “¡no, cómprate lentes!” según sea el caso.

04 - lots raccoons

iiiiiiiiiiiiiiiiiiiiiiiiiiiiiii – El señor Mapache.

Claro que este es un ejemplo muy simplificado de cómo funcionan estas cosas. En la vida real, programar estos sistemas es mucho más complejo. Todo se complica más, como imaginarás, cuando no tienes buenas imágenes para entrenar a tu red. Como verás, no todos los mapaches son iguales, ni están en la misma posición, ni tienen el mismo color, o expresión. Algunos están cubiertos con algo, o la imagen está distorsionada. Así, el aprendizaje será más difícil, pero probablemente el reconocimiento sea más certero. Es importante mencionar aquí que este tipo de programas (las redes neuronales), justamente por la estructura que hemos discutido aquí arriba, no funcionan como los algoritmos usuales. Están diseñados, más bien, para aprender solos. Cuantos más datos ingreses, mejores se vuelven en su predicción final.

¿Ya pillas por dónde va la cosa? Facebook estaría utilizando toda esta data gratuita para entrenar una red neuronal de reconocimiento facial. Y sabe exactamente que la diferencia etaria entre las dos fotos es de 10 años, lo que les ahorra un gran trabajo de purga en su base de datos. ¿Para qué usarían esto? Seguro para mejorar su sistema de etiquetado… ¿O no…?