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.

Hola chicos y chicas, bienvenidos a DotCSV, tu canal sobre inteligencia artificial que
te explica por qué el CapChap sigue diciendo que eres un robot.
Y bueno, estamos hoy en el tercer Data Coffee, en este proyecto maravilloso que estamos construyendo
entre todos y hoy vengo con un tema súper súper interesante, como todas las semanas básicamente,
pero en realidad sí lo es. El tema de hoy va a tratar sobre una publicación que se produjo
hace una semana y media más o menos, así que es un tema que está recién salido del horno y es
una publicación que, bueno, una serie de publicaciones que se produjo eso hace una
semana y media y que ha causado mucho ruido dentro del mundo de la inteligencia artificial. El
hecho de que haya causado ruido se debe a dos motivos muy importantes. El primer motivo es
porque estamos hablando de un nuevo tipo de algoritmos que se suma a la familia de los
famosos algoritmos de redes neuronales y es un nuevo paradigma que se presenta con una
nueva perspectiva que vamos a comentar en este vídeo y que me parece muy interesante que yo
creo que ha sido uno de los motivos por los que ha generado tanto ruido, pero el otro también es
por quien lo firma. Esta serie de artículos viene firmado por tres investigadores que son
Sarah Sabour, Nicholas Frost y Geoffrey Hinton. Si están metidos un poco en el mundillo de la
inteligencia artificial posiblemente este último nombre les suene y es que Geoffrey Hinton es
conocido como el padrino de la inteligencia artificial. Es decir, es una de las mentes,
de las grandes mentes que en el siglo XX ayudó a que este campo exista como existe hoy en día.
Durante el siglo XX los algoritmos de redes neuronales eran ya conocidos a nivel teórico y se
sabían que ese modelo computacional podría servir para solucionar los problemas que estamos
solucionando hoy en día con ellos. Sin embargo, lo que se desconocía era cómo se podían entrenar
de forma eficiente y fue Geoffrey Hinton el que introdujo el concepto de backpropagation,
que ya veremos en un futuro, y que permitió que las redes neuronales puedan entrenarse como se
entrenan hoy en día y que puedan funcionar de forma muy eficiente. Así que, por tanto,
Geoffrey Hinton es una de esas grandes mentes que siempre que habla hay que escucharla y que,
como veremos hoy, presenta unas ideas muy, muy interesantes. De hecho, esta persona trabaja de
forma honorífica pero trabaja para Google. Actualmente es uno de los investigadores de
Google que se encarga básicamente de inspiración para el resto de investigadores en la empresa y
también trabaja pues eso de investigador buscando nuevas ideas y cómo empujar los límites de la
teoría del campo de la inteligencia artificial. Vamos a intentar entender en este vídeo qué
son estas capsnet, que se llaman, son redes de cápsulas, es la traducción en español y la voy
a intentar presentar, no de forma técnica, no vamos a entrar en el detalle de cómo funcionan
porque sinceramente yo me leído el paper y no termino de entender completamente cómo funciona
y no me veo capacitado para explicaroslo y tampoco creo que les vaya a servir de mucho pues que me
ponga yo ahora a describir exactamente cuál es su funcionamiento, pero creo que sí les puedo explicar
de forma muy entendible cuál es la intuición de por qué pueden servir y por qué pueden ser un
gran paso hacia delante dentro del mundillo así que vamos a intentar entenderlas y para ello lo
que tenemos que tener muy claro es cómo funciona la alternativa a la que estas redes vienen a
sustituir que son las redes neuronales convolucionales. Antes que nada quiero dejar una
cosa clara, no me entiendan mal, las redes neuronales convolucionales son a día de hoy
el estado del arte en cuanto a reconocimiento de imágenes, es decir son la tecnología más avanzada
que existe a día de hoy para que tú puedas presentarle a un algoritmo de estos, una imagen
o un vídeo y sepa reconocer exactamente cuáles son los elementos que se encuentran dentro de la
imagen. Estos algoritmos son muy potentes y también son muy nuevos. Tienen que saber que la mayoría de
servicios que existen a día de hoy de reconocimiento de imágenes o que se basen en ellos, por ejemplo
coches que se conducen solos, todas estas tecnologías están basadas en redes convolucionales. ¿Por qué?
Porque son las que mejor funcionan. ¿Qué sucede? Que aún funcionando muy bien estas redes neuronales
convolucionales, pues tienen asociados una serie de problemas que vamos a describir ahora y que son
las que hacen que pues exista todavía mucha investigación en cuanto a si realmente estamos
tomando el camino correcto que hay que tomar a la hora de entender cómo nuestro cerebro hace ese
aprendizaje y cómo estas redes lo implementan. Aunque estemos hablando de problemas, tengan en
cuenta que las redes neuronales convolucionales funcionan muy bien y seguirán siendo posiblemente
de aquí a unos años la tecnología que sigamos utilizando. ¿Cómo funcionan internamente las
redes neuronales convolucionales? Bueno, para que podamos entender a muy grandes racos cómo funcionan
tienen que saber que es un algoritmo de aprendizaje supervisado que como ya saben es un algoritmo en
el que introducimos los datos que queremos utilizar para entrenar, pueden ser imágenes
o pueden ser vídeos y también le presentamos cuál es la solución a ese problema. Pues si le
damos una foto de un gato le decimos esto es un gato y el algoritmo por sí mismo aprende a
identificar qué elementos de esa imagen hacen que esa imagen sea un gato y no sea otra cosa.
Internamente la forma de trabajar de este algoritmo, pues como vimos en el vídeo del
mapa conceptual sobre deep learning, pues hay una serie de capas de procesamiento donde en
las primeras capas, las más cercanas a los datos de entrada, el algoritmo aprende a identificar
elementos muy básicos, pues aprende a identificar que son esquinas, que son bordes, que son
diferencias de contraste, diferentes tipos de texturas, son como patrones muy pequeñitos que
podemos encontrar dentro de la imagen y luego esas capas posteriormente utilizan esa información para
intentar encontrar patrones que son mucho más abstractos y son mucho más ricos en información.
Si por ejemplo tú combinas una serie de bordes o esquinas pues puedes generar una forma y esa
forma puede ser circular y a lo mejor la utilizas en una capa posterior para generar junto a otra
forma un ojo y ese ojo lo utilizas para identificar que un par de ojos, una nariz y una boca forman
una cara. Es decir, estamos haciendo un procesamiento por capas en las que de forma jerarquizada
aprendemos de lo más básico a lo más abstracto conceptos que te van a servir para identificar si
una imagen presenta un tipo de contenido o presenta otro tipo de contenido. Sin embargo este
planteamiento que a priori parece que puede funcionar bien tiene una serie de problemas.
Imagínate por ejemplo que tú estás haciendo un detector de cara y entonces alimentas a tu
red neuronal convolucional con muchas fotos de cara de personas. Poco a poco este algoritmo
pues aprenderá desde lo más básico lo más abstracto a detectar en las últimas capas
elementos como ojos, nariz, boca y sabrá que si estos elementos están presentes en una imagen
pues la probabilidad de que sea una cara será muy alta. Sin embargo, aunque son capaces de aprender
muy bien a detectar este tipo de elementos dentro de la foto, lo que no son capaces de aprender es
la posición relativa de los elementos dentro de la foto. Es decir, nosotros como humanos sabemos
que una cara no es simplemente que haya ojos, nariz y boca, sino que también una cara pues
presenta una serie de patrones como que los ojos siempre están por encima de la nariz,
la nariz siempre está por encima de la boca, en una cara hay dos ojos y se distribuyen de forma
simétrica frente a un eje vertical. Esto una red neuronal convolucional no lo aprende, es decir,
si es capaz de clasificar lo hace por la detección de esos elementos pero no por saber cómo esos
elementos están distribuidos realmente. De hecho he preparado una demo para que podamos ver cómo
estos algoritmos realmente no son capaces de detectar este tipo de diferencias. Como ven nos
encontramos ya dentro de la plataforma de Clarify y entonces lo que vamos a hacer es subir primero
la foto de la que aparezco yo sonriendo. No soy un robot, menos mal, siempre me pongo nervioso
con estos temas. Y vamos a darle a la de la sonrisa. Estoy seguro el 99% de que este sistema funciona
por detrás con redes convolucionales. Como ven al subirlo pues ha detectado que en la foto hay
elementos de frío, de invierno, bufanda, hombre, es un retrato, personas, exterior, adulto. Vale,
si damos aquí arriba podemos ir al detector de cara, es decir, en qué parte de la foto detectó
una cara y como vemos aquí ha detectado que esta es mi cara, efectivamente una cara detectada. Vale,
ahora vamos a subir la otra muestra que es en la que no aparece ninguna cara, esta de aquí. Si la
subimos pues vemos que el sistema dice no hay ninguna cara detectada, eso está bien, es decir,
entra dentro de los parámetros que nosotros esperamos de cómo debería de funcionar. Ahora,
qué creen que va a pasar si subimos la otra foto? ¿Detectará esa cara deformada como una cara o lo
detectará como otra cosa? Pues si lo subimos comprobamos que efectivamente al sistema le da
igual y dice esto de aquí es una cara. ¿Por qué? Pues porque ha aprendido que en una cara debe haber
sonrisa, debe haber una nariz, debería de haber ojos y efectivamente esta foto cumple con esos
parámetros. Pero claro, esto no es una cara, ¿verdad? Por tanto ya hemos detectado un problema de
este tipo de redes neuronales y es que la posición de los elementos no es aprendida. Otro problema
que tienen estas redes neuronales es que no son capaces de aprender diferentes orientaciones de
un objeto, es decir, si por ejemplo tú le entrenas para que aprenda que esto es una taza, en el
momento en el que a lo mejor le muestras la taza de otra manera, a lo mejor así, no va a ser capaz
de detectarla de forma tan eficiente como si se la presentas así. Este problema se suele solucionar
pues entrenando a este tipo de redes neuronales con muchas imágenes con diferentes posiciones,
es decir, al final acaba generando un dataset enorme con un montón de imágenes que tienen
que tener diferentes variaciones en iluminación, en colores, en materiales, en orientaciones y
eso no debe ser así porque no es algo intuitivo, no es la forma en la que el cerebro humano trabaja
en realidad. Nosotros visualizamos un objeto a lo mejor por primera vez, podemos ver diferentes poses
y ya somos capaces de inferir cuál es la geometría de ese objeto sin necesidad de tener que ver todas
las posibles fotos y situaciones de ese objeto. Por tanto estos son algunos de los motivos por
los cuales las redes neuronales convolucionales no son perfectas y Geoffrey Hinton lo sabe. Para
Geoffrey Hinton la forma en la que funciona el cerebro es algo diferente, no lo ve como que
nosotros tenemos una visión del mundo en la que la imagen nos llega a nuestros ojos y somos capaces
de aprender esos patrones y con eso simplemente somos capaces de movernos por el mundo. Para él
el cerebro es capaz de visualizar un objeto y no solamente aprender cuáles son aquellos patrones
que tiene que aprender para poder identificarlos sino que también somos capaces de codificar otras
propiedades del objeto, por ejemplo una de ellas la orientación. Es decir, nosotros si aprendemos que
esto es una taza podemos ver que hay una serie de elementos que me hacen pensar que es una taza
pero también sabemos que si la taza está así no es que sea también una taza sino que es una taza
y que está rotada. ¿Por qué? Porque hemos aprendido que este objeto tiene una posición natural que
suele ser esta. Esta teoría que presenta Geoffrey es muy interesante porque es una nueva forma de
entender cómo es el aprendizaje humano y no es una teoría que a él se le ocurra y simplemente la
teorice y ya está sino que él muestra en sus charlas evidencias de cómo el cerebro realmente
trabaja así. Y de hecho quiero en este vídeo aprovechar para hacer un ejercicio con ustedes
para demostraros cómo exactamente el cerebro algo de eso trabaja. Para este ejercicio necesito que
utilices tu imaginación y lo que vamos a hacer es visualizar delante de nosotros un cubo.
¿Lo tienes? Vale, el cubo está rotado de manera que una de las aristas está mirando hacia nosotros
por tanto aquí tendríamos una de las esquinas y aquí tendríamos la otra parte del cubo. Lo que
vamos a hacer ahora es con tu mano izquierda vas a colocar un dedo en el vértice de arriba que está
más cercano a ti, es decir, esta esquina de aquí. Y por la otra parte vas a colocar la mano derecha
en la esquina inferior opuesta al vértice que tenemos señalado, es decir, aquí abajo. Si ahora
cogemos el cubo y lo rotamos de manera que este vértice se quede aquí arriba, nos encontramos con
que la única esquina que está tocando la superficie es la esquina de abajo. El resto de esquinas están
elevadas. Por lo que quiero que hagas es el siguiente ejercicio. Quiero que cojas con tu mano
derecha y señales cuál es la posición exacta de cada una de las esquinas que están elevadas. Es
importante para el ejercicio que esto lo hagas en voz alta, es decir, por cada esquina que señales
quiero que digas aquí, ¿vale? ¿Lo tienes? Perfecto. Te diré cuál fue mi respuesta la primera
vez que lo hice y cuál suele ser la respuesta habitual de la gente. La gente lo que suele decir
es, bueno, pues las esquinas están aquí, aquí, aquí y aquí. O a lo mejor otra persona responde,
bueno, la esquina está aquí, aquí, aquí y aquí. Si eres de los que hiciste el ejercicio como yo,
posiblemente te sorprenderá el darte cuenta que realmente en el cubo te has preocupado por señalar
cuatro esquinas cuando en realidad hay seis esquinas elevadas. Fíjate bien, en el cubo,
en el momento en el que lo levantamos, estamos tocando una esquina arriba y otra abajo y el
resto de esquinas están en el aire y son seis esquinas. Pero lo normal es que los humanos
señalemos solamente cuatro. Jeffrey explica que nosotros estamos acostumbrados a visualizar un
cubo de manera que una de las caras se encuentren siempre tocando la superficie plana y que solamente
visualizamos cuatro esquinas en el aire. Esta codificación que hacemos en nuestro cerebro
hace que en el momento en que cambiamos la orientación del cubo, nuestro cerebro no sea
capaz de actuar de manera normal como lo haría si el cubo estuviera en su orientación original y
eso es una evidencia de que nuestro cerebro realmente sí trabaja en función de la orientación de los
objetos. Este motivo también hace que cuando, por ejemplo, nos presentan un ejercicio como este en
el que aparecen dos letras en pantalla y te preguntan si son exactamente iguales, tú no eres
capaz de resolverlo a menos que mentalmente seas capaz de girar la primera letra para poder
comparar unas con otras, es decir, tu cerebro necesita colocar esa forma de la manera en la
que normalmente lo visualiza en su posición original y luego poder hacer la comparación de
patrones. Por tanto, esto es una evidencia de que nuestro cerebro sí necesita de la posición,
al igual que necesita de otras características, para poder aprender a identificar objetos y eso
es algo que a día de hoy las redes neuronales convolucionales no están codificando. En términos
técnicos lo que yo ofré identificado es que las redes neuronales convolucionales internamente siguen
una arquitectura que lo que buscan son invariantes. Esto quiere decir que están favoreciendo que si
tú produces un movimiento del objeto en la propia imagen la red neuronal está entrenada para que
siempre muestre el mismo resultado y eso según él no es correcto. En vez de invariantes lo que
tendríamos que buscar son equivalentes o equivalencia, es decir, la red neuronal tiene
que ser consciente que si se produce un movimiento del objeto o una rotación dentro de su estructura
interna tiene que codificar que esos movimientos y esas rotaciones se están produciendo y así
puedan ser conscientes de cuál es el estado real de ese objeto. De hecho esta forma de interpretar
cómo funciona el cerebro humano él la compara como un proceso a la inversa de cómo funcionan
los programas de renderización de 3d, es decir, un programa de 3d tú normalmente trabajas con el
objeto tridimensional y luego tú le das a renderizar para generar una imagen plana en 2d. Él
considera que el cerebro funciona de una manera contraria, es decir, nosotros partimos de una
imagen en 2d y somos capaces de inferir cuál es la estructura tridimensional de ese objeto pero
luego al igual que un programa en 3d ese objeto está compuesto por subobjetos, es decir, si tú
tienes un objeto tridimensional de un coche tú luego tienes dentro de ese coche elementos como
una rueda, una puerta, un espejo y cada uno de esos objetos tiene intrínsecamente un eje de
coordenadas con su rotación con su posición relativa a su elemento padre. Yo sé que a lo
mejor este concepto suena bastante complejo pero es un cambio de paradigma súper súper interesante
y si ya suena complejo imagínate cómo podría ser crear un sistema, un algoritmo de inteligencia
artificial que sea capaz de codificar toda esa información y aprenderla de forma automática.
Él lo ha conseguido con su sistema las caps net que como ya he dicho no voy a explicar internamente
cómo funcionan pero sí quiero explicar un poco cómo es la arquitectura de este tipo de redes
porque son un poquito diferentes a lo que estamos acostumbrados. Como ya he dicho las redes
convolucionales funcionan de manera en la que nosotros colocamos capas tras capas para aprender
de forma jerarquizada estos filtros, estas estructuras, estos patrones que tenemos que
aprender a partir de las imágenes. Estas nuevas redes que él presenta, las caps net, las redes
de cápsulas, funcionan de una manera similar a estos software de 3d que acabo de explicar.
Nosotros tenemos una cápsula que es un conjunto de neuronas que actúan como si fuera pues una
capa de un algoritmo normal, como si fuera una red neuronal normal, pero luego dentro de esa
cápsula nosotros podemos incluir más cápsulas, es decir nosotros ya no estamos colocando capa
tras capas sino que ahora anidamos las capas dentro de las cápsulas, es decir dentro de una
cápsula nosotros podemos tener diferentes sub cápsulas que van a referenciar a diferentes
objetos, a diferentes entidades de ese objeto mayor. Esas cápsulas son capaces de aprender
diferentes propiedades del objeto y van a decirte pues si por ejemplo está la presencia de una
rueda, está la presencia de una puerta, pues esa cápsula mayor será capaz de decir vale pues soy
un coche. De la misma forma que un software 3d también, cada cápsula será capaz de decodificar
su propio estado de cuál es su posición, cuál es su orientación con respecto a ese objeto mayor,
a esa cápsula mayor a la que pertenece. El concepto es muy complejo pero también es muy
muy interesante. Como digo este paper se presentó hace una semana y media y se presentó con algunos
resultados. Uno de ellos es un entrenamiento sobre el famoso dataset NIST, que es como el dataset
más estándar que existe dentro del campo de la inteligencia artificial donde se prueban, es como
una especie de benchmark que se utiliza para comparar diferentes algoritmos y sorprendentemente
este algoritmo se consiguió posicionar como el más avanzado que existe actualmente. Es decir,
consiguió posicionarse por encima de las redes convolucionales que eran el estado del arte
actualmente dentro del campo de la inteligencia artificial y además lo consiguió mediante una
fracción inferior de datos de entrada. Es decir, consiguió aprender todo este conocimiento utilizando
muchos menos datos de entrada, lo cual también es una muy buena noticia y es algo que era de
esperar porque no necesitamos enseñarle al algoritmo diferentes modificaciones de los propios
objetos porque ya va a ser el mismo el que sea capaz de aprenderla. Sin embargo una pega que
tiene este algoritmo es que es mucho más lento que las redes neuronales actuales pero claro
también hay que entender porque es un algoritmo muy nuevo que simplemente se ha lanzado como un
ejemplo de una idea que Joffrey tenía y es algo muy nuevo que todavía requiere pues una fase de
optimización, que mucha gente lo vaya probando y que mucha gente vaya introduciendo mejoras que
hagan que el algoritmo funcione de manera mucho más eficiente. Pero sin duda es una muy buena
noticia, es un planteamiento súper novedoso, súper interesante y que en el futuro pues ya veremos
qué desarrollo tiene y si realmente supone una mejora frente a las redes neuronales convolucionales
en caso de que así sea lo veremos en este canal porque este canal va a estar siempre al día con
todos los temas de inteligencia artificial y esa era la noticia que quería traer hoy. Además otra
cosa que me ha gustado mucho de este artículo ha sido ver cómo funciona realmente la investigación
dentro del campo de la inteligencia artificial, donde primero el proceso es mirar a cómo funciona
el cerebro humano, buscar hipótesis de cómo puede ser su funcionamiento, luego buscar evidencias de
que soporten realmente esa hipótesis y a partir de esa evidencia generar un modelo que pueda ser
capaz de codificar todas esas hipótesis que nosotros creemos del cerebro y luego comprobar
que realmente funciona. O sea me parece, me parece una metodología de trabajo muy muy interesante,
muy prometedora, es decir siempre inspirarte en lo que la naturaleza, la biología nos proporciona y
no sé, me parece bastante inspirador. Así que nada más, esto era el mensaje que quería trasladar a
las masas y nada más. Ha sido otro de atacos filargo, soy incapaz de hacerlo más corto pero
bueno ya he visto en la encuesta que hice en el vídeo anterior que a la mayoría de ustedes,
mientras el contenido sea interesante no les importa mucho la duración así que me alegro mucho de eso
y nada si les ha parecido interesante pues háganmelo saber. Tenemos aquí abajo el botón de like,
denle a like, vamos a intentar llegar de nuevo a los 250 likes, esta es la meta de esta semana.
Dejen vuestros comentarios abajo, preguntas o si les ha parecido interesante o qué pensamientos
tenéis sobre esto, da igual que el mensaje sea kilométrico, yo los leo todos e intento
responder cuando tengo tiempo, lo juro. Y nada, hasta aquí el vídeo de hoy, recordad que me podéis
seguir también en redes sociales como facebook, twitter, tenéis todos los links en la descripción,
tengo un patreon habilitado y por si quieres aportar algo y colaborar con el canal y me
despido hasta el próximo datacoffee. Un saludo y nos vemos pronto.