Hace unos días, leía este artículo sobre técnicas de segmentación de imágenes y me recordó al post que mi compañera Bea escribió hace un par de semanas. ¿Pueden las máquinas hacer lo que hace nuestro cerebro? Siempre me ha interesado el funcionamiento del cerebro, y, desde que la IA ha entrado en nuestras vidas, según parece, casi para protagonizarla, no dejo de pensar en la estrecha relación que existe entre ambos.
Efectivamente, como se apuntaba en el post de mi compañera, nuestro cerebro de DataScientist, antes de cruzar la calle, deberá identificar los elementos que intervienen en esa operación en concreto. ¿Cómo lo hace?
Creando un cerebro humano que procesa imágenes
Este vídeo de la serie MindField de YouTube Originals, The Stilwell Brain lo explica de una manera increíble mediante la creación de un ‘cerebro humano’.
¿Cómo?
Recluta a un grupo amplio de personas y a cada una le da una bandera. A continuación, las organiza sentadas en sillas a lo largo de un campo de rugby replicando la dinámica de interacción entre las zonas del cerebro involucradas en el reconocimiento de imágenes. Cada persona, será una neurona. A cada neuro-persona le facilita instrucciones para monitorizar a sus compañeras de otras zonas y reaccionar en función de lo que las otras hagan, simulando el funcionamiento del cerebro.
Si se cumplen su reglas, la neuro-persona deberá reaccionar con un SÍ, levantándose de la silla e izando su bandera, en caso contrario, deberá quedarse quieta. Como un código binario en un ordenador o un impulso eléctrico en el caso de una neurona.
Los pasos y las zonas que participan en el reconocimiento de imágenes en el contexto del experimento son las siguientes:
Paso 1: La retina
Las neuronas de la retina se encargan de identificar los estímulos del exterior. Para entender el procesamiento de una imagen, el cerebro pixela la imagen. Cada neurona de la retina se encarga de un pixel y debe reaccionar según la convención creada. En este caso, la regla es: si hay contenido en el pixel, se enciende, es decir, la neuro-persona se levantará y si está en blanco, se quedará sentada.
Paso 2: El “visual cortex”
Las neuronas del visual cortex reciben los impulsos de la retina y los procesan identificando patrones. Dentro de esta zona del cerebro participan de forma consecutiva las capas V1, V2 y V4. Las capas V3, V5 y V6 se encargan de procesar el color y otros factores de la imagen más sofisticados que no aplican en el ejercicio planteado.
- Empieza la capa V1 que reacciona ante los impulsos recibidos de la retina para identificar líneas. Así, sus neuronas se ‘encenderán’ cuando todas las neuro-personas a las que vigila se hayan levantado (puesto que indicará que tienen sus píxeles tienen contenido y que, por tanto, unidos, formarán una línea).
- A continuación, las neuronas de la capa V2 identifican ángulos, encendiéndose cuando las V1 a las que vigila estén encendidas y compongan un patrón especial de líneas (dos líneas contrapuestas).
- Por último, las neuronas de la capa V4 reaccionan a los impulsos de la V2 identificando combinaciones de ángulos y encendiéndose cuando una particular combinación sucede.
Paso 3: El “infratemporal cortex (IT)”
Sus neuronas reciben el input de la capa V4 y deben interpretarlo tomando la decisión en este caso sobre lo que representa la imagen, identificando que se trata de un número y que es en concreto el número 8. En la simulación, cada neurona de esta capa representa un número y se encenderá cuando lo identifique en las señales de la V4.
En este proceso, debe tomar decisiones, como preferir un 8 frente a un 6 puesto que el segundo contiene más información, o si no encuentra una regla clara, realizar una estimación.
Y a continuación, un visual de nuestras neuro-personas en acción:
¿Cómo fue el experimento?
Michael Stevens, Productor y presentador del programa, se situaba en un extremo del campo de rugby y dibujaba un número en una pizarra que luego troceaba entregando un trozo-píxel a la primera fila de neuro-personas que actuaban como la capa retina (en color naranja en el gráfico). Esta capa reaccionaba en función del contenido del trozo-píxel recibido según se les pidió levantándose o no e iniciando así el proceso en cadena que terminaba con una o varias de las 9 neuronas de la capa morada (IT) levantándose e izando su bandera si correspondía. Finalmente, Chris Eliasmith, Director del Centro de Neurociencia Teórica de la Universidad de Waterloo, debía inferir cuál fue el número que Michael pintó originariamente.
Y… funcionó.
The smart guess
La verdad es que es impresionante, como también lo es la función interpretativa del infratemporal cortex (IT). Es muy curioso cómo el cerebro descompone primero la imagen para procesarla y luego vuelve a reconstruirla en su propio lenguaje, para, una vez reconstruida, interpretarla. Es el ‘Intratemporal cortex» quien, en función de su experiencia previa y la evidencia con la que cuenta, hace un ejercicio estadístico en el que calcula the ‘smartest guess’, la mejor estimación, y, para ello, descarta evidencia que considera no relevante para el análisis.
Y en este punto, no pueden venir más al caso las reflexiones sobre el reconocimiento de patrones que Richard Dawkins, profesor de biología evolutiva de Oxford, realiza en el libro This Explains Everything en las que, precisamente toma como inicio de su planteamiento el principio de la “grandmother neuron”, concepto que se basa en la idea de que haya una neurona responsable de identificar cada cosa que podamos reconocer (como cada neurona representando un número en nuestro cerebro con neuro-personas). Aplicar este concepto en la creación de una IA sería implanteable puesto que las combinaciones excederían el número de átomos del universo.
¿La solución aplicada? “Redundancy reduction” o eliminación de lo redundante ¿Cómo procesar algo de la manera más eficiente sin perder información? los acrónimos serían un buen ejemplo de redundancy reduction. El autor destaca también su uso en la mayor eficiencia de los sensores que sólo reaccionan ante los cambios, asumiendo que, si no transmiten información es que nada ha cambiado (concepto aplicado en series temporales que miden el estado de cosas físicas).
En relación con la programación para el reconocimiento de imágenes, este concepto se aplica a través de la idea de «lateral inhibition» por la que los píxeles que ‘sean iguales’ a sus vecinos se descartarían, quedándose únicamente los píxeles de los extremos, los que delimitan los bordes entre los objetos.
En definitiva, para ser eficientes, necesitamos crear reglas que nos permitan descartar información. ¿Es esto seguro? Si avanzamos unas pocas páginas más en el libro, nos encontramos con otra reflexión que viene muy al caso, Unconscious Inferences, escrita por el psicólogo Gerd Gigerenzer, quien apunta la necesidad de que el conocimiento vaya más allá de la información facilitada realizando inferencias y, por tanto, asumiendo el riesgo de cometer errores, concluyendo que un sistema que no comete errores, no es inteligente. Así que, todo en orden.
Técnicas de procesamiento de imágenes
Volviendo al reconocimiento de imágenes, retomo el artículo que mencioné al principio, en el que se puede ver una relación entre los conceptos planteados y las técnicas que explica para el procesamiento de imágenes como la nueva técnica de arquitectura deep learning, llamada Mask R-CNN y cuyo esquema de funcionamiento rescato en la siguiente imagen…. ¿os recuerda a algo?
¿Fascinante o Inquietante?
De esta conexión entre el funcionamiento del cerebro y de las máquinas de IA, hay dos cosas que me llaman la atención especialmente. En primer lugar, cómo el cerebro funciona de una manera «programable», como una máquina de material orgánico. Y, en segundo lugar, cómo el hecho de que los programadores se inspiren en cómo funciona para ir dando forma a sus creaciones, convierte de alguna manera a las máquinas en nuestro propio reflejo. Y este pensamiento, que me parece fascinante, me resulta también bastante inquietante. Pero por hoy, mejor quedémonos con la parte fascinante y disfrutemos imaginando el gran potencial que las nuevas tecnologías, la capacidad analítica y los buenos datos nos ofrecen. GOOD DAY a todos.