Posts etiquetados ‘Frame problem’

Dan Dennett escribió en 1984 un ensayo titulado “Cognitive wheels: the frame problem of AI”, en donde expone de forma muy simpática una versión del frame problem.

Tenemos un robot (R1) al que le encomendamos una misión: tiene que entrar en una habitación para encontrar una batería con la que recargarse. Dicha batería está situada sobre una mesa con ruedas, pero en la misma mesa hay una bomba programada para explotar en pocos segundos. La misión sería un éxito si R1 sale de la habitación solo con la batería, dejando que la bomba explote dentro.

R1 no es todavía muy sofisticado. Con su software infiere que sacando la mesa, también se saca la batería, por lo que con su brazo mecánico arrastra la mesa fuera de la habitación. Desgraciadamente, al hacerlo también saca fuera la bomba que explota, haciendo saltar a R1 por los aires. Los ingenieros entonces desarrollan a R1D1, quien es capaz de inferir también las consecuencias secundarias de sus acciones. Entonces, el nuevo el robot se para delante de la mesa y se queda parado procesando todas las consecuencias de su acción. De nuevo, cuando acababa de inferir que sacar la mesa de la habitación no va a cambiar el color de las paredes y se estaba embarcando en la siguiente inferencia, la bomba explota.

Los ingenieros se dieron cuenta de que procesar todas las consecuencias secundarias de una acción es una tarea prácticamente infinita, no resoluble, desde luego, en los pocos segundos que nos deja la cuenta atrás de la bomba. Había que diseñar un nuevo robot que no se pare a sopesar todas y cada una de las consecuencias de sus acciones, sino solo las que son relevantes para solucionar la tarea encomendada. El color de las paredes es algo completamente intrascendente para sacar una batería sin que explote una bomba. Fabrican R2D1 y lo ponen en funcionamiento. El robot entra en la habitación, la observa un rato, sale y se queda parado procesando información. Los segundos pasan y los ingenieros le gritan desesperados que haga algo. R2D1 responde que ya lo está haciendo: se está dedicando a ir descartando todas y cada una de las consecuencias irrelevantes de todas y cada una de las acciones que pueden hacerse… La bomba vuelve a explotar.

¿Qué está pasando aquí? ¿Por qué los ingenieros fracasan una y otra vez? Los seres humanos tenemos una fantástica habilidad que todavía no se ha conseguido computar: saber diferenciar el grano de la paja, es decir, saber diferenciar lo relevante de lo irrelevante entre una inmensa cantidad de información recibida. Para Jerry Fodor esta es la pregunta clave de la psicología cognitiva. Si el mundo es una inmensa red causal en la que millones de procesos se causan unos a otros simultáneamente… ¿cómo hace nuestra mente para saber cuáles son los procesos relevantes para lo que quiere hacer? Y es que ese sigue siendo el gran problema para el diseño de máquinas inteligentes, por ejemplo, en el procesamiento de lenguaje natural.

Hay soluciones (o más bien intentos de solución), muy interesantes (e ingeniosos). Desde la perspectiva lógica, se han intentado realizar acotaciones para que el manejo de la información comience a ser manejable computacionalmente. La base está en pensar que no hay por qué saberlo todo ni con plena certeza. Nosotros, cuando nos movemos competentemente en nuestro entorno, rara vez sabemos con total seguridad lo que va a pasar aunque acertemos en un número razonable de ocasiones. Además, corregimos constantemente nuestras creencias en función de la nueva información que vamos recibiendo (es lo que va a llamarse razonamiento revisable o no monótono). Así, por ejemplo, a McCarthy se le ocurrió lo que denominó circunscripción: minimizar las extensiones de los predicados tanto como sea posible. Dicho de otro modo y con un ejemplo: lo normal, lo que pasaría en la mayor parte de los casos, es que si yo me encuentro con un cisne, éste sea de color blanco. Entonces yo partiré dando como verdadera la afirmación de que “todos los cisnes son blancos” y voy a pasar olímpicamente de las excepciones, porque aunque me arriesgue a fallar, acertaré en la mayoría de las veces. A esta idea puede unirse lo que también se ha llamado razonamiento prototípico no monótono, desarrollado por Tversky y Kahenman en 1983. Se trata de proponer un concepto prototípico, un ideal o arquetipo de cualquier objeto o suceso que queramos representar. La computadora ponderará si un nuevo objeto o suceso que se encuentra es una instancia del prototipo en función de lo que se le parezca. De este modo ahorramos mucha información, centralizando todo en un conjunto de patrones y siendo ciegos a todo lo demás. Se pierde realismo pero se acota muchísima información. Tengamos muy en cuenta esta paradoja: para ser competente el trabajo duro no está en saberlo todo, sino en ignorar todo menos lo estrictamente necesario.

Otra propuesta es la del razonamiento autoepistémico de Robert C. Moore (1983): consiste en que el computador opere como si supiera toda la información que hay que tener, aunque ésta sea incompleta. Es obrar del modo: “Dado lo que sé y no teniendo noticia de que esto no sea así, opero en consecuencia”. Esto se complementa muy bien con la famosa hipótesis del mundo cerrado (muy usada en bases de datos), que consiste además en sostener como falso todo lo que no se da implícitamente en la información disponible. Por ejemplo si tengo un horario de llegada de trenes y se me pregunta si va a venir un tren de Madrid a las 10:00 y en mi horario compruebo que no aparece ningún tren de Madrid a esa hora, concluyo que no, presuponiendo que mi horario es toda la información que existe acerca de la llegada de trenes a esa estación.

También tenemos la compleción definida por Clark en 1978: obrar como si las implicaciones fueran equivalencias. Lo explicamos: cuando tenemos un condicional (una estructura de la forma si A entones B), el antecedente (A) es condición suficiente para el consecuente (B), es decir, solo del hecho de que se de A, y sin que ocurra nada más, se dará B; pero el antecedente (A) no es condición necesaria para que se de el consecuente (B), es decir, B podría darse por otras causas diferentes a A. Por el contrario cuando hablamos de un bicondicional (una equivalencia), antecedente y consecuente son ambos causas necesarias y suficientes el uno del otro.  Por ejemplo si yo digo:

“Si llegas después de las siete estarás llegando tarde”

estaré enunciando una implicación pero, en el fondo, la puedo convertir en un bicondicional sin que pase, realmente, nada. Podría decir:

“Si y sólo si llegas después de las siete estarás llegando tarde”

es decir, que llegar después de las siete y llegar tarde es, exactamente lo mismo. Con ello nos estamos ahorrando computacionalmente una regla crucial en el razonamiento. La compleción es interesante además porque confundir implicaciones con equivalencias es un error común en nuestra forma ordinaria de razonar, tal como ya vimos hace algunos años con el experimento de Wason.

Y una nueva forma, de nuevo estipulada por McCarthy, es el llamado Axioma del Marco. Uno de los problemas que tenía el robot de Dennett era que cuando modificaba algo, tenía que verificar todo el entorno completo para ver si esa modificación había modificado algo más. El Axioma del Marco o también denominado Ley de Sentido Común de la Inercia, diría que lo normal es que nada cambie más que lo que que uno ha modificado, por lo que es buena estrategia obrar como si eso fuera siempre así, de modo que nos ahorramos analizar toda la realidad cada vez que modificamos una sola cosa.

Pero todavía hay más: estaría el denominado razonamiento sin riesgo, que consiste en que si tenemos dos opciones y aceptar una de ellas nos llevaría a consecuencias fatales, escogemos la otra. El claro ejemplo está en el término jurídico in dubio pro reo: ante la duda a favor del acusado. Encarcelar a un inocente nos parece algo muy injusto, por lo que, a falta de pruebas suficientes en su contra, sentenciamos su no culpabilidad.

Y, por supuesto, nos queda la forma más estudiada de razonamiento sin certezas ni información suficiente: el cálculo de probabilidades expresado en lógica mediante la lógica borrosa.  Ante varias opciones elijo la que, según mis cálculos, tenga más probabilidades de cumplirse, aceptando tanto que la probabilidad puede hacer que mi apuesta falle aún teniendo los datos a mi favor (los sucesos de cisne negro se dan por doquier), como que mis cálculos tampoco sean fiables dada la información disponible (el también llamado razonamiento por conjetura).

Entonces, con tantas estrategias diferentes, ¿se ha solucionado el frame problem? De ninguna manera. Todas ellas tienen serias limitaciones y defectos que solo las hacen válidas para casos muy concretos, de modo que lo difícil sigue siendo lo de siempre: generalizar. Todavía no hay estrategias que sirvan para más de un contexto específico. La Inteligencia Artificial General, por mucho que nos cuenten milongas, sigue muy lejos. Y es que, por lo menos a mí, me resulta muy llamativo lo terriblemente complejo que es hacer todo lo que nosotros hacemos ordinariamente con suma facilidad. La evolución, desde luego, hizo un buen trabajo con nuestra especie.

 

Parménides empieza su poema siendo raptado por unas doncellas hijas del sol, que lo llevan ante la presencia de una diosa. Ésta le va a transmitir un mensaje, nada más y nada menos, que la verdad sobre el ser. En los albores de la filosofía, cuando mito y logos son todavía inseparables, el acceso a la verdad es una concesión de los dioses. Un hombre por sí solo jamás podría semejante hazaña. La verdad, la aletheia, estaba siempre oculta y para sacarla de su escondrijo era necesaria cierta iluminación divina (como bien prosiguió Agustín de Hipona en el cristianismo).

Y si llegar al conocimiento verdadero era una cuestión divina, no menos va a serlo la creación de narraciones. Los rapsodas griegos siempre pedían ayuda a las musas antes de empezar a cantar. Hesiodo dedica todo el comienzo de la Teogonía a homenajear y pedir ayuda a las musas heliconíadas y olímipicas, y  Homero empieza así la Iliada y la Odisea, pidiendo a las propias musas que canten la historia, como si fueran ellas, y no él, las auténticas autoras del relato.

La creatividad era una cualidad sobrenatural y caprichosa (nadie más caprichoso que un dios griego), que no funcionaba cuando uno quería. De aquí la simpática frase atribuida a Picasso: “Cuando la inspiración me encuentre, que me pille trabajando” ¿Y a quién suele encontrar la inspiración? No a cualquiera, solo a los artistas y a los genios (otra figura mítica que hay que bajar de su trono), solo a unas personas muy concretas capaces de contactar con los dioses. El resto de los mortales estaríamos condenados a la vida monótona y repetitiva de los mediocres.

Curiosamente, a partir del romanticismo, la creatividad se contrapuso a la racionalidad. En la reacción decimonónica contra la Ilustración, se crítico (en parte con razón) los excesos de creer que solo con la razón, solo con la lógica pura, podríamos conseguirlo todo. Los ilustrados habían olvidado una parte esencial del ser humano: las emociones. Y aquí hunde sus raíces el enfrentamiento entre ciencias y letras. El romanticismo puso por encima del científico al artista y la creatividad, cualidad más esencial del primero, se prohibió al segundo. Los de ciencias son similares a las máquinas, están dotados de una fría y precisa lógica matemática, pero carecen de emociones, carecen de creatividad (extrañamente, la creatividad se concibe como más cercana a lo afectivo que a lo racional ¿Por qué?), las musas rara vez les otorgan sus bendiciones.

Es por eso que cuando se critica lo que la IA no puede hacer, se apela muchas veces a la creatividad. Si la IA es pura racionalidad, ¿cómo va a ser creativa? Muchas veces se repite que las máquinas no pueden innovar porque solo pueden hacer para lo que han sido programadas (Es la famosa objeción de Ada Lovelace, bien respondida por Turing a mitad del siglo pasado). Entonces, la capacidad de crear se propone como uno de los grandes reductos del hombre ante la constante amenaza de ser sustituido por un computador.

Sin embargo, nada más lejos de la realidad: la creatividad no es algo mágico ni sobrenatural, es una cualidad de un organismo biológico y, por lo tanto, tan abordable científicamente como cualquier otra. Vamos a intentarlo.

Creatividad suele significar en su forma más trivial, sencillamente, sorpresa para el observador. La ocurrencia de algo inesperado, de una conducta que se sale de lo normal, se convierte automáticamente en un acto creativo.  En este sentido más burdo, creatividad significa incapacidad para predecir la conducta del otro. Si ese suceso que se sale de lo normal, hubiera sido enteramente previsto por el observador, no le parecería novedoso y, por lo tanto, no lo caracterizaría como creativo. Además, la creatividad sería aquí relativa a la capacidad de predicción o a los conocimientos del observador, no una cualidad objetiva de lo observado. Por ejemplo, si yo conozco muy poco a una persona y, de repente, la contemplo haciendo algo que se sale mucho de lo normal, podría interpretar que esa persona es creativa. Sin embargo, para otro que conociera mucho a esa misma persona, ese acto, supuestamente rupturista, podría ser algo, incluso, aburrido, ya que podría haberlo observado en muchas ocasiones anteriores en ese sujeto. Denominaremos a esta idea de creatividad creatividad subjetiva.

Con total certeza, las máquinas poseen este tipo de creatividad. Una sencilla calculadora que realiza una operación matemática lo suficientemente compleja para no ser evidente para un observador, ya sería creativa. Por ejemplo, para el común de los mortales la operación 5.789.345 multiplicado por 453, no es evidente y se necesita un rato, con lápiz y papel, para calcularla. Una calculadora la resuelve en fracciones de segundo, por lo que al mostrar el resultado al, aritméticamente torpe, operador humano, le resultará necesariamente sorprendente al ser incapaz de predecirlo a esa velocidad. Las máquinas son subjetivamente creativas.

Pero vayamos a una idea de creatividad más potente. Definámosla de forma más objetiva: la creatividad es la capacidad de crear algo genuinamente nuevo, no solo nuevo para el observador, sino nuevo para cualquier observador posible. Entonces los problemas filosóficos se disparan: ¿existe, realmente, la novedad? Si partimos de una visión determinista, de un cosmos gobernado por estrictas leyes físicas que concatenan causalmente todos los sucesos, la novedad es imposible. Aceptarla implicaría una ruptura con ese orden y sería algo así como la irrupción de algo sobrenatural que no muchos estarían dispuestos a aceptar. Para eludir este problema vamos a restringir novedoso como la generación de algo que antes no estaba (no que no pudiera predecirse que estuviera dado el determinismo universal). Es decir, algo nuevo no tiene por qué ser sorprendente, solo nuevo ¿Son las máquinas capaces de crear algo genuinamente nuevo?

La científica cognitiva británica Margaret Boden nos expone tres formas de creatividad:

  1. Creatividad combinatoria: elementos conocidos se combinan creando combinaciones novedosas (Si lo pensamos, quizá esta es la única forma posible de creatividad y podemos reducir las otras dos a ésta). Por ejemplo, la idea de pegaso es una novedosa forma de combinar las ideas de caballo y de alas. La creatividad combinatoria es trivial para cualquier programa informático desde hace muchos años. Yo mismo, jugando a programar en Java, hice un sencillo programa que generaba poemas, sencillamente, partiendo de una pequeña base de datos de palabras organizadas según criterios sintácticos (Ej.: sustantivos femeninos en singular) que se agrupaban en frases previamente estructuradas según un motor aleatorio. El resultado era sorprendentemente bueno y mi estúpido programa pasaría, sin demasiados problemas, un test de Turing poético. Problema: los resultados de la creatividad combinatoria han de ser evaluados para juzgar si son valiosos. Pensemos en el clásico ejemplo de un mono pulsando aleatoriamente las teclas de una máquina de escribir durante un tiempo infinito. Al final, conseguiría escribir el Quijote, pero haría falta alguien que evaluara todos los resultados y que identificara al Quijote como resultado valioso. El mono, por sí solo, no sabe evaluar sus resultados, igual que mi programa poeta no sabía si su poema era bueno o no. Es el problema de la relevancia del que ahora hablaremos más.
  2. Creatividad exploratoria: consiste en explorar un determinado modelo, incluso llevándolo al máximo forzando sus límites. Por ejemplo, dentro de un determinado estilo pictórico o literario, se exploran todas sus posibilidades, llegando a bordear sus fronteras. La novedad se reconocerá como una evolución del propio modelo de partida.  La creatividad exploratoria y la combinatoria son, a menudo lo mismo, pues podría entenderse que la exploratoria se agotará al probar todas las combinaciones posibles de unos elementos dados. Igualmente, la creatividad exploratoria ha sido replicada computacionalmente a un nivel, además, sobrehumano. Tenemos programas que hacen música al estilo de Chopin, Vivaldi o de Bach de forma que nadie sabría determinar si son o no obras de los autores originales (véase el programa Emmy de David Cope). También es muy interesante el proyecto Next Rembrandt  en el que se utilizó aprendizaje profundo para pintar un nuevo cuadro absolutamente indistinguible de un original (incluso emularon las pinceladas mediante impresión 3D) ¿Algún humano en la sala sabría hacer algo así?

3. Creatividad transformacional: consiste en dar el siguiente paso de la exploratoria: no solo llegar a la frontera del modelo sino traspasarla. Se trata de romper alguna de las normas propias del canon del modelo explorado (negándola, sustituyéndola, complementándola, añadiéndole otra nueva…), creando así un modelo nuevo. Por ejemplo, las vanguardias artísticas de principios del siglo XX se basaron en gran parte, de romper con cualquier normatividad del estilo clásico, creando así todos los -ismos que se desarrollaron durante el resto del siglo ¿Es la IA capaz de esta creatividad? En principio sí. Tenemos algoritmos genéticos que se modifican a sí mismos y, en base a esa modificación, pueden romper fácilmente con cualquier protocolo de actuación inicial. Al inicio y al final de esta entrada tenemos imágenes de diseños de columnas hechos mediante la arquitectura computacional de Michael Hansmeyer ¿Constituyen un nuevo estilo arquitectónico? El problema, de nuevo, está en el reconocimiento como valioso de ese nuevo resultado ¿Cómo puede saber la computadora si lo que ha creado es un verdadero nuevo estilo o es mero ruido? Otra vez nos encontramos con la relevancia.

¿Y qué es el problema de la relevancia? Es una variante del controvertido y largamente debatido frame problem (problema del marco). Por definirlo de alguna manera (muchos han dicho que el problema es, prácticamente, indefinible), diremos que viene a decir que las máquinas son especialmente torpes para identificar los elementos relevantes para solucionar un determinado problema (en breve escribiré una entrada específicamente de ello). Llevamos décadas discutiendo sobre el tema sin llegar a ninguna solución satisfactoria.

Pero podríamos abordar la cuestión desde otra perspectiva eludiendo el grueso del problema: no hace falta que solucionemos el problema del marco en su totalidad, sino solo para este problema en concreto ¡Acotemos el marco! En nuestras sociedades debe de existir algún tipo de mecanismo o procedimiento que se utilice para determinar si una novedad representa el nacimiento de un valioso nuevo estilo o si tan solo es mal arte. Basándonos en ello, podríamos construir un segundo programa que evaluara la calidad artística de las creaciones de un primero ¿Existe tal procedimiento? ¿Quién decide si algo es arte o no? ¡Ufff! Ahora nos metemos en un problema más complicado si cabe, porque tampoco existe acuerdo entre los expertos acerca de qué es y qué no es arte. Dicho de otro modo, en el estado actual del arte contemporáneo, ¡los propios humanos no han resuelto el problema de la relevancia para sí mismos!

Observemos la fuente de Duchamp, la mierda de artista de Piero Manzoni o el cuadrado negro sobre fondo blanco de Kazimir Malevich… Hoy en día se exhiben en museos y son consideradas obras de arte de pleno derecho… ¿Qué criterio se utilizó para determinar que obras así son arte y otras no?

Lo que sí podemos decir es que a nivel técnico, un computador puede hacer todo lo que un artista humano puede. No creo que exista técnica pictórica (o de cualquier tipo de arte) que no pueda ser copiada (y expandida fruto de la creatividad exploratoria) por las computadoras. Al igual que con el nuevo Rembrandt, pueden generar cualquier obra indistinguible de la original de cualquier artista existente. Por ejemplo, para un experto en arquitectura es muy difícil definir el estilo arquitectónico de las casas de la pradera de Frank Lloyd Wrigth. Sin embargo, un generador computacional emuló la “gramática creativa” de Lloyd Wrigth, diseñando una indefinida cantidad de nuevas casas que recreaban perfectamente su estilo (Koning y Eizenberg, 1981). Una versión más moderna es ArchiDNA.

Y lo que no podemos decir es lo de siempre: a pesar de que los resultados sean impresionantes, a las máquinas creativas les pasa lo mismo que a las máquinas que juegan al ajedrez o al Go:  su funcionamiento no se parece en nada al humano. Las máquinas no crean como nosotros porque la mente humana todavía es un misterio en muchísimas de sus facetas, y todavía carecemos de modelos cognitivos suficientemente potentes como para comprenderlas con claridad. Esto no quiere decir, desde luego, que en el proceso creativo existan elementos sobrenaturales o que exista algo en nuestra mente que se escapará para siempre a la ciencia. Sencillamente, el cerebro humano es, que sepamos, el objeto más complejo del universo conocido y con los nuevos, y prometedores, avances en neurociencias, y en ciencias cognitivas en general, solo hemos tocado su superficie. Queda todavía mucho para comprender el surgir de una simple emoción, cuánto más para explicar un complejo proceso de creación artístico en el que intervienen gran cantidad de procesos cognitivos, afectivos, biográficos, etc.