miércoles, 26 de mayo de 2021

Tres condiciones para la construcción de un modelo de mente cognitiva

¿Cuál es el origen de la mente? ¿Cuál el de la conciencia y el libre albedrío? ¿Qué mecanismos rigen la formación de las capacidades cognitivas?

Las preguntas anteriores son misterios aun sin resolver, fuera del alcance actual de la ciencia y con explicaciones que pueden venir actualmente del campo de la psicología, de la filosofía o de la religión, pero sin comprobación fehaciente.

Sin embargo ese es el empeño del roboticista Jun Tani y cuyas hipótesis y pruebas experimentales  detalla en su libro 'Exploring Robotic Minds: Actions, Symbols, and Consciousness as Self-Organizing Dynamic Phenomena' al cual ya nos hemos referido en algunos posts anteriores.

Ya hemos contado cómo este autor busca la explicación de esos mecanismos mentales mediante neuro-robótica, es decir, mediante experimentos realizados con robots dotados de más o menos sofisticados algoritmos de inteligencia artificial. Aunque se usan robots, la aspiración no es, o al menos no solo, conseguir máquinas más sofisticadas y quizá dotadas de capacidades cognitivas avanzadas, sino entender la propia mente humana.

Hacia la mitad del libro, y antes de proceder a describir con detalle los diferentes experimentos realizados y el 'racional' que hay detrás de ellos, el autor resume sus principales hipótesis, las ideas-fuerza que quiere contrastar. Y, en concreto, nos describe lo que el considera las tres condiciones fundamentales para la construcción de un modelo de mente cognitiva y, ojo, insisto en que esa mente no es necesariamente robótica, también es biológica. Y, eso sí, también hay que hacer notar que el autor no define en ningún momento qué entiende exactamente por una mente cognitiva.

En cualquier caso, estas son sus tres condiciones:

  • La mente cognitiva se representa más adecuadamente mediante sistemas dinámicos no lineales definidos en el dominio del espacio-tiempo continuo donde la no linealidad puede proporcionar competencia cognitiva para la "composicionalidad" ('compositionality'). Conviene aclarar que por composicionalidad (un término que, por cierto, parece no existir como tal ni en castellano ni en inglés), hace referencia a la capacidad para la composición de símbolos más sencillos para alcanzar representaciones más complejas, algo que la psicología cognitiva parece haber demostrado que exhibe la mente humana.

  • Los sistemas cognitivos, tanto naturales como artificiales, deben ser capaces de predecir el resultado percibido para la intención actual de actuación hacia el mundo exterior, en el camino de arriba-abajo, al tiempo que la intención actual se adapta mediante el uso de señales de abajo-arriba que indican el error detectado entre la predicción y el resultado real percibido en el ciclo de acción-percepción. Diría que ésta es su hipótesis más original, y nuclear y que ya comentamos en el post 'Una hipótesis neuro-robótica sobre el origen de la mente'.

  • Se debería poder clarificar la estructura subyacente a la conciencia y el libre albedrío mediante el examen detallado de las características no estacionarias de la causalidad circular desarrollada por las interacciones entre la mente cognitiva y el mundo objetivo.


Debo admitir que etas tres condiciones no se entienden fácilmente, no al menos en toda su extensión. El libro las explica con detalle, pero hay que advertir que se trata de exposiciones complejas y que no resultan fáciles de comprender. Confieso que, aunque las recojo en este post, yo mismo sólo creo haberme hecho una idea aproximada de su significado, a pesar de haber leído el libro entero (seguramente se necesitaría una lectura mucho, mucho, más lenta y revisando cada afirmación y cada algoritmo con detenimiento).

Aún así, creo que resumen de forma compacta el pensamiento de Tani y que, aunque quizá no en todo detalle, sí permiten un cierto entendimiento. Si lo considero interesante, ya volveré a ellas con más foco y detalle. 


jueves, 20 de mayo de 2021

Una hipótesis neuro-robótica sobre el origen de la mente

Uno de los grandes misterios científicos y casi, casi, filosóficos, que nos interesan como seres humanos, es saber cómo funciona nuestra mente, cuál es el origen y dinámica de ese algo interior que percibimos como tan propio, tan diferencial, tan característico del ser humano como especie y de cada uno de nosotros como individuos. 

Y lo cierto es que no existen respuestas. Disponemos de algunos conocimientos sólidos, pero aún escasos, procedentes del campo de la neurociencia acerca del funcionamiento fisiológico del cerebro y una descripción geográfica de sus áreas de competencia. Y disponemos también de teorías procedentes del campo de la psicología y la filosofía. Pero conocimiento, lo que se dice conocimiento, auténticas certezas, pocas, muy pocas, casi ninguna.

Entre esas hipótesis surge alguna procedente del campo de la neuro-robótica que mencionaba en el post anterior, una disciplina que busca, entre otras cosas, partiendo de experimentos llevados a cabo en robots, llegar a desentrañar algunos de los secretos de la mente humana. 

Muy en concreto, el libro 'Exploring Robotic Minds: Actions, Symbols, and Consciousness as Self-Organizing Dynamic Phenomena' de Jun Tani se dedica a proponer, explicar e intentar corroborar una hipótesis sobre el origen de la mente. Dicha hipótesis la expone el autor, nada más empezar el libro, de la siguiente manera:


The essential proposal [] is that the mind is comprised of emergent phenomena, which appear via intricate and often conflictive interactions between the top-down subjective view for proactively acting on the external world and the bottom-up recognition of the resultant perceptual reality.


Es decir, para Tani existen dos procesos relevantes, uno que opera de arriba a abajo  y otro de abajo arriba (donde arriba está, digamos, la mente y abajo el mundo físico):


  • Intencionalidad (top-down): proceso mediante el cual nuestras imágenes, pensamientos y perspectivas, adquiridos a través de la consolidación de experiencias pasadas, se proyectan al mundo objetivo, guiando y acompañando nuestras acciones.

  • Reconocimiento (bottom-up): un reconocimiento de la realidad percibida y que hace que se modifiquen las intenciones para eliminar o disminuir el error o diferencia entre nuestras expectativas y los resultados que obtenemos.

Y el foco, según el autor, se encuentra en lo que Tani denomina la causalidad circular ('circular causality'), que emerge como resultado de las interacciones entre ambos procesos, unas interacciones cuya naturaleza conflictiva (la intención no se corresponde exactamente con los resultados percibidos) es lo que da lugar a la mente.

Esta es la hipótesis, y a explicarla tanto desde el punto de vista filosófico y neurocientífico, como a intentar demostrarla mediante el diseño de redes neuronales específicas y a la realización y explicación de experimentos actuando ellas como 'mente' de robots físicos reales, es a lo que dedica Tani su libro (y el trabajo científico y de campo que le ha precedido, claro).

Y, como cabe esperar, los experimentos que realiza confirman, bien que a nivel bastante primario y muy lejos de lo que es realmente una mente humana, su hipótesis y alguna consecuencia que se extrae de ella y que le acerca, incluso, a temas espinosos, especialmente cuando estamos poniendo en paralelo a humanos y robots, como son la conciencia y el libre albedrío.

Interesante y retador ¿verdad?

lunes, 17 de mayo de 2021

Neuro-robótica o el efecto boomerang de la Inteligencia Artificial

Es indudable que en mayor o menor medida, la robótica y la inteligencia artificial se han inspirado en la naturaleza y, muy en concreto, en el sistema nervioso en general y el cerebro humano en particular.

No es casual, ni del todo desacertado, el nombre que reciben algunas técnicas y algoritmos como las propias redes neuronales o los algoritmos genéticos. Y es que, aunque en cierto que esa inspiración es muchas veces sólo un punto de partida, más que un paralelismo profundo, y también que con frecuencia en los discursos poco cuidadosos se extrema y exagera inadecuadamente la metáfora sugiriendo una similitud irreal, la inspiración existe.

Y no se trata de algo que se haya inventado la inteligencia artificial. La biomímesis, es decir, la imitación de cómo funcionan las cosas en la naturaleza como medio de encontrar soluciones científicas o tecnológicas a problemas a resolver, es una práctica transversal y fructífera. 

Pero, paradójicamente, también puede existir la vía inversa, el recorrido en la otra dirección.

Leyendo el libro 'Exploring Robotic Minds: Actions, Symbols, and Consciousness as Self-Organizing Dynamic Phenomena' de Jun Tani me encuentro con la presentación de la disciplina de la neuro-robótica y, más en concreto, de la neuro-robótica sintética, una disciplina que, en palabras de Tani pretende:


examine experimentally the emergence of nontrivial mindlike phenomena through dynamic interactions, under specific conditions and for various cognitive taks.


La declaración de intenciones es impresionante: estudiar experimentalmente la emergencia de fenómenos mentales complejos... Y dado el nombre de la disciplina, el lector ya se puede imaginar lo que la frase anterior sólo insinúa aunque ese nombre hace sospechar y es con qué base se realiza dicha experimentación: con robots y algoritmos de inteligencia artificial.

Unas líneas antes, en el prefacio, el autor declara el objetivo de su libro:


to show a clear picture of how the mind might work, based on tangible experimental data...


Es decir, se pretende entender el funcionamiento de la mente, de la mente humana, pero experimentando no con nuestro cuerpo, nuestro cerebro o nuestras capacidades cognitivas, sino mediante robots y algoritmos. 

Se trata de algo sorprendente, estimulante y quizá un poco intimidante. 

Pero, en el fondo, se trata de una idea que vuelve a nosotros con cierta frecuencia como hemos mencionado recientemente, por ejemplo, a la hora de hablar de por qué interesa desarrollar robots éticos. Se trata del argumento que defiende que progresar en inteligencia artificial y robótica no sólo desarrolla una tecnología por sí misma con su eventual interés económico, social o de negocio. Es que, además, el estudio y desarrollo de estas tecnologías puede ayudarnos a comprendernos mejor a nosotros mismos como personas, lo que realmente significa el ser humano cuando hablamos de ética o cómo funciona la mente en el caso de la neuro-robótica.

Y todo ello viene a ser una especie de sorprendente efecto boomerang: partimos de la imitación del cerebro como inspiración para el diseño de redes neuronales y robots inteligentes y éstos, quizá, nos puedan devolver conocimiento, o quizá sólo otra suerte de inspiración, sobre el funcionamiento de nuestro propio cerebro, uno de los mayores y mas elusivos misterios.


viernes, 14 de mayo de 2021

Algunas diferencias entre texto e imagen que afectan a los algoritmos de deep learning

A veces parece como si los algoritmos de inteligencia artificial, muy en especial los del campo del deep learning, fueran pura magia. Como si bastase conectar un 'montón' de neuronas artificiales, entrenarlas con muchísimos datos y esperar que, de alguna manera, los pesos de la red neuronal se ajusten hasta conseguir obtener el resultado esperado a la salida de la red ante una entrada concreta.

Sin embargo, la cosa no es tan sencilla. Ni mucho menos. Los matemáticos, científicos de datos o ingenieros que trabajan en estos algoritmos deben entender muy bien la naturaleza del problema que se quiere resolver con cada red neuronal concreta y, aunque es cierto que permanece un poquito de intuición y de ensayo y error en ese proceso de diseño, también hay mucho conocimiento, mucho criterio y mucha experiencia a la hora de seleccionar y diseñar la arquitectura e hiper-parámetros de la red neuronal que luego entrenaremos.

En esa línea, por ejemplo, puede resultar interesante realizar una comparación entre el problema a que se enfrentan dos áreas muy importantes de la inteligencia artificial actual: el procesamiento del lenguaje natural (el texto, si se quiere) y el procesamiento de imágenes. 

Y en ese sentido, me ha resultado muy interesante, la sencilla identificación de diferencias entre los datos de tipo texto (texto de lenguaje natural) y los datos de imágenes que recoge David Foster en su libro 'Generative Deep Learning: Teaching Machines to Paint, Write, Compose and Play'. Foster identifica cuatro grandes diferencias entre datos de texto (lenguaje natural) e datos de imagen, a saber:


  • Los datos correspondientes a texto se agrupan en bloques (ya sean caracteres o palabras) mientras que en una imagen los puntos que lo componen se mueven en un espectro continuo de colores.

  • Los datos de tipo texto tienen una dimensión temporal (el orden de las palabras, por ejemplo, es fundamental para entender el significado) pero no tienen dimensión espacial. Por el contrario, las imágenes sí tiene dimensión espacial pero no temporal.

  • Los datos de tipo texto son muy sensibles a pequeños cambios y así, el cambio de unas pocas palabras en un texto pueden modificar completamente el sentido de ese texto. Incluso, el cambio de alguna letra puede cambiar completamente el significado de una palabra. Por el contrario, en datos de imágenes, el significado de la imagen no suele cambiar por alterar algún pixel.

  • Los datos de texto, de lenguaje, muestran una estructura basada en unas reglas gramaticales mientras que, en el caso de una imagen, no existen reglas acerca de cómo deben asignarse los valores de los píxeles.

Todas estas características de los datos de entrada con los que debe trabajar una red neuronal condicionan la arquitectura a utilizar y, aunque no hay fronteras estancas y absolutas, hace que, por ejemplo, las redes recurrentes (que tienen en cuenta la dimensión temporal) tengan amplio uso en procesamiento de lenguaje natural, y las redes de convolución en visión artificial.

Así que, hay mucho de ciencia e ingeniería y, aunque no existe un procedimiento cerrado acerca de cómo se debe diseñar una red neuronal, si existen criterios importantes que nacen del conocimiento de la materia prima de partida, los datos, y la naturaleza de los algoritmos específicos de cada red.


martes, 11 de mayo de 2021

Tres motivos por los que los modelos generativos pueden conducir a una inteligencia artificial más sofisticada

En los dos últimos posts ('Unas ideas muy preliminares sobre modelos generativos' y 'Modelos generativos, autocodificadores variacionales y el ingenio humano') he hablado un poco de los métodos generativos con alguna idea sencilla sobre cómo funciona y todo ello con base en lo aportado en el libro 'Generative Deep Learning: Teaching Machines to Paint, Write, Compose and Play' por David Foster.

En este artículo, y basado en la misma fuente, voy a dar un pequeño paso atrás para hacer una pregunta previa: ¿Cuál es el interés de los modelos generativos¿ ¿Por qué invertir en investigarlos y desarrollarlos?

La verdad es que, conseguir unos algoritmos capaces de crear o retocar imágenes y vídeos, textos y sonidos, e intuye que puede tener interés en muchísimos ámbitos y que no necesita demasiada justificación. ¿Y qué nos dice David Foster?

En realidad, a lo que Foster contesta en su obra no es tanto a por qué estudiar modelos generativos, qui quizá no ofrezca muchas dudas, sino por qué este tipo de algoritmos son la clave para conseguir una forma de inteligencia artificial más sofisticada. E identifica tres motivos:


  • Porque permite dar un paso más allá de la pura clasificación (habitual en soluciones basadas en aprendizaje supervisado) y avanzar en el entendimiento de cómo esos datos (imágenes, vídeos, música,...) fueron generados en su mismo origen.

  • Porque los avances en modelos generativos pueden ser nucleares en el desarrollo de otras áreas de la inteligencia artificial como el aprendizaje por refuerzo. En ese sentido menciona, a modo de ejemplo, la generación de contextos mediante modelos generativos para simulaciones que permitan entrenar, por ejemplo, a robots, sin la necesidad de contar con un entorno real.

  • Porque entiende que el desarrollo de una máquina capaz de exhibir una inteligencia comparable en alguna medida a la humana, debe incluir por la fuerza modelos generativos ya que las personas, de alguna forma, somos nosotros mismos modelos generativos.


Sea por esta o por otras razones, lo cierto es que el campo de los modelos generativos es tremendamente interesante desde un punto de vista técnico y es capaz de crear aplicaciones de la inteligencia artificial novedosas, sorprendentes y que parecen acercarnos, siquiera un poquito, siquiera un pasito, a máquinas con comportamientos más cercanos a una verdadera inteligencia.


viernes, 7 de mayo de 2021

Modelos generativos, autocodificadores variacionales y el ingenio humano

En el post anterior daba algunas ideas básicas de los modelos generativos de deep learning, unos modelos que permiten, por ejemplo, la creación de fotografías realistas de personas...que nunca han existido.

A pesar de que ya la inteligencia artificial nos había sorprendido con sus enormes capacidades en materia, por ejemplo, de tratamiento del lenguaje humano expresado por voz, la creación, aparentemente desde la nada, de una imagen, o un vídeo, o música, o texto, parece caer de lleno en la creatividad y la, digamos, 'verdadera inteligencia'. Y, a bote pronto, parece muy difícil imaginar cómo puede ser un algoritmo capaz de hacer eso.

Y, sin embargo, es posible, es lógico y, casi, casi, simple. Simple, por supuesto, en su idea base, que no en el desarrollo detallado de los algoritmos.

Alguna idea había ya en el artículo anterior pero en este post quiero ampliarlo y clarificarlo un poco más con el caso de los autocodificadores variacionales ('variational autoencoders') que encuentro muy bien descritos en el libro 'Generative Deep Learning: Teaching Machines to Paint, Write, Compose and Play' de David Foster.

Los autocodificadores variacionales son un tipo de redes neuronales compuestas de dos partes, casi dos redes neuronales por si mismas:

  • La red codificador: que toma un dato de entrada, típicamente una fotografía, es decir, un vector de muy alta dimensionalidad, y da como resultado un vector de mucha más baja dimensión que contiene, de alguna manera, ciertas características (bordes, ángulos, formas) que resumen y definen la imagen original. Un codificador que, en el caso de imágenes se suele basar en redes de convolución.

  • La red decodificador: que toma como entrada un vector de baja dimensionalidad, con las características que definen, según el ejemplo anterior, una fotografía. Y como salida, debe producir esa misma fotografía. Y un decodificador que, en el caso de imágenes, se suele basar en redes de convolución traspuestas.



Durante el entrenamiento, se busca que la diferencia (cuantificada mediante una función de pérdida) entre la fotografía de entrada y la fotografía de salida, sea lo menor posible. Si lo conseguimos, y lo cierto es que se consigue, tendremos un codificador capaz de captar las características esenciales de la fotografía y un decodificador capaz de construir una fotografía con base a esas características esenciales, una fotografía que, además, de alguna forma tiene el mismo estilo, la misma naturaleza que la original. Ese mismo estilo, esa misma naturaleza, expresado de forma matemática quiere decir que ambas fotografías, la de entrada y la de salida, responden a una misma distribución de probabilidad subyacente.

Vale, pero ¿y cómo se construye ahora una fotografía completamente nueva correspondiente a una persona, animal u objeto que no existe realmente y que la red no ha visto jamás?

Pues es casi sencillo: una vez que ya la red está entrenada, nos olvidamos del codificador y nos centramos en el decodificador. No tenemos más que ponerle como entrada a ese decodificador un vector de características, un vector que, ahora, podemos haber generado de manera absolutamente aleatoria.

Y... ¡voilá! el decodificador dará como resultado una fotografía realista, del mismos estilo y naturaleza (misma distribución de probabilidad subyacente) que las usadas en el entrenamiento... pero con un contenido completamente nuevo. 

¿No es ingenioso? ¿No es, si se me permite expresarlo así, 'una pasada'?

A mi, descubrir el mecanismo interno de los modelos generativos, me supone satisfacer una curiosidad intelectual y me ofrece un innegable interés técnico. Pero aparte de eso, me lleva a otro tipo de reflexión. 

Cuando vemos en funcionamiento los algoritmos de inteligencia artificial más sofisticados, más avanzados, nos quedamos con la sensación de estar ante una realidad casi autónoma y muy inteligente, pero lo cierto es que lo realmente inteligente no son esos algoritmos, sino lo que hay por detrás, la inteligencia humana de quien ideó y diseñó el algoritmo tan ingenioso como el comentado.

La inteligencia artificial, en ese sentido, si algo hace, es resaltar y enaltecer el propia inteligencia e ingenio humanos.


martes, 4 de mayo de 2021

Unas ideas muy preliminares sobre modelos generativos

Quizá una de las áreas más asombrosas de la inteligencia artificial actual sea el de las redes generativas, modelos matemáticos que permiten que, de una forma que parece casi mágica, un algoritmo pueda crear, por ejemplo, fotografías realistas, o vídeos, o textos, o música. a partir de 'la nada' en lo que parece como si hubiésemos alcanzado una suerte de creatividad en las máquinas.

Pero no es verdadera creatividad, son algoritmos.

Interesado en profundizar en el funcionamiento de este tipo de redes, he terminado recientemente la lectura del libro 'Generative Deep Learning: Teaching Machines to Paint, Write, Compose and Play' de David Foster, un magnífico libro, por cierto.

Al principio de esta obra, el autor nos define y explica las ideas básicas de los llamados modelos generativos y nos propone la siguiente definición.


A generative model describes how a dataset is generated in terms of a probabilistic model. By sampling from this model, we are able to generate new data.


La verdad es que así, 'soltada a bocajarro', no es una definición que se entienda demasiado bien, pero en las siguientes líneas y páginas sí que lo deja claro y utiliza para ello, inicialmente, el siguiente ejemplo:



supongamos que queremos un modelo capaz de generar fotografías de caballos de forma realista y disponemos, para entrenar ese modelo, de un conjunto de fotografías de caballos reales. Bueno, pues lo que hacemos es suponer que existe una distribución de probabilidad que explica por qué las imágenes del entrenamiento tienen unas altas probabilidades de ser caballos.  

A partir de esa hipótesis, los modelos generativos lo que hacen es, con base en los datos de entrenamiento, y ajustando parámetros durante un aprendizaje generalmente supervisado, deducir esa función de probabilidad. Y la función de probabilidad, una vez entrenada será, en el fondo, es el modelo generativo. Y lo es porque, una vez deducida, basta con muestrear esa distribución de probabilidad, elegir un valor cualquiera, para tener, en este caso, una fotografía realista de un caballo que, en realidad, no existe,

Parece magia, pero son algoritmos.

En futuros artículos contaré algo más de esta creatividad y esta magia que, en realidad, no son tales.