El robot de Dennett o cómo navegar en un infinito de información

Publicado: 18 May 2018 en Ciencias de la computación
Etiquetas:, , , , , , , ,

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.

 

comentarios
  1. Terriblemente complejo: Gödel fue el primero en señalar lo cortas que son las patas… de R2D1.

  2. Samu dice:

    «La evolución, desde luego, hizo un buen trabajo con nuestra especie»

    Ciertamente, y 4 mil millones de años más o menos que le ha llevado moldear la red neuronal de nuestro cerebro. Por otra parte, el ser humano en poco más de 50 años ha logrado simular de manera artificial gran parte de lo que nuestro cerebro biológico hace. Démosle un poco más de tiempo y probablemente la convergencia sea total. No hay por qué apelar a una inefable ‘res cogitans’ ni otros cantos de sirena, vale con aceptar que todo es posiblemente ya cuestión de tiempo, refinamiento y un mucho mejor poder de cálculo. De hecho ha sido con más potencia (modernas tarjetas GPU) con lo que el deep learning a logrado despegar en estos últimos 5 años llegando a emular habilidades cognitivas humanas que se creían fuera del alcance artificial hasta no hace mucho. Y el potencial de cálculo, no lo olvidemos, casi se duplica al año (sin olvidar las modernas tarjetas TPU y similares dedicadas por completo al machine learning) por lo que estamos sin duda exponencialmente cada vez más cerca de poseer un poder de cómputo similar al del cerebro.

  3. manuherran dice:

    ¿Por qué decir «Los seres humanos tenemos una fantástica habilidad»? ¿los seres humanos? Suena chauvinista ¿Por qué no los europeos blancos?

    ¿No es más preciso decir «los seres vivos» o al menos «los animales»?

  4. Manuherran:

    De todo el artículo… ¿lo que más te ha llamado la atención es la sospecha de que estoy utilizando un lenguaje supuestamente «chauvinista»?

    Los animales tienen muchas y fantásticas habilidades, pero a la hora de manejarse competentemente en un entorno simbólico, los humanos no tenemos rival entre todas las especies. No creo que decir, por ejemplo, que el lenguaje sapiens es el más sofisticado, con mucha diferencia, del mundo animal sea «supremacista», ya que es un hecho incontestable. No podemos negar los hechos en virtud de nuestra ideología ético-política.

  5. Samu:

    Ignoro si es una cuestión de tiempo o no, pero hay que aceptar que no lo sabemos. Solemos mostrar un optimismo, quizá ingenuo, que ya ha ocurrido muchas veces en el campo de la inteligencia artificial. Se están logrando cosas alucinantes pero todavía no hay ningún indicio claro de que podamos conseguir una IAG. Y es que no es solo una cuestión de poder de cómputo. Precisamente, en el artículo de lo que hablo es que de lo que se trata es de buscar formas que escapen a las explosiones combinatorias, es decir, formas que no necesiten tanto poder de cálculo. Y fíjate en las fechas de los artículos que cito… ¡de hace treinta o cuarenta años! ¡Y a día de hoy sigue sin solucionarse el tema!

    Ahora, con el deep learning tenemos nuevas estrategias (realmente, para nada nuevas) que están dando resultados espectaculares en ciertos cambios pero, todavía, solo nos valen para cosas muy específicas y responden muy mal cuando las sacamos de su contexto concreto. Por eso no podemos afirmar, alegremente, que la IAG está a punto de llegar. No he visto ni un paper en donde se diseñe una arquitectura de IAG que, al menos, prometa algo en un futuro cercano. No hay nada todavía.

  6. rurouni dice:

    …el verdadero avance llegó cuando crearon a R2D2

  7. rsanzaslab dice:

    En efecto otra ración de chauvinismo humano:

    «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.»

    Me gustaría saber qué humano puede hacer esto. Si fuera verdad no moriría ningún TEDAX (como lamentablemente sucede a veces como si se tratara de un mero R1). Lógica elemental: Si P entonces Q y no P entonces no Q. Si el TEDAX sabe diferenciar lo relevante de lo irrelevante entonces la bomba no explotará. La bomba explota, por lo tanto el TEDAX NO sabe diferenciar lo relevante de lo irrelevante. Como un vulgar robot.

    Afirmaciones como «lo terriblemente complejo que es hacer todo lo que nosotros hacemos ordinariamente con suma facilidad» se pueden invertir fácilmente –> «lo terriblemente complejo que es hacer lo que los computadores hacen ordinariamente con suma facilidad.» Hasta Montoro lo sabe.

    Take care. Look at the horizon beyond the omphalos.

  8. Ubik dice:

    Manuherran obligándote a disculparte al resto de animales en nombre de la humanidad LOL

  9. Samu dice:

    Nadie habló de «a punto de llegar». Sólo que llegará cuando el suficiente poder de cálculo se logre. De hecho es más complicado afirmar que hace falta un algo más «inefable» para lograr una IAG que simplemente aceptar que todo se trata de simular artificialmente el modo en que el cerebro ejecuta procesos matemáticos no lineales gracias a las redes neuronales biológicas.

    Es decir, que puestos a tener fe, creo más «Occam style» aceptar que es cuestión de tiempo que la cosa converga, que apostar por un indecible algo más al puro estilo del ‘res cogitans’ cartesiano.

    Un abrazo.

  10. Yack dice:

    En referencia al problema que planteas, yo pienso que nosotros, los humanos, lo resolvemos mediante la simulación.

    Observamos la situación actual y creamos en nuestra mente un mapa tridimensional de los elementos implicados (mesa, bomba, puerta, batería, etc.).

    A continuación, imaginamos la situación futura a la que queremos llegar: Batería fuera de la habitación.

    Un buen ejemplo de esto es el acertijo de trasvasar una gallina una zorra y un saco de trigo a la otra orilla de un río con una barca en la que solo puede introducirse un objeto.

    Imaginamos varias estrategias y después comprobamos si el escenario final responde a los requisitos previamente establecidos, hasta que, ayudándonos de la experiencia adquirida, para descartar arboles de decisiones fallidos, llegamos, cumpliendo las reglas, al escenario requerido, es decir a la solución.

    En resumen, proyectamos en nuestra mente la película de lo que ocurrirá en base a cada una de nuestras acciones, y a partir del conocimiento de las leyes que gobiernan la simulación (las mismas que la del mundo real), introducimos acciones alternativas de tanteo cuando tropezamos con algún obstáculo insuperable.

    Así que yo creo que la simulación de la realidad y la capacidad para evaluar la viabilidad de escenarios intermedios, es la fórmula que la IA deberá implementar para alcanzar nuestro nivel resolutivo.

    Saludos.

  11. Ricardo:

    Esto… ¿Estás seguro que «Si P entonces Q y no P entonces no Q» es lógica elemental? ¿Es un razonamiento válido? ¿Seguro que no estás cayendo en una pequeña, pequeñísima, falacia? (Ay, ay, ay).

    ¿Un TEDAX no sabría resolver el sencillo problema propuesto por Dennett? Tú, ahora mismo, al leer esto estás diferenciando lo relevante de lo no relevante. Estás leyendo palabras y comprendiendo su significado, concentrando el foco de tu consciencia en la pantalla y no en el techo o en las baldosas del suelo. Otra cosa es que en entornos muy complejos, nosotros fallemos al hacerlo al igual que las máquinas, pero vamos, creo que, a día de hoy, vamos bastante por delante.

    Las máquinas hacen maravillas impresionantes que nosotros no podemos hacer ¿Alguien en la sala puede competir con una simple calculadora de mano haciendo meras sumas? Lo cual no quita que aún no hagan cosas que los humanos hacemos con suma facilidad. A lo que me refería es precisamente a eso: lo difícil, jugar a al ajedrez o hacer complejos cálculos, lo hacen sumamente bien, mientras que les es terriblemente difícil atarse los cordones de los zapatos.

    Por eso tienen tanto éxito los recientes logros de Boston Dynamics. Están consiguiendo algo, para los mamíferos tan sencillo, como caminar o correr por un entorno irregular. Y ¡eso es tecnología punta de principios del siglo XXI!

  12. rsanzaslab dice:

    Santiago:

    Si lo escribo bien estoy seguro de que es válido 🙂

    Perdón por la errata: «Si P entonces Q y no Q entonces no P». Cambíé P y Q 🙂 El resto del texto es correcto.

    P = TEDAX sabe diferenciar lo relevante de lo irrelevante
    Q = Bomba no explota
    no Q = Bomba explota (como lamentablemente sucede en ocasiones)

    ergo … no P.

    Lo que nos dicen los logros de Boston Dynamics no es que «están consiguiendo algo que para los mamíferos es sencillo» sino mas bien que eso que pensábamos que era sencillo no lo es tanto. Mira la cuenta de neuronas del cerebelo en relación con el cortex. Eso te da una indicación de lo sencillo que es.

    Lo de que «vamos bastante por delante» es (localmente) verdad; pero es provinciano y chauvinista. Solo miras la provincia de nuestra actividad. Las máquinas van muy por delante en sus hábitats (¿que tal se nos da el detectar virus en attachments, el desencriptar mensajes PGP o leer el valor de un sensor de seguridad 1000 veces por segundo?).

    La filosofía debe dar el paso de la universalidad y pasar de pensar lo humano a pensar el todo.

  13. Ricardo:

    A ver si nos entendemos. La IA puede seguir varios caminos:

    1. Ir a su bola: solucionar problemas prácticos y ser una herramienta lo más eficiente posible, sin fijarse, para nada, en cómo lo hacemos los humanos. Esto está genial y, de hecho, la IA, y las ciencias de la computación en general, han conseguido sus mayores logros así, y han superado al ser humano en muchas cosas al igual que, por ejemplo, las excavadoras nos superan con mucho en fuerza física o los automóviles en velocidad.

    2. Intentar imitar al ser humano: esto nos vale mucho para intentar comprender el funcionamiento de la mente humana. Aquí, hay un montón de flipaos de la vida (Kurzweil, Cordeiro, Musk, Moravec, etc.) que dicen muchas tonterías como que la singularidad está a la vuelta de la esquina porque ya sabemos emular todas las características humanas en un ordenador y que solo es cuestión de unos poquitos años de desarrollo. Y aquí, cuando uno va a las fuentes: autenticos logros es IA, neurociencias, psicología cognitiva descubre que, ¡¡¡ni de coña!!! Y esto no es chauvinismo humano, ni miedo a que las máquinas nos dominen ni Terminator ni chorradas varias. Es que hay muchísimas cosas que no sabemos de la mente humana y, mucho menos, emularlas computacionalmente.

  14. Yack dice:

    No sabemos a qué distancia está la singularidad, pero bastaría con dar con una arquitectura de redes neuronales que fuera capaz de mejorarse a sí misma. Y esto puede ocurrir entre dos y 50 años.
    La IA que inaugure la singularidad solo tiene que ser capaz de resolver los problemas prácticos que no somos capaces de resolver y todo lo demás vendrá por añadidura.

    Saludos.

  15. dariopm dice:

    La respuesta es: decirle a R1 directamente lo que tiene que hacer:

    – coger la la batería de la mesa y salir corriendo.

    Claro, podrás pensar «eso no es inteligente», es mera programación procedimental, pero: ¿qué haría un ser humano que no se hubiera criado en la cultura actual ante tal situación, por ejemplo un tarzán o algo así? respuesta: lo mismo que R1.

    Para que no parezca una trivialización, añadir que la inteligencia implica «manejar la complejidad» la cual a su vez sólo se consigue mediante la acumulación de conocimientos y experiencias. Si no hemos dado a R1 la oportunidad de crecer en una familia durante años, ver la TV, leer, etc… ¿por qué le pedimos que «sepa» tanto como un ser humano adulto, culto y responsable?

    P.D.: sin ánimo de sentar cátedra, XDDD, es una mera «alegre reflexión».

  16. Yack dice:

    Tal vez un cerebro es solo una red neuronal capaz de dar soporte a la inteligencia, acumulando datos dinámicos y causales del mundo exterior para generar simulaciones interiores.
    La inteligencia es un mecanismo que se basa en tres principios:

    Contar con un objetivo a alcanzar, es decir, una determinada configuración futura del universo que queremos propiciar. Un programa de ajedrez, tendría el de ganar la partida y un animal seguir vivo y reproducirse.

    Un sistema de simulación interior que le permita hacer experimentos mentales para seleccionar aquellas acciones más prometedoras que le acerquen al objetivo final sin pagar el costo de hacerlas todas (explorar la incidencia de una determinada jugada sobre el objetivo final o imaginar lo que puede ocurrir si ataca o huye en un eventual enfrentamiento.

    Un sistema de acción que le permita cambiar el presente acumulativamente para alcanzar en el futuro su objetivo inicial (mover una pieza o luchar con un competidor que invade su territorio).

    Saludos.

  17. Asier dice:

    Este logro/avance de Google me parece impresionante. Recomiendo leerlo de arriba a abajo y ver los vídeos:
    https://deepmind.com/blog/neural-scene-representation-and-rendering/

Deja un comentario