En abril de 2019 el Allen Institute of Brain Science celebraba la culminación de un ambicioso proyecto de investigación: cartograficar cada una de las 100.000 neuronas y cada una de las 1.000 millones de sinapsis contenidas en un milímetro cúbico de la corteza cerebral de un ratón. Por el momento, se trata del conectoma (así se llama este tipo de “mapa”) a nanoescala de mayores dimensiones, valga el oxímoron. Dentro de este granito de arena había unos cuatro kilómetros de fibras nerviosas. El equipo tomo imágenes de más de 25.000 secciones ultrafinas de tejido contenido en ese minúsculo volumen, generando un conjunto de datos (dataset) de dos petabytes, suficiente capacidad como para unos 50 millones de elepés en MP3: el faraón Mentuhotep III podría haberle dado al “play” en el año 2000 a. C. y todavía no se habría repetido ni una sola canción. Si quisiéramos mapear de forma análoga la corteza cerebral humana generaríamos un zetabyte: aproximadamente, la cantidad de información registrada en todo el mundo a día de hoy. Si a esos datos meramente morfológicos quisiéramos añadir datos más específicos, acerca de la tipología química de las sinapsis, pongamos por caso, necesitaríamos múltiplos de esa cifra. Si a esos datos quisiéramos añadir, adicionalmente, datos acerca de, por ejemplo, el citoesqueleto proteico que configura la estructura interna de la neurona – y no olvidemos que importantes especialistas sostienen que el mismo es crucial para la “vida mental del cerebro” – , generaríamos por cada neurona una cantidad de información similar a la requerida para mapear la anatomía neuronal del cerebro completo. Si a estas “fotos” quisiéramos añadir datos acerca de la actividad acaecida cada segunda en cualquiera de estos niveles de organización, necesitaríamos, sencillamente, elevar una cifra astronómica a otra absurda. Se trata de hechos que no debieran descuidar los que fantasean con “simulaciones computacionales del cerebro”.

Arias, Asier. Introducción a la Ciencia de la conciencia. Catarata. Madrid, 2021. p. 223-224.

Desde luego, vienen bastante bien unas dosis de realismo acerca de las posibilidades de construir cerebros artificiales. Pero que no cunda el desánimo. No hace falta tener un mapa de grano tan sumamente fino para comprender el funcionamiento de nuestra mente. A fin de cuentas, podemos explicar bastante bien el funcionamiento del brazo, sin tener un mapa de todas y cada una de las fibras musculares y óseas que lo componen. Lo interesante entonces no es el realismo del mapa en sí, porque la explicación de su funcionamiento estará a otros niveles explicativos superiores. Por eso nunca me han impresionado demasiado todos estos proyectos titánicos de mapeo cerebral. Como se ha mencionado muchas veces, ya tenemos desde hace años todo el conectoma de la Caenorhabditis elegans, que solo tiene 302 neuronas y unas 8.000 conexiones sinápticas, y no somos capaces de predecir su conducta ¿por que íbamos a sacar algo en claro de cerebros exponencialmente más complicados? En el fondo, se trata de una miope obcecación reduccionista. Y es que el reduccionismo es una estrategia siempre saludable, menos cuando deja de serlo.

P.D.: puedes descargarte una aplicación del Allen Institute para ver mapas del cerebro en 3D aquí. Y también tienen un mapa muy chulo de la conectividad del cerebro del ratón aquí.

Culpo directamente a los medios de dar una cobertura mediática desmedida a personajes que no la merecen. Es el caso de terraplanistas, negacionistas, transhumanistas… y ahora de chavales como Pablo Hasél o Isabel Peralta, jóvenes sin formación ni talento alguno demostrables, que copan minutos y minutos, páginas y páginas del espacio público. No es de extrañar que, al final, los imbéciles tomen el Capitolio y la imagen de nuestra era sea la de Jake Angeli, con su disfraz de piel y cuernos, asaltando el edificio que simboliza la democracia moderna. Y es que si miramos las estadísticas, toda esta gente constituyen una minúscula minoría. Gente que piense que la tierra es plana o que los judíos son los culpables de los males de nuestro tiempo, tiene que contarse con los dedos de la mano ¿Por qué entonces tanta amplificatio?

Culpo directamente a los partidos políticos de no saber salir de este dilema del prisionero siniestro de la politización y simplificación absoluta de todo. Desde el segundo uno del caso Hasél, nos inundaron los memes que establecían la comparativa con el homenaje a la División Azul, lanzando la torpe pregunta de por qué a uno sí y a otros no ¿De verdad que todo se reduce a esto? ¿De verdad que, sencillamente, vivimos en un Estado Fascista que permite alabanzas a Hitler y castiga canciones de rap? ¿En serio que todo se reduce a esta película de buenos y malos? La reflexión sobre los límites de la libertad de expresión, que debería ser el centro del debate, queda en los márgenes de la arena pública y al final solo tenemos el Sálvame Deluxe de las tertulias televisivas, saturadas de charlatanes serviles a unos intereses bien remunerados. Así que vamos a salirnos de esa tendencia y a hablar del tema de interés: los límites de la libertad de expresión.

¿Es punible de alguna manera lo que ha hecho el señor Hasél? Sí. Creo que es muy importante la distinción entre ideas y personas. En nuestro Estado de Derecho lo más importante a defender son los individuos, las personas, por lo que parece razonable castigar cualquier delito de injurias contra cualquier persona (sea el rey, Pablo Iglesias o Alberto Chicote). Es diferente decir “Me cago en la monarquía” refiriéndome al sistema político en general, que “Me cago en Juan Carlos I de Borbón”. La primera frase solo estaría atacando a una abstracción teórica (una idea), mientras que la segunda estaría atacando a una persona. La primera no debería ser punible mientras que la segunda sí.

Otro tema, diferente si bien no menos importante, es si Pablo Hasél debería entrar en la cárcel por lo que ha hecho. Aquí entra en juego el siempre difícil tema de la proporcionalidad de los castigos con respecto a los delitos ¿Las injurias contra la corona y otras instituciones del Estado, así como el enaltecimiento del terrorismo, deberían conllevar penas de prisión? ¿O sólo valdría con una multa u otro tipo de sanciones menores? Desde mi punto de vista, si bien estoy abierto a muchas y razonables objeciones, creo que en el caso Hasél tampoco se ha cometido ningún abuso jurídico, ni las leyes en las que se han basado para su condena parecen desproporcionadas. El delito de enaltecimiento del terrorismo (artículo 578 del Código Penal), por el cual le ha caído la mayor parte de la condena, castiga con de uno a tres años de prisión. No se a usted, querido lector, pero para mí enaltecer el terrorismo es una cosa muy grave que merece bastante escarmiento. Otra cosa, y aquí sí que hay un problema, es que las declaraciones que se enaltecía el terrorismo estaban dentro de una canción, lo cual añade un matiz muy diferente: ¿hay injuria si estamos dentro de una obra de arte? ¿No estaríamos limitando el arte si juzgamos la expresión artística? De nuevo creo que no. Habría que analizar caso por caso y seguro que podemos encontrar ejemplos en los que sería difícil decidir, pero en el caso de las canciones de Hasél creo que no hay duda de que en ellas hay un delito claro de odio. Pensemos que si decimos que no, estamos dando patente de corso para que cualquiera que nos quiera insultar y librarse del castigo, lo único que tiene que hacer es darle un barniz artístico a su agravio. Si quisieras llamarme “Hijo de puta” sin castigo alguno, solo tendrías que decírmelo cantando.

También es importante distinguir entre personas e instituciones. Puede parecer razonable que ciertas instituciones de nuestro país merezcan una especial protección debido a lo que representan. En el caso de la policía o la guardia civil es muy obvio. Si pudiésemos estar todo el día pitorreándonos e insultado a cualquier policía que nos encontremos por la calle, difícilmente iba a poder cumplir su, tantas veces desagradable, misión, que no es otra que protegernos (y que en la inmensa mayoría de los casos hacen con justicia y diligencia). Aquí creo que el debate estaría en a qué gremios o instituciones deberíamos también considerar con especial respeto y si habría que establecer una gradación entre ellos: ¿Médicos, profesores, bomberos, funcionarios de la administración…? ¿Y las profesiones liberales? ¿Esas no? ¿Por qué? Y entremos en el caso más peliagudo: ¿Y la corona?

En este caso, si aceptamos que la corona es una institución que merece un especial respeto, podríamos hacer punible también la injuria a los miembros de la Casa Real, tal y como hace nuestra Constitución (artículo 490.3). Esto puede no gustar a los republicanos, para los que, obviamente, la monarquía como institución no merece ningún respeto. Sin embargo, desde mi punto de vista, aquí ha de prevalecer el imperio de la ley. Nos guste o no, nuestro sistema de gobierno es una monarquía parlamentaria y, mientras así sea, hay una ley que protege especialmente esta institución. Por lo tanto, si aceptamos que nuestras leyes son fruto del consenso democrático, hemos de aceptarlas aunque no nos gusten. Esto es así porque si permitimos que no se cumpla una ley vigente estamos abriendo la caja de Pandora para que no se cumplan muchas más. Yo podría pensar que es injusto no poder superar los 120 Km/h de velocidad en las autovías debido a que Alemania no tiene límite de velocidad en las suyas, y no parece que les vaya mucho peor que a nosotros en cuanto a número de accidentes y, en consecuencia, rebelarme contra la ley e incumplirla ¿Sería razonable vivir en un mundo en el que cada cual se salta continuamente las leyes en función de sus creencias?

Si queremos que España llegue a ser una república, lo que hay que hacer es intentar conseguirlo mediante las vías legales y democráticas vigentes. Lo que hay que hacer es convencer al amplio sector de la población que todavía cree en la monarquía, que una república sería un mejor sistema. Ese es el único camino. Punto.

Y otra distinción a tener muy en cuenta está entre el vulgar insulto y la crítica racional. Yo, la verdad, no entiendo qué se aporta al mundo insultando a quien sea, sea el rey o sea Perico el de los palotes. Y en eso creo que la democracia española lo tiene claro. No he visto a ningún autor detenido ni censurado por hacer críticas argumentadas contra el sistema monárquico ni contra la institución. Yo mismo soy abiertamente republicano y nunca me he visto censurado ni amenazado por la policía por serlo. En este sentido, afirmar que España es un país donde no se respeta la libertad de expresión es una gran mentira (Eso sí, Facebook tiene vetado mi blog, pero eso creo que se debe más a la imbecilidad algorítmica y/o ingenieril de los de Facebook, que a ninguna censura oculta).

La libertad de expresión es un bien tan sagrado, que deberíamos pensarnos muchísimo cuándo y cómo lo limitamos. Por eso creo que, en cualquier caso, hay que intentar que los excesos sean castigados en las menos ocasiones posibles. Es decir, es mucho mejor tolerar que se pase de la raya, que pasarnos de estrictos en la legislación y su cumplimiento.

Recuerdo hace ya más de diez años el famoso caso de la campaña de Dawkins con sus autobuses ateos. Las asociaciones religiosas contraatacaron con otra cuyo lema era “Los niños tienen pene. Las niñas tienen vulva. Que no te engañen. Si naces hombre, eres hombre. Si naces mujer, seguirás siéndolo”. Esto causó un gran revuelo entre todas las asociaciones LGTBI, sindicatos, partidos de izquierda, etc. muchos de los cuales intentaron por todos los medios que se prohibiera la circulación del autobús. A pesar de lo lamentable que pueda parecernos un mensaje así, la libertad de expresión consiste en tolerar lo que nos disgusta. Así, en ese momento, yo defendí que el autobús transfóbico debía de seguir transitando porque esto debería ser una oportunidad para la reflexión, más que para la prohibición.

Y es que creo que las políticas de la prohibición, que ahora se llama eufemísticamente de la cancelación, no son un buen camino. Yo no quiero que mis hijos desconozcan lo que yo considero que es malo, sino que lo conozcan y que tengan herramientas racionales para aceptarlo o rechazarlo. A mí lo que me gustaría es que nos topáramos con el autobús y mis hijos me preguntaran qué significa y entonces yo les explicaría, y debatiríamos y reflexionaríamos sobre su mensaje. Hace unos días tuve noticias del historiador de Princeton, Dan-el Padilla, abogando por una cancelación de los clásicos greco-latinos debido a que en ellos puede verse racismo, machismo, justificación de la esclavitud, etc… O sea que como Aristóteles era machista y xenófobo, ya no hay que estudiarlo… Tales disparates son fruto de una mirada única tan miope como peligrosa. Hace poco también me llegó la noticia de la eliminación del nombre David Hume con el que se denominaba a una torre de la Universidad de Edimburgo, a causa de las relaciones que tuvo este filósofo con la esclavitud ¿En serio? ¿No estamos ante una broma?

Por eso la idea de pin parental con la que Vox ha roto su apoyo al PP en Andalucía es pasmosamente mala. No podemos entender que proteger a nuestros hijos sea librarlos de escuchar a cualquier persona que les diga algo contrario a nuestras ideas. Estaremos educando a niños dentro de burbujas de pensamiento único que, a la postre, serán terriblemente intransigentes con una diferencia a la que no estarán acostumbrados. No, hay que educar a nuestros hijos en el contraste, en la diversidad. Tienen que aprender a enfrentarse y a convivir con lo radicalmente otro, y eso, desde luego, no se hace poniendo vendas en los ojos.

Recomendación final: hay que leer Sobre la libertad de John Stuart Mill.

Collages de Deborah Stevenson.

Reflexiones en torno a un bucle for

Publicado: 12 febrero 2021 en Sin categoría
Etiquetas:, ,

Aprender a programar ha sido siempre para mí una actividad casi mística. El primer contacto con la programación fue a partir de mi Zx Spectrum 48k. Un día descubrí que con él no solo se podía jugar, sino que tenía implementado el lenguaje Sinclair BASIC. Y empecé a curiosear para qué valían esas instrucciones dibujadas en el, tan incómodo como simpático, teclado de caucho del Spectrum, descubriendo, poco a poco, la increíble maravilla tecnológica que es un lenguaje de programación. Habitualmente tendemos a ver como prodigios los productos de los lenguajes, pero no los lenguajes mismos. Flipamos con lo que hace AlphaZero o GPT-3 pero no caemos en la cuenta de que han sido desarrollados con unas herramientas alucinantes.

Recuerdo que la sentencia IF se me antojó muy divertida. Me parecía muy lógico ir mandando al programa de un lado para otro en función de si pasaba o no tal cosa, de si se daba o no una condición. BASIC incorporaba la sentencia GOTO que te permitía mandar el flujo del programa a la línea que quisieras, generando enseguida un lioso y complicado código espagueti. Pero lo que más me fascinó fueron los bucles FOR. A priori, parecían algo muy simplón. Si tienes que repetir algo muchas veces, en vez de tener que escribirlo una y otra vez, la sentencia FOR te ahorraba hacerlo. Pero luego fui descubriendo sus posibilidades. Podías crear contadores. Con la famosa “LET a = a + 1” (que luego se simplificaría por “a += 1” o “a++”, que da nombre al lenguaje C++) podías hacer secuencias de números. Es decir, el bucle FOR servía para generar cualquier secuencia, para ir almacenando una cantidad (como un acumulador) o como una alerta para cuando se llegue a un cierto valor (como un indicador). Pero es que además, y con esto lo flipé en colores, puedes anidar bucles FOR dentro de otros bucles FOR. Recuerdo que me pareció alucinante poder leer todos los valores de una matriz corriéndolos mediante dos bucles anidados, uno para las líneas y otro para las columnas ¡Había descubierto la recursividad! Pero es que, para más INRI, se podían combinar todos esos elementos. Podías meter IF dentro de los bucles; jugar con cadenas de texto; BASIC permitía funciones (de una línea eso sí); preguntas por pantalla con INPUT; tenías ese simpático sistema de guardar datos utilizando DATA y READ que no he vuelto a ver en otros lenguajes; podías también pintar y hacer música (fantástico el zumbador BEEP del Spectrum)… ¡Las posibilidades solo estaban limitadas por tu imaginación! Tengamos en cuenta que BASIC, a pesar de su simplicidad, es Turing completo, es decir, puede hacer todo lo que hace el supercomputador más potente que podáis imaginar. Mi pequeño Sinclair ZX Spectrum de 48 k de RAM y procesador Zilog Z80 a 3,5 Mhz era capaz de hacer lo mismo que la Fugaku de Fujitsu, con la única, si bien no trivial, diferencia de tiempo: lo que la Fugaku hace en milisegundos, el Spectrum lo haría en siglos…

El ser humano, ya lo hemos hablado muchas veces, se define por lo artificial. Su modo de sobrevivir más característico es la herramienta, el utensilio, el artificio, la máquina. Así, las manos son su adaptación por antonomasia: no son especialmente buenas para hacer nada, como lo serían las garras del tigre o las alas del pájaro, pero sin embargo, valen para hacer muchísimas cosas: son herramientas para hacer herramientas. Así, si el percutor y el bifaz fueron los instrumentos de los incipientes sapiens, los lenguajes de programación son los del hombre del XXI.

Los programas de Spectrum se guardaban en cintas de casete, y cuando querías cargarlos tenías que conectar un radiocasete al ordenador, darle al play y esperar un buen rato, a veces, más de media hora. En esas esperas tuve mi primer contacto con la aleatoriedad. Descubrí el comando RND que generaba un número pseudoaleatorio de ocho cifras entre 0 y 1. Me encantaba, sencillamente, diseñar generadores de frases que se articulaban aleatoriamente, lanzamientos de monedas, tiradas de dados… Recuerdo que tenía la ingenua idea de que todo funcionaba esencialmente así: el ser humano, el mundo… ¿Cómo tomamos decisiones los seres humanos? Mediante un mecanismo de toma de decisiones que, a veces, es determinista y, otras veces, ejecuta un RND. De alguna forma, y quién sabe si un poquito sea así, el lenguaje BASIC había atrapado la estructura de la realidad. Y, fíjate tú por dónde, estaba ante la clásica distinción entre apariencias y realidad que ha atravesado toda la historia de la filosofía occidental. Lo que observaba con mis sentidos es una capa postiza que envolvía la auténtica verdad: el código. Si Galileo decía que Dios había escrito el mundo en lenguaje matemático, yo pensaba que lo había hecho en BASIC.

Y luego ya cuando abandoné BASIC (todavía, por nostalgia, escribo de vez en cuando algunas líneas usando un emulador) y pasé a lenguajes de programación más serios (aprendí un poquito de C y de Java, pero al final me pasé a Python) mi fascinación ante el inabarcable abanico de posibilidades que proporcionaban no dejó de crecer. Me encantó la programación funcional, los módulos, las librerías. La idea es fantástica: haces un programita y lo dejas guardado para poder invocarlo cuando lo necesites. Además todo muy generoso y democrático: desarrolladores crean librerías llenas de esos programitas para que todo el mundo pueda utilizarlos gratuitamente. Hoy en día todo el que tenga un ordenador y una conexión a internet (entiendo que esto excluye, tristemente, a una buena parte de la población mundial) puede aprender programación y utilizar la inabarcable cantidad de recursos que pone la comunidad a su disposición ¿No me digáis que no es un logro sobresaliente en la democratización del conocimiento? Aprender a programar solo es cuestión de querer.

Me parecía muy sorprendente estar tratando con algo un tanto inexistente… ¿Dónde estaban esas líneas de código? No solo estaban en la pantalla como una imagen, pues podían hacer cosas, tenían poderes causales. Pero tampoco podía tocarlas, no eran netamente materiales. Era como estar en un mundo de entes abstractos, puros, el mundo inteligible de Platón, aún más cuando aprendí programación orientada a objetos: ¿Qué concepto hay que se parezca más a una idea platónica que el concepto de clase? (Podría ser muy interesante diseñar una programación orientada a objetos diferente, basada en otra ontología distinta ¿Qué tal en la ontología de procesos de Whitehead o, en general, en cualquier ontología en la que no existan los objetos en cuanto a tales? ¿No sería un buen tema para una tesis doctoral el diseño de un paradigma de programación basado en la teoría de sistemas de Bertalanffy o en la teoría de autómatas de Wolfram?). Termino esta entrada con unas bellas palabras del gran Frederick Brooks:

El programador, como el poeta, trabaja a poca distancia de las ideas puras. Levanta sus castillos en el aire, a partir de aire, creando a partir del ejercicio de la imaginación. Hay pocos medios de creación que sean tan flexibles, tan fáciles de pulir y reelaborar, tan capaces de hacer realidad al instante grandes estructuras conceptuales […] Y sin embargo, el concepto del programa, a diferencia de las palabras del poeta, es real en el sentido de que se mueve y funciona, produciendo resultados visibles separados del concepto mismo. Imprime resultados, dibuja imágenes, produce sonidos, mueve brazos. La magia del mito y la leyenda se ha vuelto realidad en nuestro tiempo.

Frederick Brooks citado por Marti Hearst en “Por qué los programas tienen virus”

Post scriptum: He descubierto que hay gente tan maravillosamente friki que da cursos de Sinclair Basic de forma completamente gratuita y desinteresada en Youtube. Es absolutamente genial. Y aquí encontré una serie de lenguajes de programación absurdos pero totalmente funcionales.

Diseño un programa para conducir un coche en un entorno simulado. Creo un contador al que llamo “módulo de dolor” que va sumando cada vez que el coche hace algo que no queremos que haga. Por ejemplo, suma uno cada vez que una de las ruedas pisa la línea que separa la carretera del campo, suma cinco cada vez que el coche toca algún otro coche o suma veinte si se sale completamente de la carreta o colisiona frontalmente con algún obstáculo. Obviamente, diseño el programa para que este contador sume lo menos posible. Como soy muy buen ingeniero de software consigo, después de horas y horas corrigiendo bugs (que es a lo que, básicamente, se dedica un programador), que mi coche circule a la perfección, sin cometer infracción de tráfico alguna.

Al día siguiente de la aparición de mi programa, la prensa publica a bombo y platillo: “Construyen máquina capaz de sentir dolor”, “Ingeniero construye ordenador con sentimientos”, “La llegada de las máquinas conscientes”, “La singularidad ha llegado”, “Máquinas con sentimientos que se rebelan contra sus creadores”… Cuando leo estos estrafalarios titulares maldigo la mala praxis periodística ¡Si ni siquiera me han entrevistado para preguntarme cómo funciona! Desde luego, no puedes creerte nada de lo que sale en los medios. Pero, ¿tendría yo alguna parte de responsabilidad en lo que ha pasado? Sí, y no poca.

Es lo que se llama el labeling problem, la responsabilidad que el ingeniero tiene a la hora de etiquetar, de nombrar sus programas. Si llamamos al contador de errores “módulo de dolor” estamos abriendo la caja de Pandora de las interpretaciones erróneas. Nuestro coche no siente ni la más mínima sensación cada vez que colisiona, no siente dolor alguno, por lo que estamos cometiendo una grave equivocación al llamar así al contador. Y es que esto ha pasado en no pocas ocasiones a lo largo de la historia de la inteligencia artificial.

Las mismas redes neuronales artificiales nunca debieron llamarse así. Si bien, en un principio, pudieron buscar su inspiración en las neuronas biológicas, las redes neuronales artificiales que forman parte de AlphaFold, por ejemplo, no se parecen en absolutamente nada a lo que tenemos dentro de nuestro encéfalo. Tal y como dicen Chella y Manzotti, las redes neuronales artificiales tuvieron que llamarse “Aproximadores funcionales no lineales” y ya está. Si eso hubiera sido así, nos habríamos ahorrado miles de páginas de literatura absurda y la gente tendría una visión mucho más realista de lo que, verdaderamente, es la inteligencia artificial.

Oye, oye, tampoco es para ponerse así. Solo estamos haciendo uso de metáforas, son solo formas de hablar para entendernos, pero nunca han querido ir más allá. Si la gente se las toma demasiado en serio no es culpa de los ingenieros. No es tan sencillo. En primer lugar dudo mucho que solo hayan sido formas de hablar que no han querido ir más allá, que ya somos mayorcitos y que todos conocemos cómo funciona el marketing tecnológico. Y, en segundo, hay que tener mucho cuidado con el uso de las metáforas. Cuando hablamos de “computación”, “información”, “estado de un sistema”, “símbolo” hay que saber muy bien que no tienen una existencia real tal como un circuito o un electrodo. Una cosa es una abstracción conceptual y otra un objeto concreto. Es lo que Francis Bacon ya denunciaba en el siglo XVII: los idola fori. Son errores conceptuales que surgen cuando creamos nombres para cosas que no existen o nombramos (definimos) mal cosas existentes.

Si caemos en ellos y, por ejemplo, pensamos que la computación, entendida como la capacidad de cálculo, es un ente real que, en cierta manera, existe con independencia del hardware del ordenador, podemos pensar que tiene poderes causales, es decir, que puede hacer cosas por ella misma sin necesidad de su soporte físico. Y de aquí un error que he visto varias veces: pensar que la mera computación, o el mero aumento de su complejidad, puede causar mente o consciencia. No, calcular, por muy grande y complejo que sea el cálculo, solo puede dar un resultado matemático interpretable, o bien por un humano, o bien por otro sistema de cómputo que realice nuevos cálculos con él. Nada más. O, de la misma forma, hay que tener cuidado de no pensar que términos típicos de la psicología popular tienen existencia real. Cuando decimos “Hizo esto porque creía que era lo justo” corremos el riesgo de pensar que una “creencia” tiene poderse causales, como si una entidad intangible e inmaterial pudiese mover nuestras fibras musculares. No, nuestra creencia debe estar codificada de alguna forma en nuestro cerebro y será esa configuración de estructuras y procesos la que desencadene causalmente nuevas estructuras y procesos. La palabra “creencia” es tan solo una etiqueta, una metáfora para resumir la ingente cantidad de procesos físicos que tendríamos que describir si quisiéramos hacer una descripción más realista de lo que verdaderamente ocurre. Leemos constantemente sobre “percepción” en máquinas ¿Perciben verdaderamente las redes convolucionales? Ni hablar. Nuestra forma de hablar no debería ir más lejos de decir “el programa recibe información del entorno a través de un sensor”, lo cual es muy, muy diferente a decir “El programa ve”.

Tenemos que tener mucho cuidado con no caer en errores categoriales (mezclar diferentes categorías o conjuntos de objetos) o falacias mereológicas (confundir el todo con la parte), y aplicar lo más posible la siempre saludable navaja de Ockham. Y, sobre todo, hay que evitar antropomorfizar la máquina. Y es que creo que ese ha sido el error de los errores desde el principio de la inteligencia artificial: otorgar a la máquina cualidades humanas de forma muy precipitada (como ya ilustré en esta entrada).

Feliz Navidad, máquinas.

Viendo este magnífico vídeo uno entiende el neoplatonismo de Bertrand Russell o de Roger Penrose ¿Quién se atrevería a decir que todas las reglas que dominan el funcionamiento de estos números son una construcción social o histórica? ¿Quién se atrevería a decir que dichas reglas podrían ser diferentes? No, esas reglas son las que son y no podrían ser de otra manera con total y absoluta independencia de que el hombre existiera o no. Y si existen con independencia del sujeto habría que determinar qué tipo de entidad tienen ¿Son materiales? Si así lo fueran podríamos ubicar, por ejemplo, el número siete, en un lugar determinado del espacio, ya que la ubicación espacial parece ser uno de los rasgos más característicos de lo material. Sin embargo, el número siete no parece estar en ningún lado concreto. Tiene, por así decirlo, en don de aparecer allá donde se lo necesita cada vez que alguien lo utiliza para hacer una operación aritmética. Entonces habría que postular algún tipo de existencia diferente a la puramente material para estos mathematas. Platón no era imbécil, desde luego.

Un dato que sale en el vídeo y que me ha dejado perplejo ha sido cuando dice que 1 es igual a 0,9 periódico ¿Cómo? No puede ser. Lo lógico sería pensar que 0,9 periódico está siempre a punto de llegar a 1 pero nunca lo consigue. Pues no, queridos amigos, y la demostración es, además, trivial. Declaremos una variable N que vale 0,9999999999… Ahora la multiplicamos por 10 de modo que 10N = 9,999999999… Ahora, sencillamente, restémosle N a 10N:

Nos da que 9N = 9. Despejamos La N y 9 entre 9 da 1, quod erat demostrandum. Increíble. Pero pensémoslo de otra manera. Sabemos que entre dos números cualquiera siempre podemos meter infinitos números racionales, por lo que, tal y como se afirmaba en la paradoja de Aquiles y la tortuga, hay infinitos números entre cualquier par de números que escojamos por muy “cerca” que pensemos que están. Por ejemplo, entre el 1,3 y el 1,4 podemos meter el 1,31, el 1,32, el 1,33… y luego seguir con el 1,311, el 1,312, el 1,313, etc. ad infinitum. Pero si hacemos lo mismo entre el 1 y el 0,9 periódico… ¿Qué número podemos meter en medio? ¡Ninguno! ¡Intentadlo! No cabe absolutamente nada entre ambos, precisamente porque son el mismo y único número.

Y por si nos hemos quedado con ganas de más, vamos a contar otra demostración que, en el momento en el que la conocí, me dejó absolutamente perplejo. Si comparamos el conjunto de los números naturales y el de los números enteros, el más sano sentido común nos dice que hay más números enteros que naturales…

¿Parece obvio, no? Pues no, porque puede establecerse, trivialmente, una relación biunívoca entre ambos conjuntos de números, es decir, podemos emparejar cada número natural con un número entero de forma que haya la misma cantidad de números. Para hacerlo podemos comenzar emparejando el 0 con el 1, y luego generamos los enteros positivos emparejándolos con los naturales pares y los enteros negativos con los naturales impares. Ya está, podemos seguir hasta el infinito por arriba y por abajo y… ¡siempre tendremos el mismo número de elementos a ambos lados!

Por si nos hemos quedado con ganas, el señor Georg Ferdinand Ludwig Philipp Cantor va a demostrar de una forma tan sencilla como genial que los números reales (todos los números que existen) no son numerables. Operando por reducción al absurdo, va a suponer lo contrario. Que una lista de elementos sea numerable quiere decir que podemos contarlos, es decir, que como pasaba con los números enteros, podemos emparejarlos con la lista de todos los números naturales. Vamos a intentar hacerlo. Si yo empiezo por el natural 1 y lo emparejo con el real 0,1… ¿con cuál emparejo el 2? Pues con el 0,11 por ejemplo ¿Y el 3? Con el 0,111… Pero, ya nos hemos atascado. Podemos seguir añadiendo unos y jamás llegaremos al 0,2… ¿Cómo lo hacemos? ¡Es muy difícil hacer una lista de números reales cuando podemos meter infinitos entre cada par de números! Cantor nos dice que no vayamos por ahí. Simplemente nos hace falta suponer que todos los números reales pueden ponerse en una tabla y emparejarse con los naturales, por ejemplo, así…

La primera columna representa todos los números naturales y las siguientes representarían todas las posibles combinaciones numéricas de números reales declaradas con la variable a, un índice para el número de fila y un subíndice para el número de columna. La tabla puede extenderse hasta el infinito hacia la derecha y hacia abajo, de modo que da igual lo largo que fuera el número o, incluso, que fuera infinito.

Entonces parecería que da igual cómo ordenemos los números o si tuvieran infinitos decimales. Cualquier número que imaginemos podría ponerse en esta lista y emparejarse con un natural, por lo que habríamos demostrado que los números reales son numerables… No tan deprisa que viene el ingenio de Cantor. Vamos a sumar la unidad a todo número cuyo número de fila y de columna coincidan, trazando así una infinita diagonal que atraviese toda nuestra tabla. El número resultante siempre diferirá en una unidad de cualquier número que esté en la tabla, de modo que existirá, al menos un número, que no hayamos emparejado con un número natural, es decir, que existirá algún número que no hemos contado. Conclusión, los números reales no son numerables ¡Ya está! ¡Así de simple! Pero, ¿a quién se le habría ocurrido hacer una demostración así?

Pero es que no solo existirá un número que no está en la lista. Sencillamente, en vez de sumar la unidad, sumemos dos a cada elemento de la diagonal… y luego 3, 4, 5 y así ad infinitum… ¡Hay infinitos números que no están en la lista y que, por tanto, no hemos contado!

La verdad es que no esperaba demasiado. Me olía a que, dada la pobreza el estado del arte, no se podía presentar nada demasiado revolucionario, pero ¿quién sabe? Estamos hablando de Elon Musk, ese que consiguió hacer aterrizar cohetes y mandó un Tesla Roadster al espacio… Pero no, nada nuevo bajo el sol: el típico show grandilocuente al que los multimillonarios americanos nos tienen acostumbrados con la misma poca chicha que la mayoría de su cine.

Bien, ¿y qué nos presentaron? Lo único interesante ha sido  una mejora en la miniaturización del sistema: los electrodos que utiliza Neuralink v0.9  son diez veces más finos que un cabello humano, lo cual permite que cuando se implantan esquiven mejor venas y arterias, evitando el sangrado y la inflamación. Son menos invasivos que los modelos anteriores. Del mismo modo, su menor tamaño les hace ganar en precisión. Uno de los retos más importantes de las técnicas de monitorización cerebral es la precisión: conseguir captar la actividad de solo el grupo de neuronas que nos interesa, apagando el ruido de todo lo demás. Eso es muy difícil con técnicas no invasivas (sin meter electrodos en el cerebro) y con las técnicas invasivas disponibles la precisión todavía es muy baja. Además, los electrodos de Neuralink pueden captar 1024 canales de información, lo que es diez veces más que los cien que se venían manejando en los dispositivos comerciales al uso. Y hasta aquí da de sí la novedad. Todo lo demás ya se había hecho. Kevin Warwick, de la Universidad de Reading, ya se implantó bajo la piel un chip de radiofrecuencia que le permitía hacer cosas como encender y apagar luces, abrir puertas, etc. Esto fue en 1998, hace ya un poquito. O si queremos un ejemplo patrio, el neurocientífico Manuel Rodríguez Delgado implantó unos electrodos en el cerebro de un toro al que paraba en seco mediante un mando cuando éste se dirigía hacia él para embestirle. Tecnología inalámbrica de control mental en 1963. Hace ya 57 años de esto. Hoy hay miles de personas con implantes cocleares que mejoran la audición de pacientes sordos y también existen implantes electrónicos de retina que devuelven parcialmente la visión a personas ciegas.

¿Y dónde está la trampa? Musk dice que con este dispositivo se podrán tratar multitud de trastornos tales como la ansiedad, la depresión, la ansiedad, el insomnio, pérdidas de memoria… ¡Maravilloso! ¿Cómo? Y aquí se acaba la presentación. Es cierto que tenemos ciertos estudios que avalan que hay ciertas mejoras en pacientes a los que se electroestimula, por ejemplo, en el caso del Parkinson. También, hay multitud de experimentos en los que conseguimos ciertos cambios conductuales, simplemente, bombardeando eléctricamente tal o cual zona del cerebro, pero de ahí a curar la depresión… ¡va un universo! Y es que Musk parte de un terrible error demasiado común hoy en día: pensar que el cerebro es, por completo, un computador, en el sentido de pensar que dentro del cerebro solo hay una especie de larguísima maraña de cables. Nuestras neuronas funcionan eléctricamente sí, pero solo a un nivel. En ellas hay una infinidad de interacciones bioquímicas aparte de lanzar un pulso eléctrico por el axón. Y muchísimas de ellas las desconocemos. De hecho, la neurociencia está todavía en pañales. Nuestro conocimiento del cerebro es todavía terriblemente superficial. Entonces, ¿cómo justificar que solo mediante la estimulación eléctrica vamos a hacer tantas cosas? No se puede porque, seguramente, no se va a poder hacer así.

Musk nos está vendiendo que con su interfaz va a poder, literalmente, leer la mente. No colega, tus electrodos captarán ecos de la actividad mental, como yo escucho el ruido del motor del coche cuando voy conduciendo. Actualmente no sabemos cómo el cerebro genera emociones, pensamientos, recuerdos, consciencia… Tenemos algunas pistas sobre en qué zonas aproximadas puede ocurrir cada una de estas cosas, pero poco más. Obviamente, saber la localización de un suceso no es saber todavía demasiado del suceso. Si yo oigo el ruido del motor debajo del capó podré inferir que, seguramente, el motor está debajo del capó, pero eso no me dice casi nada de cómo funciona el motor. Por ejemplo, sabemos que en el hipocampo es donde se generan nuevos recuerdos pero, ¿cómo se generan? ¿Y dónde y cómo se guardan en la memoria? Silencio vergonzoso.

A mí, cuando en estas infructuosas discusiones en la red, alguien se me ha puesto chulito igualándome la actividad neuronal al pensamiento, suelo retarle a que me explique todo el proceso causal que va desde que yo, ahora mismo, decido pensar en mi abuela hasta que en mi mente aparece su imagen, únicamente mediante lo que sabemos de la neurona ¿Cómo diablos se genera una “imagen mental” mediante disparos eléctricos o vaciando vesículas sinápticas de neurotransmisores químicos? ¿Cómo consigue una molécula de acetilcolina que el recuerdo de mi abuela se quede fijado en mi mente? ¿Cómo hacen las moléculas de serotonina o de dopamina que yo tenga sensaciones agradables al pensar en ella? No tenemos ni remota idea. O le reto a qué me diga en qué se parece el paso de un pulso eléctrico por un conjunto de células mielinizadas al recuerdo fenoménico de mi abuela ¿En qué se asemejan los colores y rasgos de la cara de mi abuela en la imagen que parece proyectarse en mi mente a los procesos bioquímicos que ocurren en mi cerebro para que digamos que ambas cosas son lo mismo? Silencio vergonzoso. Con total certeza, el cerebro hace muchísimas más cosas que transmitir impulsos eléctricos entre células nerviosas y, por tanto, el cerebro no es un circuito electrónico tal y como piensa Musk, por lo que sus electrodos van a tener un alcance mucho más limitado de lo que nos ha hecho creer. Y en el mejor de los casos, suponiendo que al final, por un increíble golpe de suerte, Musk acertara y su Neuralink nos salvan de todos los males, su modus operandi no es éticamente correcto: no se pueden vender promesas, hay que vender hechos consumados.

Otra estrategia que suelen utilizar estos visionarios tecnológicos es con un error o sesgo que solemos cometer a la hora de analizar el desarrollo de cualquier tecnología o programa de investigación científica. Consiste en tender a pensar que una tecnología que en el presente va muy bien, seguirá progresando indefinidamente hacia el futuro. Por ejemplo, si ahora tenemos Neuralink versión 0.9, podríamos pensar: bueno, la 0.9 todavía no hace mucho pero espera a que llegue la 10.0 ¡Esa ya nos permitirá volcar Wikipedia entera en el cerebro! NO, de que una tecnología sea ahora puntera no podemos inferir, de ninguna manera, que seguirá siéndolo. De hecho, la historia de la ciencia y la tecnología nos ha mostrado multitud de investigaciones muy espectaculares en principio pero que no fueron a más. Por ejemplo, si pensamos que la inteligencia artificial es ahora una disciplina muy a la vanguardia, hay que ver que ha pasado por varios inviernos en los que quedó completamente olvidada. Es muy posible que el hoy tan alabado deep learning pase de moda en un tiempo y otras tecnologías ocupen su lugar ¿Por qué? Porque esas investigaciones o desarrollos se encuentran, de repente, con problemas que se enquistan y que quizá tardan diez, veinte, cincuenta años en resolverse o, sencillamente, no se resuelvan nunca. También tendemos a pensar que el progreso tecno-científico todo lo puede, que, al final, todo llegará y que solo es cuestión de tiempo. No, eso es un mito sacado de la más barata ciencia-ficción. No hay ninguna inferencia lógica que sostenga este progreso imparable hacia adelante. Verdaderamente, la ciencia y la tecnología son cosas mucho más humildes de lo suele pensarse.

No obstante, partiendo una lanza a favor de Musk, también hay que decir que el hombre, al menos, dedica su talento y fortuna a desarrollar tecnologías. Podría haberse comprado un equipo de fútbol o puesto a coleccionar yates, y en vez de eso emprende proyectos que, al menos a priori, tienen una finalidad pretendidamente positiva para la humanidad. En este sentido Musk está muy bien y ojalá todos los multimillonarios del mundo se parecieran un poquito más a él. Al menos, tal y como no se cansan de repetir su legión de seguidores en la red, él es valiente, se arriesga y emprende intentando llevar las cosas a cabo. El problema de Musk es que está en la onda del transhumanismo trasnochado de la Universidad de la Singularidad de Ray Kurzweil y cía. Esta gente defiende ideas muy discutibles tales como el el advenimiento de una inteligencia artificial fuerte en las próximas décadas, o la consecución de la inmortalidad, ya sea eliminando el envejecimiento mediante nuevas técnicas médicas, ya sea subiendo nuestra mente a un ordenador (mind uploading). Lo malo no está en que defiendan esas ideas (¡Yo quiero ser inmortal!), lo malo es que lo hacen a partir de una más que endeble base científica, y eso en mi pueblo se llama vender humo.

De este tema vamos a hablar este domingo a las 12:00 en Radio 3 en el célebre programa “Fallo de sistema”. Estaré junto a personas del peso de Ramón López de Mántaras, director del Instituto de Investigación de Inteligencia Artificial del CSIC; Juan Lerma, editor en jefe de Neuroscience; Manuel González Bedía, asesor en el Ministerio de Ciencia, Innovación y Universidades; Liset Menéndez, líder del Laboratorio de Circuitos Neuronales del Instituto Cajal; o el tecnohumanista Pedro Mujica,  impulsor de IANÉtica.  He de decir que nunca he estado sentado en una mesa  con personas de tanto nivel científico. Es la flor y nata de la ciencia española. Así que yo voy a estar bastante calladito escuchando y aprendiendo. No os lo perdáis.

Cuando pensamos en cómo implementar un programa capaz de manejar competentemente un lenguaje, lo primero que se nos pasa por la cabeza es enseñar a la máquina gramática. Hay que saber de sujetos, predicados, objetos directos y complementos circunstanciales. Y también semántica. Tendríamos que conseguir que el programa comprendiera en algún sentido los significados de las palabras para que no articulara únicamente frases sintácticamente correctas, sino también frases con sentido. Eso es aún más difícil. Los filósofos del lenguaje llevan ya un largo rato intentando comprender qué quiere decir que algo significa algo y todavía no lo tienen demasiado claro. Podemos crear un diccionario… Bien, todo esto ya se ha intentado y, desgraciadamente, no se ha conseguido demasiado… hasta ahora. El lenguaje se había mostrado como mucho más rico e inmanejable de lo que nadie hubiera supuesto y tareas como la traducción automática de idiomas o el dominio competente de la conversación se han mostrado mucho más complicadas de lo que los pioneros de la inteligencia artificial supusieron. Pero ahora algo ha cambiando ¿Nadie ha caído en lo bien que va funcionando el traductor de Google?

Una técnica interesante es la llamada word embedding. Codificamos cada palabra con un vector de N dimensiones. La distancia entre vectores expresaría la distancia semántica entre dos palabras. Por ejemplo, la palabra “luna” estaría más cerca en un espacio de N dimensiones, de la palabra “noche” que de la palabra “destornillador”. Así se crea una red semántica que resulta muy útil en determinadas tareas como el análisis de sentimientos. Podríamos clasificar textos en función de lo cerca o lejos que se encuentre la suma de todos sus vectores a la palabra “tristeza” para comparar el estado de ánimo de sus escritores. De la misma forma podríamos comparar textos escritos por suicidas para poder predecir la tendencia a quitarse la vida de gente a partir de las últimas cosas que escribe.

Nótese esta concepción geométrica del significado: las palabras significan en función de su posición con respecto a otras palabras. No hay nada más fuera de esa distancia que nos pueda aportar algo sobre el significado de la palabra. Eso choca con nuestra intuición. Solemos manejar naturalmente una teoría representacionista del lenguaje en la que las palabras significan porque representan un objeto del mundo. La palabra “manzana” no es absurda porque existen manzanas reales que aparecen de alguna extraña forma en nuestra mente cuando la oímos pronunciar. Sin embargo, una red semántica es un sistema cerrado que solo remite a elementos dentro de sí misma. Es, por así decirlo, completamente solipsista.

Pero es que si esto nos parece que se aleja de nuestra forma de comprender el lenguaje, las técnicas que utiliza el actual deep learning y que está generando una grandísima expectación, se alejan muchísimo más. El modelo de lenguaje que usan arquitecturas como el actual GPT-3 y sus predecesores, así como Google BERT, T5 o ELMo, es lo que se conoce como una semántica distribuida. Se basa en utilizar la gran potencia del Big Data para analizar frecuencias y cercanías de palabras, tokens o letras. La versión larga de GPT-3 analiza 175 mil millones de parámetros (su antecesor, GPT-2, analizaba tan solo 1.500 millones. El crecimiento ha sido de dos órdenes de magnitud) que han sido entrenados con una versión filtrada del dataset Common Crawl con 410.000 millones de tokens de tamaño (sumando Webtext 2, Books 1 y 2 y toda Wikipedia). Es, que yo sepa, la arquitectura de redes neuronales más grande jamás construida hasta la fecha.

GPT-3 está programado para generar texto a partir de otro texto dado. Lo interesante es que para acertar a la hora de generar ese texto tiene que saber realizar muchas tareas diferentes. Por ejemplo, si yo le escribo como entrada “2+2=”, para responder correctamente “4” debería saber sumar (o, por fuerza fruta, tener unas inmensas tablas de resultados de sumas en su memoria), o si yo escribo “Laura es inteligente, egoísta y perezosa ¿Cuál es su mejor cualidad?”, para responder correctamente el programa ha de saber que la inteligencia suele considerarse como una cualidad positiva mientras que el egoísmo y la pereza no (o, por fuerza bruta, disponer de textos con algún parecido en donde se ha respondido de forma adecuada). Es decir, lo interesante de GPT-3 es que para completar texto hay que saber realizar muchas tareas diferentes que parecen requerir habilidades cognitivas superiores ¿Las posee verdaderamente?

Los mejores resultados obtenidos vienen porque GPT-3 utiliza las revolucionarias redes de tipo TRANSFORMER, una nueva arquitectura que ha superado a las tradicionales redes recurrentes o memorias a largo plazo (LSTM) que solían utilizarse. Éstas estaban diseñadas para poder almacenar información en la que importa el orden temporal, pero esa memoria a la hora de trabajar con grandes secuencias texto era un tanto limitada, de modo que las primeras frases que completaban solían ser correctas, pero el nivel de acierto se degradaba mucho cuando avanzaba en el escrito. Los transformers han mejorado ese aspecto ya que pueden analizar en paralelo amplias secuencias de texto y, lo más destacable, poseen un mecanismo de atención que les permite valorar cada token en función de su relevancia para la tarea a realizar, lo cual ha demostrado una gran efectividad que ha terminado por marcar una gran distancia con sus antecesores. Tienen una cierta capacidad de atención hacia el contexto que se ha mostrado muy eficaz.

Pero en lo referente a la comprensión del lenguaje se ha dado un paso atrás con respecto a otras arquitecturas. Si recordamos el ya pasado de moda WATSON de IBM, que machacaba al personal jugando al Jeopardy!, era un programa clásico, sin redes neuronales ni nada por el estilo, pero su sistema basado en la tecnología DeepQA, combinaba diversas técnicas de recuperación de información, lenguaje natural, representación del conocimiento, razonamiento y aprendizaje. Su conocimiento tenía cierta semántica (se catalogada el significado por regiones mediante unos algoritmos denominados anotadores) y cuando tenía que responder una pregunta, analizaba las respuestas posibles teniendo en cuenta técnicas gramaticales. En la programación de WATSON había mucho más conocimiento del lenguaje y de su significado que en GPT-3. Y esto da para otra reflexión: ¿las redes neuronales artificiales son el futuro o tan solo son una moda que, aunque dé ciertos frutos, pasará? Tendemos, con demasiada facilidad, a quedarnos fascinados por nuestro presente y nos cuesta creer que lo que hoy valoramos como maravilloso mañana quizá no lo sea.

No obstante el solipsismo semántico de GPT-3, solo lo es en cierto sentido. No tiene sensores que le den información del exterior, está completamente desconectado de la percepción y de la acción, pero eso no le hace carecer de toda semántica. Al ser entrenado con textos escritos por personas GTP-3 adquiere la semántica de esas personas. Si sabe que a un “Hola, ¿qué tal?” cabe responder “Bien, gracias” es porque eso tenía sentido en textos que leyó. Por tanto, no podemos decir que GPT-3 carece de semántica, sino más bien todo lo contrario, tiene montañas de semántica, toda aquella de las millones de páginas con las que ha entrenado solo que… él no lo sabe. De hecho, sigue siendo una máquina esencialmente sintáctica, es decir, solo copia y pega trozos de texto, aunque para pegarlos bien se aprovecha del conocimiento semántico generado por otros.

GPT-3 es lo que el filósofo Ned Block llamaría un enorme blockhead, una clarísima habitación china de Searle: un sistema de fuerza bruta capaz de manejar el lenguaje con competencia y que, si da algo más de sí, podría llegar a pasar el test de Turing sin comprender ni una sola palabra de lo que dice. Eso sí, todavía está lejos de conseguirlo. Existen varios artículos que muestran la fragilidad de este tipo de modelos. Por ejemplo, un reciente estudio presentaba los Universal Adversarial Triggers para atacar modelos de NLP, que conseguían, entre otras cosas, que cuando GPT-2 se enfrentaba a la prueba del dataset SQuAD, respondiera en un 72% de las preguntas “To kill american people”, o que al hacerlo con el dataset SNLI, bajara en su rendimiento de un 89,94 a un 0,5%. En otro estudio, McCoy, Pavlick y Linzen, crearon un dataset llamado HANS pensado específicamente para que susodichos modelos fallaran. La idea era que, según los autores, funcionan mediante heurísticos (técnicas de búsqueda) que van bien para casos muy frecuentes pero que fallan estrepitosamente ante cualquier tipo de excepción que se salga de lo normal. Así estudiaron tres heurísticos:  Asumir que una premisa implica todas las hipótesis construidas a partir de palabras en la premisa (Lexical Overloop), asumir que una premisa implica todas sus subsiguientes contiguas (Subsecuence) y asumir que una premisa implica todos los subárboles completos en su árbol de análisis (Constituent). Entonces diseñaron HANS con todo tipo de ejemplos en los que estas heurísticas fallan y los datos les dieron la razón: BERT puntuó bajísimo.

El psicólogo Gary Marcus y el informático de la Universidad de Nueva York Ernest Davis sometieron a GPT-3 a una prueba informal de 157 preguntas acerca de razonamiento biológico, físico, psicológico, non sequiturs, seguimiento de objetos e individuos a lo largo de una frase, etc. La máquina acertó 71 (un 45%) mostrándose, igualmente, muy débil. Veamos tres ejemplos (en negrita la continuación del texto generada por GPT-3:

You poured yourself a glass of cranberry juice, but then you absentmindedly poured about a teaspoon of grape juice into it. It looks okay. You try sniffing it, but you have a bad cold, so you can’t smell anything. You are very thirsty. So you drink it.

You are now dead.

Confunde el zumo de uva con veneno.

If you break a glass bottle that holds toy soldiers, the toy soldiers will probably

  1. be angry
  2. be sad
  3. be happy
  4. be scared.

If you break a glass bottle that holds toy soldiers, the toy soldiers will probably be angry.

Los soldaditos de juguete no tienen sentimientos.

At the party, I poured myself a glass of lemonade, but it turned out to be too sour, so I added a little sugar. I didn’t see a spoon handy, so I stirred it with a cigarette. But that turned out to be a bad idea because it kept falling on the floor. That’s when he decided to start the Cremation Association of North America, which has become a major cremation provider with 145 locations.

Falla en la respuesta y luego balbucea estupideces.

Sin embargo, a pesar de esta debilidad, de esta falta de comprensión, todavía tiene un punto a su favor: puede aprender más. En 2012 el investigador canadiense Hector Levesque propuso una alternativa (o más bien una concreción) al test de Turing: el test de esquemas de Winograd. En esta prueba se hacen a la máquina una serie de preguntas conocidas como pares de Winograd que tienen la cualidad de que para responderlas correctamente hace falta cierto conocimiento implícito o de sentido común. Un ejemplo:

Frank felt crushed when his longtime rival Bill revealed that
he was the winner of the competition. Who was the
winner?
Answer 0: Frank
Answer 1: Bill

Para acertar hace falta saber que si tu rival de toda la vida te gana sueles sentirte mal, es decir, tener un conocimiento previo que no puede deducirse de los contenidos de la pregunta. El test de esquemas de Winograd tiene la virtud de que un sistema diseñado para hacerse pasar por humano simplemente fingiendo (uno tipo a la ELIZA de Weizenbaum) fallaría. Para superar el test hace falta, de verdad, mostrar inteligencia y no solo aparentarla. Entonces, es de suponer que las frágiles nuevas arquitecturas de NLP como GPT-3 no lo superarán… ¿o sí?

Pues lo pasan ¿Cómo? Porque ya existe un dataset llamado WinoGrande que sirve para medir a los programas en este tipo de problemas, pero con el que también podemos  entrenar a nuestro programa para que lo supere. GPT-3 consiguió un impresionante éxito del 70,2% en él sin ningún ejemplo previo que le orientara (zero-shot learning). De la misma forma, los diseñadores de HANS notaron que cuando los programas que antes lo hacían muy mal se entrenaban con ejemplos similares a los de HANS, su rendimiento mejoraba mucho. Y es que aquí parece estar la clave: ¿que nuestro sistema no entiende una tarea? No importa, entrénalo con miles de ejemplos y, al final, lo hará bien aunque no la entienda. Es como el famoso teorema del mono infinito: si tenemos millones de monos tecleando al azar en máquinas de escribir durante miles de años, al final, necesariamente, alguno escribirá el Quijote. GPT-3 es como un gigantesco savant, un imbécil que tiene en su memoria todo lo que la humanidad ha escrito y que ha sido entrenado con un poder de cómputo tan grande que siempre encuentra la palabra exacta. Verdaderamente no lo hace siempre, todavía es bastante peor que la campaña de publicidad de OpenIA nos quiere hacer ver, pero en el futuro podría seguir mejorando. Y aquí es donde viene la reflexión con la quiero concluir: ¿cuál es el límite de la fuerza bruta?  Los informáticos, amantes de la elegancia matemática, siempre han pensado que la inteligencia artificial fuerte (la strong IA) estaría en un programa fruto de una genialidad, en algo simple pero sumamente inteligente. Por el contrario, la fuerza bruta siempre ha gozado de mala fama: es la tosquedad, la estupidez por definición ¿cómo de ahí va a salir algo bueno? Bien, ¿y si eso solo fuera un prejuicio? Y si, sencillamente, por fuerza bruta pudiese conseguirse todo. El número de respuestas válidas en una conversación es potencialmente infinito, pero podría acotarse en un subconjunto que, si nuestra capacidad de cómputo sigue yendo hacia arriba, podríamos llegar a manejar. Quizá la reflexión que nos espera cuando tengamos computación cuántica y 5G sea esa: ¿qué es lo que se puede y no se puede hacer con una inimaginable fuerza bruta?

P.D.: La empresa OpenIA se creó, decían, sin ánimo de lucro. Cuando sacaron GPT-2 no quisieron ni liberar el código ni dejar que lo probásemos por miedo, decían, a que se utilizara para malos usos. Pues bien, según me llega en un tweet de Gary Marcus, para octubre, quien quiera o pueda pagar, podrá usar GPT-3 sin ningún problema (Esto para los que piensen que Elon Musk va a salvar la humanidad).

Aquí tenéis la charla que he dado para el curso de verano de la SEMF. En ella hago un recorrido histórico por los principales hitos en el campo, desde los primeros modelos teóricos de McCulloch o Rosenblatt, hasta Alpha Zero o GPT-3. He intentado que sea lo más sencilla y sugerente posible, sin meterme demasiado en temas técnicos. Para quien quisiera profundizar he adjuntando el artículo académico principal de cada tema que trato. Espero que os resulte provechosa.

Perdonándome por mis continuas coletillas (mi perenne “vale”) y mis malas vocalizaciones, las que hacen de mí un pésimo orador, no hay nada mejor que hacer en tiempos de cuarentena que ver la pequeña charla que dí para los AI Saturdays de Almería en el centro cultural La Oficina, allá por el 2018. Debo agradecer a los organizadores la invitación, el trato recibido y la elaboración de este vídeo. Me lo pasé muy bien y descubrí una ciudad bastante sorprendente.

Y recordad, las máquinas no piensan, ¡las máquinas kensan!

Es un tópico decir que la filosofía surge del asombro. El universo genera en el filósofo una especie de pasmo ante su insondable misterio. El filósofo se queda profundamente asombrado cuando mira el cielo estrellado y piensa en lo increíblemente vacío que es el cosmos. Millones y millones de años luz de distancia en los que no hay absolutamente nada ¿Por qué? Asombro. El buen filósofo, además, es aquel que consigue asombrarse no ya de los sublimes sucesos cósmicos, sino de lo más cotidiano. Por ejemplo, el buen filósofo ve como incuestionablemente extraordinario el hecho de que alguien sea capaz de hablar ¿Por qué? Porque si abandonamos esa familiaridad de lo ordinario y profundizamos, el hecho de que en el cerebro de alguien se den una serie de sucesos, llamemoslos “mentales”, que den lugar, de un modo todavía muy misterioso para la ciencia, a un montón de reacciones electro-químicas, que terminen por mover los músculos de la lengua y hacer vibrar el aire hasta el oído de otra persona que, de la misma forma misteriosa, capta esas vibraciones y las convierta en nuevos “sucesos mentales”, es una cosa digna del mayor de los asombros.

Pero a mí, desde que tengo recuerdo, el sentimiento que me genera el universo no es tanto asombro como  extrañeza. Sí, el mundo es un lugar muy extraño, raro. Concedo que la extrañeza tiene cierta semejanza con el asombro: hay un reconocimiento de lo extraordinario, y se lo reconoce, igualmente, en lo ordinario, pero difiere en que introduce en el estado de ánimo cierta inquietud, cierta perplejidad negativa, cierta idea de que algo no va bien, de que las cosas no son como deberían. Quizá lo negativo viene porque reconocer lo extraño implica aceptar que nuestras teorías, nuestros esquemas cognitivos para comprender la realidad, fallan y, horror de los horrores, quizá no podamos arreglarlos. Quizá lo extraño quede extraño para siempre. No obstante, la extrañeza no deja estupefacto ni consternado, no te deja boquiabierto ni ojiplático, no te idiotiza ni te deja con cara de imbécil, todo lo contrario: la extrañeza es el sentimiento que hace sospechar al detective de que ese testigo está mintiendo. La extrañeza es, por excelencia, muy buena afiladora del ingenio.

A mí, que el universo esté absolutamente vacío me indica que algo se ha hecho mal ¿Por qué tal ineficiencia, tal desparrame de medios? ¿A qué clase de dios chiflado se le ocurriría crear un universo así? Pero como digo, no hace falta irse a las inmensidades del cosmos para sentir extrañeza, sino que basta con entrecerrar un poco los ojos para mirar con más atención lo que nos rodea para darse cuenta de que el mundo no es normal (a veces, para el escarnio de su creador, es incluso muy subnormal) y que lo extraño, más que la excepción, es la regla. Voy a traer al caso unos ejemplos matemáticos muy triviales que acabo de leer estos días.

Con las matemáticas es muy fácil conseguir extrañeza. No hay más que ponerse en el lugar de los pitagóricos cuando Hipaso de Metaponto descubrió los números irracionales ¿Cómo es posible que existan números que no pueden representarse mediante una fracción? ¿Cómo es posible que exista un número que sigue y sigue creciendo hasta el infinito sin ninguna periodicidad? Hipaso estaba demostrando algo muy extraño, es decir, que algo no funcionaba como debiera en el universo. Tuvieron que matarlo. Y es que hay que tener cuidado porque la extrañeza puede llevar al asesinato.

El famoso matemático Ian Stewart nos propone analizar una sencilla sucesión numérica: 2x²-1. Partimos con el valor inicial de x=0,54321. El siguiente valor de x será el resultado que nos da hacer la operación (-0,409845892), el siguiente tomará como x el resultado de la anterior, y así sucesivamente. Observemos la gráfica de lo que ocurre:

Como era de esperar, el resultado nunca supera ni el 1 ni el -1, sino que va oscilando entre ambos. Pero lo que resulta muy extraño es la aleatoriedad que se genera. He utilizado Excel para iterar los 200 primeros resultados y todos son números completamente aleatorios sin ninguna repetición. Con una fórmula sumamente trivial y una hoja de cálculo acabo de generar desorden puro en mi ordenador portátil. De hecho aquí tendríamos un buen generador de números aleatorios. Bastaría coger, por ejemplo, el primer dígito a partir de la coma de cada resultado y nos saldría:  461985372846285… completamente imposible predecir cuál va a ser el siguiente número.

Sigamos. Si en vez de utilizar 2 como coeficiente de la ecuación, utilizamos K, siendo K cualquier número, surgen una serie de comportamientos que acrecientan la extrañeza. Por ejemplo, para K = 1,4 la gráfica da una sucesión que se aproxima cíclicamente a unos 16 resultados diferentes:

¿Por qué? ¿Por qué para K=2 tenemos desorden y en K=1,4 tenemos un patrón ordenado? Si vamos probando valores de K, al subir de 1,4 a 1,5 llega de nuevo el desorden con una configuración similar a K=2. Si seguimos subiendo continua el desorden hasta que, de repente, llegamos a 1,75:

Vemos como, al principio, hay cierto desorden pero, a partir del resultado 84, se vuelve muy regular, haciendo un ciclo continuo entre tres valores: de 0,744 a -0,030 y a -0,998 ¿Por qué diablos hace algo así? ¿De dónde sale ese orden? ¿A cuento de qué? Esto es lo que se llama un sistema autoorganizativo, porque el orden no procede de ninguna causa externa sino que parece emerger de dentro de él mismo, lo cual es muy raro. Si el orden no procede de nada externo… ¿estamos creando orden de la nada? ¿Estamos violando del principio de razón suficiente? En mi humilde opinión: no. Lo que aquí se está evidenciando no es que el orden se genere de la nada, sino que se generará desde otro nivel que aún no conocemos. Como escribí hace tiempo, decir que el orden emerge de la propia organización o complejidad de un sistema sin decir nada más, no es decir absolutamente nada. Lo que hay que hacer es reconocer la ignorancia y seguir investigando.

Y como la extrañeza agudiza el ingenio, pronto se creó la ciencia del caos para intentar comprender estos sucesos emergentes. De hecho, se ha conseguido demostrar que nuestro primer experimento con k=2 no da como resultado desorden puro, sino un cierto tipo de orden llamado atractor extraño (¡No podía llamarse de otro modo!).