logo

Dot CSV

Inteligencia Artificial, Tecnología, Ciencia y Futuro! Bienvenidos a la 4ª Revolución Industrial 🚀 Inteligencia Artificial, Tecnología, Ciencia y Futuro! Bienvenidos a la 4ª Revolución Industrial 🚀

Transcribed podcasts: 213
Time transcribed: 5d 22h 50m 3s

This graph shows how many times the word ______ has been mentioned throughout the history of the program.

Ok, pregunta seria. ¿Crees que la inteligencia artificial puede leer tu mente?
Vale, ya lo sé, parece una pregunta sacada de una película de ciencia ficción.
Pero antes de que digas nada, quiero que veas el siguiente vídeo.
Esto que está viendo aquí es el trabajo desarrollado por investigadores del Instituto de Física y Tecnología de Moscú
y prepublicado el pasado mes de octubre.
Un trabajo en el que se muestra cómo han conseguido reconstruir y poder visualizar en tiempo real
la actividad cerebral capturada con un electroencefalograma de un sujeto observando una serie de vídeos.
Es decir, el sujeto ve el vídeo, eso genera una actividad en su cerebro
y que tras ser registrada por el dispositivo puede ser decodificada con técnicas de deep learning
para así reconstruir una imagen real.
Y bueno, pues la verdad que se asemeja bastante a lo que el sujeto está viendo realmente en pantalla.
Entonces sí, ¿verdad? La inteligencia artificial puede leerte la mente.
Claro, ¿cuánto de cierto hay en todo esto? ¿Y cómo funciona?
En el vídeo de hoy te lo voy a explicar, así que vamos a verlo o pensarlo y verlo dentro intro.
INTRO
El cerebro humano es fascinante. Hablamos del órgano más complejo de tu cuerpo,
de cuya estructura y actividad emerge todo lo que percibimos, pensamos, imaginamos y soñamos.
El cerebro es una máquina biológica sorprendente y como tal nuestra curiosidad, que también emerge de nuestro cerebro,
nos ha llevado a intentar desentrañar cuáles son los mecanismos que hacen funcionar este sistema.
Claro, si tú eres de los que dicen que una arquitectura de deep learning es una caja negra que es difícil de interpretar,
es porque posiblemente nunca te hayas planteado la complejidad de una máquina donde tenemos
a miles de millones de neuronas conectadas unas con otras y con conexiones que van variando en el tiempo.
Una movida, ¿vale? Por suerte contamos cada vez con más herramientas que nos pueden ayudar a desentrañar este misterio.
Mira, cuando dos neuronas en el cerebro se comunican, se produce un ligero pulso eléctrico que, de ser medido,
pues nos podría contar cuál es la actividad de dicha neurona en el tiempo.
El problema es que si intentamos medirlo de manera no invasiva, por ejemplo situando eléctrodos por encima del cráneo,
lo que va a ocurrir es que no podremos detectar nada claro.
Sería algo así como intentar detectar la conversación de una persona en un concierto situando un micrófono a metros de distancia.
Solo vamos a escuchar ruido.
Pero claro, esto no es del todo un problema porque si bien no podemos escuchar a una persona de manera individual,
lo que podemos colocar son micrófonos en zonas estratégicas del público para así analizar el comportamiento de masas
e intentar entender qué también se lo están pasando.
Y bueno, esto mismo igualmente lo podemos hacer en el cerebro.
Situar estratégicamente eléctrodos que detecten los pulsos eléctricos sincronizados de un grupo de neuronas que se activan en conjunto
y así estudiar los patrones temporales que emergen de estas señales.
Esta lectura de la actividad del cerebro a base de usar eléctrodos situados por todo tu cráneo
es lo que se conoce como un electroencefalograma, EEG para abreviar.
Situando un casco con varios eléctrodos en tu cabeza es suficiente para empezar a registrar series temporales de la actividad cerebral que ocurre en tu cerebro.
Recibiendo información de cada una de las zonas donde hemos situado un electrodo.
Esta no sería la única técnica, y de hecho hay cosas más avanzadas que resuelven algunas de las limitaciones del electroencefalograma.
Por ejemplo, podemos contar con técnicas más avanzadas como la imagen por resonancia magnética funcional, o fMRI,
donde seremos capaces de obtener un mapa más detallado del cerebro localizando aquellas zonas donde la mayor actividad esté ocurriendo.
Una mayor resolución espacial que el electroencefalograma,
pero eso sí, a costa de tener una peor resolución temporal al tardar cada imagen varios segundos en calcularse.
Bueno, eso y además de que tienes que depender de uno de estos cacharros que además de ser bastante grandes y poco operativos, son más caros.
Más allá de esto, si queremos optar por medir la actividad cerebral con mayor precisión,
pues podemos abrir el melón literalmente y optar por medidas más invasivas que lo que van a buscar será medir esta actividad cerebral desde dentro del cráneo.
Quizás de los proyectos más conocidos en este sentido, pues nos encontramos con el famoso Neural Lays del señor Elon Musk,
proyecto en el que han estado desarrollando una nueva técnica que de funcionar podría suponer una conexión directa con nuestro cerebro
para poder leer con una muy buena resolución temporal y espacial un gran volumen de impulsos neuronales.
Y bueno, todo esto está muy bien, no sólo por las implicaciones que puede tener a nivel médico, que son muchísimas,
sino también porque en el proceso de digitalizar nuestra actividad cerebral, lo que estamos consiguiendo es que aquello que ocurra dentro de nuestra cabeza
pueda tener una traducción real en el mundo digital.
Estamos hablando de conectar mentes con máquinas, de conectar nuestra cabeza a un ordenador.
Creo que ya va siendo hora de hablar de las interfaces cerebro-máquina.
Mira tu pantalla.
Imagínate poder controlar la interfaz de tu ordenador, por ejemplo mover el cursor, solo compensarlo.
O poder, por ejemplo, escribir un texto sin tener que tocar en ningún momento el teclado, solo con el poder de tu mente.
O cosas más avanzadas como mover un juguete, una silla de rueda, una extremidad robótica,
o incluso poder mover el brazo humano de otra persona conectado a una interfaz similar.
Todas estas acciones que te estoy comentando en realidad son casos reales que ya se han conseguido con las interfaces cerebro-máquina con las que contamos hoy en día.
Y es que si lo piensas, esto no tiene por qué ser tan complicado.
Es decir, si cuentas con un electroencefalograma comercial baratito,
pues puedes calibrarlo para que asocie diferentes actividades de tu cerebro con una acción a realizar de, por ejemplo, el cursor de tu ordenador.
Moverlo hacia la derecha, hacia la izquierda, etc.
En este caso estaríamos mapeando la actividad del cerebro de imaginarte un movimiento para convertirlo en un movimiento real.
O por ejemplo, si quieres implementar un teclado en pantalla,
puedes hacerlo aprovechándote de una señal que es fácilmente medible y que genera tu cerebro ante un estímulo inesperado.
Por ejemplo esto.
Una señal cuyo pico se produce a los 300 milisegundos después del estímulo y que de manera conveniente recibe el nombre de P300.
Si situamos una matriz de caracteres que parpadeen rápidamente delante del sujeto,
se puede detectar la presencia de la onda P300 para saber a qué letra está prestando atención,
y por tanto así poder elegirla en nuestra interfaz de escritura.
Estos son ejemplos que al final nos llevan a una conclusión muy evidente,
y es que cualquier señal que nosotros seamos capaces de leer, interpretar, decodificar,
dentro de nuestra cabeza puede ser utilizada como interfaz para poder controlar a una máquina.
Y claro, con esto es bastante obvia la importancia de desarrollar potentes algoritmos que sean capaces de analizar toda esta actividad cerebral
para decodificarla y encontrar estos patrones que podemos utilizar a nuestro favor.
En ese sentido, el trabajo del que estamos hablando hoy pues tiene una importancia indiscutible.
A 17 sujetos se les pidió observar durante un período de entre 5 y 10 minutos
un vídeo compuesto por secuencias de escena donde se podían visualizar diferentes categorías.
En total, estas 5 categorías de vídeo eran figuras geométricas, cascadas naturales, caras, artilugios mecánicos y deportes extremos.
Mientras tanto, durante el visionado del vídeo, a cada individuo se le estaba midiendo la actividad cerebral con un electroencefalograma,
y los datos obtenidos fueron preprocesados para obtener solamente aquellas características que fueran importantes para clasificar lo que se estaba viendo.
Como aquí lo que se pretende es, a partir de la actividad cerebral del sujeto, reconstruir aquello que está viendo,
lo que es aptado es por preentrenar a una red convolucional de convolucional con fotogramas que forman parte del vídeo que el sujeto está viendo,
obteniendo por tanto así una red que si la partimos por la mitad podemos usar para generar imágenes.
Claro, en este caso esta red necesita algún tipo de vector de entrada como input.
¿Y tenemos algún tipo de vector que darle? Pues sí.
Oye mira, justamente tenemos aquí los vectores de información comprimida que va generando nuestro electroencefalograma.
Pues lo conectamos y listo. Pero claro, hay un problema.
Y es que esta red en ningún momento se le ha enseñado a entender los datos que le vamos a dar como entrada venido del electroencefalograma.
Así que poco va a poder hacer.
Faltaría un último módulo que será el que se encargue de analizar todas las señales procesadas que provengan de la actividad cerebral
y que las traduzca a un lenguaje que pueda ser entendido por el decodificador de imágenes.
Es decir, que aprenda a traducir la actividad cerebral a algo que permita generar una imagen similar a la que el sujeto está viendo.
Con todo esto, en una primera fase se deja entrenar el sistema con la actividad cerebral del sujeto
y en una segunda evaluamos que tan bien funciona el sistema con los resultados que ya hemos visto anteriormente,
donde las imágenes que el sujeto ve pueden ser reconstruidas por el algoritmo de inteligencia artificial.
Impresionante, ¿verdad?
O quizás no tanto.
La verdad es que esta noticia tiene unos cuantos matices que van a hacer que nuestro entusiasmo se vea un poco matizado, ¿vale?
Pero, oye, de los que vamos a intentar aprender algo interesante.
A ver, lo primero que quiero que sepas es que la naturaleza de este trabajo tampoco es tan nueva.
Por ejemplo, en 2008 ya se mostraron algunos resultados bastante positivos en la reconstrucción de imágenes de 10x10
a partir de la actividad cerebral capturada con un fMRI.
También en 2011 la cosa avanzó hasta poder decodificar vídeos de la actividad visual del sujeto,
de nuevo haciendo uso solamente de la actividad capturada con resonancia magnética funcional.
Y esto, además, en 2017 ya se fusionó con modelos generativos de deep learning
para encontrarnos con este trabajo de aquí capaz de generar imágenes similares a las que el sujeto observaba.
Todo estos resultados muy impresionantes y que sirven como precedente al trabajo del que estamos hablando hoy.
Pero, y aquí viene el punto importante,
creo que existe una gran limitación en todos estos trabajos y que también ocurre en el trabajo del que estamos hablando hoy.
Y es que la red que estamos utilizando para generar contenido
viene sesgada con demasiado conocimiento a priori del contenido que estamos generando.
Vale, ¿qué significa toda esta frase que acabo de decir?
Te lo explico.
¿Recuerdas cómo te he dicho que hacían en este trabajo para generar imágenes?
Rebovinemos.
Lo que es aptado es por preentrenar a una red convolucional de convolucional
con fotogramas que forman parte del vídeo que el sujeto está viendo.
¡Exacto!
Una red convolucional de convolucional.
O, siendo más específicos, en este caso, un autoencoder.
¿Qué? ¿Qué es esto?
Pues mira, cuando tenemos una red neuronal convolucional de las que procesan imágenes,
normalmente tú le pasas como entrada una imagen y como salida le especificas
el resultado de la tarea que quieres que aprenda.
Por ejemplo, en este caso puedes aclasificar que esto es un gato.
¡Fácil!
Ok, perfecto.
Si, por ejemplo, quieres que el resultado de salida sea otra imagen,
por ejemplo, un mapa de segmentación de la imagen dada como input,
pues lo que podemos hacer es concatenar esto con una red de convolucional tal que así.
Si recuerdas, esto ya lo vimos en profundidad en el vídeo sobre deep newt.
Ahora, si a nosotros a esta red le damos como entrada y como salida la misma imagen,
es decir, que la tarea de la red sea, a partir de esta imagen, generar el mismo resultado,
estaríamos ante un caso especial de arquitectura y tipo de problema
que se conoce como un autoencoder.
Y te preguntarás, ¿qué ventaja nos aporta hacer esto si el resultado va a ser el mismo?
Pues muy buena pregunta.
La principal respuesta se encuentra aquí, en el cuello de botella de la red,
por donde la información que estemos codificando ha de pasar de manera comprimida por aquí
ante de volver a ser decodificada.
Es decir, para una imagen que entre por este lado, la red deberá de aprender a cómo comprimirla
hasta una representación vectorial abstracta que podemos llamar imagen.zip,
y luego al mismo tiempo tiene que aprender a partir de esta versión comprimida
a saber cómo decodificar la nuestra imagen original.
Esto mola porque, como hemos visto en el caso de hoy,
esto lo podemos separar una vez está entrenado
para usar esta parte como un decodificador de imágenes.
¿Y dónde está el problema?
Pues mira, para ilustrarlo bien, déjame que programe una red similar a la que plantean en el paper.
Una vez la tenga implementada, lo que voy a hacer es entrenarla
para que aprenda a codificar y decodificar imágenes de este dataset de aquí
que contienen números escritos a mano.
El autoencoder finalmente sería este de aquí.
Muy bien, ¿qué pasa si a esta red, una vez ya está entrenada,
le pasa una imagen nueva de un número que no ha visto durante el entrenamiento?
Pues mira, la red sin mucho problema es capaz de codificarla
y de decodificarla dándome como resultado una imagen muy parecida a la original.
Ok, funciona.
Probamos con otro número y sí, también funciona.
Y con otro, también, perfecto.
Oye, ¿y qué pasaría ahora si le paso una imagen
completamente diferente a lo que hemos utilizado durante el entrenamiento?
Una foto no de un número, sino, por ejemplo, esta de aquí.
¿Qué crees que pasará?
Pues mira, el resultado de codificar esta imagen
será nuevamente un vector comprimido,
pero que si lo cogemos y lo procesamos en nuestro decodificador,
lo que vamos a obtener es una imagen de un número.
Imagen que nada tiene que ver con el input que le hemos dado,
sino una imagen que se parece a aquellas que le hemos dado durante el entrenamiento.
Es decir, nuestro decodificador solo sabe generar
contenido similar a aquello con lo que se le ha entrenado.
Y aquí está la clave de todo.
El decoder, por su naturaleza, aprenderá aquellos patrones necesarios
para reconstruir imágenes similares a la telentrenamiento,
ni más ni menos.
Y claro, en este estudio, ¿cuáles son estas imágenes?
Pues en este caso, podemos leer en el paper
que han utilizado los mismos fotogramas
de los vídeos que se le han mostrado a los sujetos.
Es decir, que el decodificador en realidad
sabe bastante sobre las imágenes que el sujeto está viendo en pantalla.
Mi punto en este vídeo es que si alguien se aproximara a este trabajo
sin mucho conocimiento,
posiblemente pensaría que la información que se ha procesado aquí
de alguna manera ha decodificado patrones en las señales cerebrales
de color, texturas, formas,
y que de ellas se ha conformado una imagen de lo que el sujeto está viendo.
Pero la realidad es diferente,
porque estando toda esta información ya preaprendida en el decoder,
solamente es necesario que por aquí se le indique
cuál es la categoría del vídeo que está viendo el sujeto.
Ahora deporte de riesgo, ahora una cara de una persona,
ahora mecanismos raros.
Y ya está.
Y será el decoder el que aprovechando la información preaprendida
sabrá cómo generar dichas imágenes para cada categoría.
Algo que quizás no es tan impresionante.
De hecho, el efecto de esto lo podemos observar
en el vídeo que te he enseñado al principio.
Porque fíjate cómo en realidad la imagen que se está generando
y la imagen que el sujeto está viendo no son tan parecidas.
¿Por qué?
Porque en realidad lo más probable es que al decodificador
la única información que le esté llegando
sea la información de la clase, de la categoría,
de la imagen que esté viendo el usuario.
Y con esto el decodificador lo único que tiene que hacer
es recordar su fotograma favorito de dicha clase.
Es decir, si el sujeto está viendo una cara
seguramente se genera un rostro, pero no sea parecido al que está viendo.
Y ojo, porque a lo mejor aquí pensarás que yo estoy criticando
el trabajo de estos investigadores por haber exagerado su logro.
Pero esto no es del todo cierto, porque ellos,
desde el primer momento en el paper,
especifican que su objetivo no es decodificar la mente,
sino que su objetivo es crear una falsa ilusión en el sujeto
de que su mente está siendo decodificada.
Todo esto para que el sujeto pueda entrar en una especie de bucle
que le permita controlar mejor la interfaz cerebro-máquina.
En este caso mi crítica iría sobre todo a aquellos medios de comunicación
que han tomado esta noticia sin la profundidad suficiente
y han dado esa falsa ilusión de que existe una inteligencia artificial
que puede leer tu mente.
Pero es que al final leer la mente es un problema muy complicado.
Y de hecho seguramente sea un problema que hasta tengamos mal definido.
Porque ¿qué es leer la mente?
Si te fijas en este vídeo, todos los artículos que te he enseñado
se han centrado en intentar reconstruir, decodificar la información visual
de un sujeto viendo algo en pantalla.
Pero claro, eso no es solamente la mente.
Yo ahora mismo puedo estar viendo la cámara
y al mismo tiempo estar pensando en otra cosa.
Y todo eso en conjunto conformaría mi mente.
No solo eso, sino también información abstracta estructurada de manera distribuida.
Impulsos, inconscientes, sentimientos.
Esa voz mental que nunca para de hablarme y decir que que me hospitales.
A todo esto es lo que de manera popular llamamos mente.
Y seguramente haga falta más trabajo en el campo de la neurología,
desarrollar mejor hardware, mejor software,
para poder leerla, descifrarla y entenderla.
Yo no sé si será Elon Musk con su neural lace
o si será otro departamento de otra universidad.
Pero si ese es el futuro y a ustedes le gusta este vídeo,
pues lo contaremos aquí en.csv.
Si has llegado a este punto es que seguramente te interesa
el tema de las interfaces cerebro-máquina.
Y en ese sentido te quiero invitar a participar en la comunidad de Machine Learning Hispano,
donde tenemos un canal entero dedicado a hablar sobre...
Bueno, esto es un colador, pero sobre interfaces cerebro-máquina.
Además, se han metido hace poco a hacer un proyecto conjunto
bastante interesante que a lo mejor te puede interesar.
Así que te dejo el enlace de invitación aquí abajo en la caja de descripción.
Si no te interesa este tema, pero te interesa el Machine Learning,
pues también te invito a unirte.
Si te ha gustado este vídeo deja tu like,
si te gusta este contenido suscríbete
y si quieres apoyarlo hazlo a través de Patreon.
Nos vemos en el próximo vídeo.
¡Adiós!