Posts etiquetados ‘Allen Newell’

Todo apuntaba en la dirección de que si queríamos construir una máquina inteligente, habría que dotarla de una mente que, dada la hipótesis del sistema universal de símbolos físicos de Allen Newell, sería un programa maestro, un centro de mando que diera todas las instrucciones a las demás partes de la máquina. Lo importante era ese programa y lo periférico, básicamente motores y sensores, era lo de menos, lo fácil. Lo importante era el software, la parte “inmaterial” de la máquina. Lo demás, lo físico, era cosa de electricistas.

En los años 90, cuando un robot atravesaba una habitación esquivando obstáculos, primero observaba el entorno con su cámara y luego procesaba la información intentando reconocer los objetos. Problema: con los procesadores de esa época, la computadora tardaba una eternidad en crear ese mapa de su entorno, por lo que sus movimientos eran lentísimos. Entonces, el ingeniero en robótica australiano Rodney Brooks se puso a pensar: ¿cómo es posible que una mosca se mueva con tal velocidad esquivando todo tipo de objetos, incluso en movimiento, si apenas tiene cerebro? ¿Cómo con esa ínfima capacidad de cómputo puede hacer lo que los robots no pueden ni soñar?

Respuesta: es que gran parte del movimiento de la mosca (y de cualquier otro ser natural) no es procesado por una unidad central, sino que responde directamente ante la percepción. Fue el descubrimiento del inconsciente en IA. Tal y como Marvin Minsky nos decía en su Society of mind, la mente puede ser un inmenso conjunto de módulos funcionales, de pequeños programas, subrutinas, homúnculos, o cómo queramos llamarlos. El caso es que muchos de estos pequeños robotitos no tienen por qué procesar nada, o solo procesar muy poquita información, es decir, son simples, automáticos e independientes de la unidad de control. La idea es que del funcionamiento cooperativo de robotitos “estúpidos” pueden emerger conductas muy sofisticadas e inteligentes.

Brooks construyó así, entre otros, a Herbert (nombre en honor a Herbert Simon), un robot que recogía latas de soda y las tiraba a una papelera. Lo interesante es que todos los sencillos dispositivos de cálculo que componían la máquina estaban directamente conectados a los sensores y no se comunicaban ni entre ellos ni con ningún tipo de centro de mando. Herbert no tiene, prácticamente memoria, ni nada que se asemeje a un mapa de la habitación, ni siquiera tiene programado el objetivo que tiene que cumplir ¿Cómo funciona entonces la máquina?

Brooks sostiene que lo que solemos llamar comportamiento inteligente es solo una narración hecha a posteriori, una vez que hemos visto al robot actuar. Es una racionalización que antropomorfiza falsamente al robot (y es que hay que tener en cuenta que es muy, pero que muy distinta la descripción externa del funcionamiento interno, y muchas veces las confundimos).

Herbert funciona, sencillamente, a partir de pequeñas máquinas de estado finito que obedecen instrucciones muy sencillas y que han sido coordinadas ingeniosamente por Brooks. Por ejemplo, el módulo que dirige el movimiento del robot y el brazo mecánico no están intercomunicados, por lo que cuando el robot encuentra la lata no puede decirle a su brazo que tiene la lata delante y que la coja ¿Cómo lo hace? Sencillamente, el brazo mecánico siempre mira hacia las ruedas. Cuando las ruedas llevan un rato paradas, el brazo infiere que será porque están ya en frente de la lata y, entonces, se activa para cogerla.

Además, esta idea encaja muy bien con la evolución biológica. La selección natural opera bajo el único principio de adaptabilidad local, es decir, de, dado lo que hay, optimizo, sin mirar demasiado cuestiones de elegancia ni estética. Pensemos en las plantas. Si tú fueras un organismo que permaneces fijo en un lugar expuesto a ser devorado por múltiples herbívoros (eres el último en la cadena trófica), una buena estrategia sería tener una estructura modular repetitiva sin ningún órgano vital único, de modo que puedas perder gran parte de tu organismo sin morir (algunas plantas pueden perder más del 90% de su organismo y seguir vivas). Si las plantas tuvieran un módulo de control correrían el riesgo de que si es devorado, ya no habría salvación posible. Pero, sin ese control central, ¿cómo se las arreglan para responder al entorno? Porque funcionan igual que Herbert. Por ejemplo, la superficie de las plantas está plagada de estomas, conjuntos de dos células que abren o cierran una apertura (serían, grosso modo, como los poros de nuestra piel). Su función es la de dejar pasar moléculas de dióxido de carbono, esenciales para realizar la fotosíntesis. El problema es que cuando están abiertos, dejan escapar mucha agua por transpiración, por lo que deben mantener un delicado equilibrio entre conseguir suficiente dióxido de carbono y no perder demasiada agua ¿Cómo lo hacen? Captando muy bien la luz, su dirección y su calidad. Las plantas disponen de diferentes tipos de fotorreceptores (fitocromos, criptocromos o fitotropinas) que son capaces de absorber la longitud de onda del rojo, el rojo lejano, el azul y el ultravioleta (las plantas, en un sentido no tan lejano al nuestro, ven), de tal modo que saben con mucha precisión la cantidad de luz solar que hay en cada momento. Lo único que hacen es, en función de esa cantidad, le indican a los estomas cuánto deben de abrirse. Las plantas no tienen sistema nervioso ni ningún órgano encargado de medir a nivel global la cantidad de luz recibida por lo que va a ser cada fotorreceptor el que le indique a cada estoma concreto su abertura. Son un claro ejemplo de la idea de Brooks: percepción-acción sin procesamiento central de la información. Cada conjunto funcional fotorreceptor-estoma sería un módulo simple y automático que, en confluencia con todos los demás, haría emerger un comportamiento muy inteligente.

Dejemos los vegetales y vamos a un ejemplo ya con mamíferos: los experimentos realizados por Collet, Cartwright y Smith en 1986. Una rata tiene que encontrar comida enterrada utilizando como pistas visuales unos cilindros blancos. En uno de los experimentos, se enterraba la comida en un punto equidistante entre dos cilindros. La rata pronto aprendió la posición y acertaba rápidamente. Entonces, los científicos separaron más los cilindros situando la comida de nuevo en el punto equidistante con la esperanza de que ese cambio no despistara al roedor. Sin embargo, la rata no encontraba la comida y se limitaba a dar vueltas a los cilindros ¿Qué había pasado? Que la rata utilizaba un mecanismo mental que valía solo para algunos casos: el cálculo vectorial. Hacía un vector cuyo centro estaba en el cilindro y cuya dirección indicaba hacia el otro cilindro, pero cuya medida era una constante, por lo que si alargan la distancia entre los cilindros, la rata no entendía que la comida seguiría enterrada en el punto equidistante entre ambos. Conclusión: las ratas también utilizan pequeños robotitos estúpidos para actuar que, lamentablemente, se pierden cuando cambian las circunstancias para las que fueron diseñados. Un comportamiento que, de primeras nos parecía inteligente, se nos antoja mucho más estúpido cuando sabemos la simplicidad de las reglas de fondo.

Por eso, a pesar de que a los ingenieros de IA les hubiese encantado que los seres vivos, o la mente humana, fueran programas elegantemente diseñados, que controlaran y gobernaran todos sus sistemas, parece que no es así. No obstante, esto no quiere decir que hay que renunciar a todo software y solo centrarnos en hacer emerger comportamiento complejo de hardware simple, solo que hay que tener mucho más en cuenta el hardware de lo que se pensaba. Entonces, cobraron importancia la embodied cognition (un enfoque casi opuesto a la independencia de substrato de los defensores de la IA simbólica), la IA bioinspirada o, en términos generales, cualquier modelo computacional no basado en la arquitectura de Von Neumann.

Adjunto el famoso paper de Brooks (muy criticado en su momento):

Intelligence without reason – Rodney Brooks

Anuncios

Es cierto que su “Alchemy and Artificial Intelligence” para la RAND Corporation fue demasiado agresivo. Es cierto que, a pesar de haber dicho que los programas de ajedrez jamás podrían superar el nivel amateur, perdió estrepitosamente jugando contra el programa MacHack del MIT (programado por R. Greenblatt); es cierto que muchas de las cosas que dijo que las máquinas no pueden hacer, al final, lo han hecho; y también es cierto que su enfrentamiento con los principales gurús de la IA ha parecido, a veces, obsesivo, casi como si tuviera contra ellos algo personal (Muchos dicen que utilizó un campo emergente como la IA para hacer valer su marca como filósofo). Seguramente, su mordacidad alejó a la gente a la que podía haber iluminado.

Pero también es cierto que el trato por parte de los rivales fue bastante malo. En general, excepto algunas breves reseñas y poco más, sobre todo por parte de Seymour Papert, la comunidad de IA decidió ignorarlo sin llegar a dar respuestas claras contra sus argumentos. Lo demás fueron descalificaciones que, prácticamente, solo argumentaban que Dreyfus no se enteraba de nada o que no era lo suficientemente inteligente para entender los programas que ellos diseñaban.  Allen Newell y Herbert Simon, objetivos primarios de Dreyfus, optaron por una estrategia muy cruel: pensaron que responderle era darle publicidad, por lo que lo mejor era ignorarlo. Y así lo hicieron.

El caso es que Hubert Dreyfus no era ningún charlatán, e independientemente de sus motivaciones, su forma de ser o su conducta, lo importante eran sus ideas y, a día de hoy, junto con Joseph Weizenbaum y John Searle, ha sido el más feroz crítico de la IA que ha existido y sus críticas, siendo intelectualmente honrados, deben ser respondidas adecuadamente y no pueden ser ignoradas sin más.

Vamos a hacer un somero resumen de sus planteamientos. Su crítica pueden dividirse en dos líneas: por un lado están las asunciones o presupuestos que los ingenieros de IA dan como autoevidentes y que, según Dreyfus, son solo hipótesis y, encima, muy discutibles; y por el otro están las cualidades esenciales al ser humano que la IA nunca será capaz de reproducir.

Presupuestos discutibles de la IA:

  1. Asunción biológica: la IA cree que la mente procesa la información en operaciones discretas mediante un equivalente biológico a los switches on-off  de los ordenadores, a saber, las neuronas. Según Dreyfus no hay evidencia científica de ésto y yo, honestamente, he de darle la razón hasta cierto punto. Estoy completamente convencido de que las neuronas realizan funciones mucho más amplias que el mero disparar un potencial de acción por su axón al ser excitadas según un cómputo de pesos sinápticos, siendo dichas funciones fundamentales para generar pensamiento. En general, creo que sabemos extremadamente poco del funcionamiento del sistema nervioso y que los modelos de redes neuronales artificiales son paupérrimos modelos de las auténticas, no solo por su simplicidad sino porque, incluso, creo que no replican adecuadamente su funcionamiento. Las redes neuronales artificiales, dado el estado actual del arte, darán más frutos como herramientas matemáticas para hacer un montón de cosas, que como imitadoras de la mente humana. Sin embargo, y en defensa de la IA, también hay que ser justos: es que por algo había que empezar. En un principio, nuestro modelos serán simples, pero esto no quiere decir que, mientras avance la disciplina, serán más completos y mejores. Dreyfus quizá confunde el estado del arte actual con las posibilidades futuras. Que ahora estemos lejos de conseguir algo no quiere decir que no lo consigamos en el futuro.
  2. Asunción psicológica: la IA cree que la mente es un mecanismo que opera sobre unidades discretas a través de reglas formales (en el fondo estamos hablando de la famosa hipótesis de la mente como sistema universal de símbolos propia de la IA clásica). Dreyfus reformula la famosa paradoja de la mente mecánica: si algo es mente no puede ser mecánico y si es mecánico no puede ser mente.  La mente está, según Dreyfus, muy lejos de ser igual a un ordenador.
  3. Asunción epistemológica: la IA cree que todo conocimiento puede ser formalizado, es decir, que todo lo que es comprensible puede expresarse, sin perder nada, mediante relaciones lógicas. Este es el gran problema que tuvieron los sistemas expertos: ¿cómo formalizar la conducta del experto cuando éste actúa guiado por una corazonada, por su intuición? Y, en el fondo, es un problema filosófico de amplio calado: ¿todo conocimiento es cuantificable o transformable en reglas? ¿Es posible la traducción absoluta de un lenguaje a otro? Dreyfus también recurre a la clásica distinción entre saber qué y saber cómo. El conocimiento de habilidades es, al menos en parte, un saber cómo que no puede ser transcrito a reglas ¿Podríamos aprender a montar en bicicleta, solamente, utilizando un manual de instrucciones?
  4. Asunción ontológica: la IA cree que el mundo es un conjunto de elementos discretos sin más. La IA no es sensible a la ambigüedad o a la continuidad (digamos analógica) que presenta la realidad. Todo lo que ocurre se da en un contexto dado tal que, para entender un objeto, es necesario comprender su situación. Nuestro conocimiento del mundo es, según Dreyfus, holístico.  Era cierto que las máquinas del siglo pasado tenían estos defectos, pero ya no. Por ejemplo, tenemos programas que funcionan con lógica borrosa y que, por tanto, son totalmente sensibles a cualquier tipo de ambigüedad. También, las redes neuronales actuales no tienen problema alguno al respecto e, incluso, hay proyectos de investigación muy interesantes en computación analógica.

Aspectos del ser humano que la IA no puede, ni podrá nunca, simular:

  1. El papel del cuerpo en la unificación y organización de nuestra experiencia de los objetos. Es cierto que la IA, con su tesis de la independencia de substrato, parece despreciar el cuerpo o hardware. Si, como ya decía Hobbes, el pensamiento es cálculo, y la tesis de Church-Turing es cierta (todo lo que puede ser calculable puede calcularlo una máquina de Turing), cualquier sustrato material que reúna las condiciones suficientes para construir con él una máquina universal de Turing, ya puede ser una mente. Como una máquina universal de Turing es algo relativamente sencillo, hay infinitud de sustratos que podrían ser una mente. Estamos diciendo algo tan chocante como que el pequeño procesador que controla tu lavadora, adecuadamente programado, puede hacer exactamente lo mismo que tu mente (aunque, seguramente, en mucho más tiempo). El cuerpo o sustrato en donde se da la mente, prácticamente, parece que no importa cuando, seguramente, sí que tiene mucha importancia (como no se ha cansado de repetir Searle con su chovinismo biológico). No obstante, la propia IA ya ha tenido eso en cuenta y hay muchísimos proyectos de programas que, de diferentes formas, tienen en cuenta su cuerpo. Véase la embodied cognition.
  2. El papel de la situación en la que se ubica el sujeto, a la hora de proporcionarle un horizonte de significado mediante el cual, la conducta puede ser regulada de modo flexible. A ver, para entender bien ésto hay que tener en cuenta la corriente filosófica a la que se adhiere Dreyfus: la fenomenología de Husserl y Heidegger. Para esta corriente, el hombre nace arrojado a la existencia, el individuo se encuentra en el mundo (es un dasein) y tiene que dar sentido a su vida. Esto es muy divertido: ¿cómo puedes hablarles a ingenieros de IA norteamericanos de filosofía alemana (además, de filosofía bastante compleja y oscura de entender) y decirles que sus máquinas no representan eso? Además, Dreyfus está haciendo su critica desde una perspectiva completamente opuesta a la visión materalista-naturalista-mecanicista que cualquier ingeniero que se precie, debe tener. Evidentemente si creemos que la mente no es algo material ni natural ni mecánico… pocas computadoras parecidas a humanos vamos a fabricar. De nuevo, aquí observamos el divorcio entre filosofía analítica y continental.
  3. El papel de los propósitos y las necesidades humanas para organizar la situación, de tal manera que los objetos sean reconocidos como relevantes y accesibles para el sujeto. Una máquina sigue un proceso o algoritmo programado pero, realmente, no está motivado ni desea llegar a su objetivo. En este sentido, se pregunta ¿cómo una máquina diferencia lo relevante de lo accesorio para conseguir su objetivo? Dreyfus ve que un programa solo selecciona como relevante lo que le dice su programación, pero que es incapaz de decidir si algo es relevante por sí mismo. Creo que aquí se equivoca porque hace mucho tiempo ya que tenemos programas capaces de inferir por sí mismos lo relevante para realizar una tarea dada. De nuevo Dreyfus se queda estancado en la IA de su época. No obstante, sí que acierta en subrayar el papel afectivo-consciente a la hora de tomar decisiones. Sabemos muy bien que para decidir algo, las sensaciones, sentimientos y deseos, tienen un papel esencial y, desgraciadamente, a día de hoy esta parte de la IA es la más precaria: nadie sabe cómo hacer consciencia sintética. Sin embargo, ya existen muchos planteamientos al respecto como los de Rosalind Picard o Cynthia Breazeal en lo que se llama computación afectiva, o, en el campo más difícil de intentar crear consciencia artificial tenemos, por ejemplo, a Pentti Haikonen o Igor Aleksander, entre muchísimos otros.

Dreyfus llegó a decir que la IA era un programa de investigación degenerativo y, en cierto sentido, tuvo razón: la IA ha pasado por varios inviernos, por varias épocas en las que no se avanzó prácticamente nada y en las que se perdieron millones de dólares en inversiones (véase el fracaso de la quinta generación de computadores en Japón). No obstante, parece que ahora estamos en un cierto renacimiento con el machine learning y el big data, que ya veremos hasta donde nos llevan aunque parecen bastante prometedores. Dreyfus también criticó que las promesas de la IA nunca se llegaron a cumplir (ni se cumplirán). En esto hemos de darle una buena parte de razón: las promesas de Dartmouth estuvieron lejos de cumplirse y, seguramente, las mismas promesas que hoy nos hacen los líderes del sector, tampoco se cumplirán en los plazos que ellos dan (2045 para la singularidad tecnológica… ni de coña).

Hubert Dreyfus falleció el pasado 22 de abril. Por supuesto, los medios castellanoparlantes no hicieron mención alguna. Descanse en paz.

bahamas_2836_600x450

Dice Marvin Minsky que la mejor forma de comprender la mente es construyendo una. Estamos de acuerdo, así que vamos a ver uno de los intentos clásicos de hacerlo. En 1957, Simon, Shaw y Newell, diseñaron uno de los grandes hitos de la historia de la Inteligencia Artificial: el General Problem Solver. Era un programa creado para solucionar cualquier problema de tipo general, rompiendo con la preconcepción de que las máquinas solo podían resolver problemas muy específicos. Su estructura, muy simplificada, venía a ser la siguiente:

Sin título

El GPS funcionaba realizando una analogía entre su situación actual y el objetivo a cumplir, efectuaba un análisis de las diferencias entre ambos estados, utilizaba métodos para reducir las diferencias, y luego volvía a realizar la analogía inicial hasta que no existiesen diferencias entre el estado actual y el estado deseable. El diseño es muy interesante, sobre todo, por las similitudes que parece reflejar con respecto a la forma que tenemos los seres humanos de solucionar problemas, manteniendo, empero, una estructura muy simple:

1. Al realizar una comparación entre su situación y sus objetivos, tiene una cierta representación de sí mismo. Si quiero irme de viaje a las Bahamas, lo primero que tengo que saber es que YO no estoy en las Bahamas. Estaríamos todavía a años luz de la autoconsciencia, pero ya es un paso.

2. Para reducir las diferencias, el GPS podía suspender momentáneamente su objetivo principal para resolver sub-objetivos. Esto es una característica plenamente humana: suspender las urgencias del presente en pro de un objetivo futuro, es decir, planificar una acción en pasos. Si quiero irme a las Bahamas tengo que solucionar sub-problemas como pagar los billetes de avión, hacer las maletas, coger un taxi al aeropuerto, etc. Cuando queremos solucionar un gran problema, una buena forma de hacerlo es dividirlo en problemas más pequeños.

3. El GPS razonaba por analogía, quizá la forma humana más habitual de razonar. ¿Cómo sé que hay que hacer para viajar a las Bahamas? Porque antes he realizado otros viajes o porque he visto a otros hacerlos. Realizo analogías entre ese conocimiento previo y el problema al que me enfrento. Si yo viajé antes a Hawai, también hice las maletas y cogí un taxi al aeropuerto, pero a la hora de comprar los billetes de avión ahora tendré que comprarlos para Bahamas y no para Hawai y, probablemente, el precio será diferente. Hay similitudes que utilizaré sin problemas y diferencias que tendré que solucionar.

Sin embargo (ah, el siempre triste sin embargo), el GPS tenía el defecto que, hasta la fecha, no ha podido solucionarse (y del que ya hemos hablado en muchas entradas). Si realizar una analogía entre como estoy y lo que quiero hacer no parece presentar demasiados problemas, encontrar métodos de reducción de diferencias sí. Cuando nuestra máquina se encuentra en el aeropuerto y comprueba que “comprar un billete para Hawai” no le llevará a las Bahamas tiene que saber, de algún modo, que “en un aeropuerto pueden comprarse billetes a muchos sitios diferentes”. Si no sabe eso, es imposible que pueda solucionar tan simple problema. Y es que el GPS solo funcionaba en entornos muy formalizados, no en el mundo real. Estamos ante el enigma del sentido común: si el GPS podía resolver teoremas matemáticos de gran complejidad, no podría comprar un billete de avión.

Una forma de entender este dilema se ha formulado afirmando que cuando realizamos cualquier acción existe un montón de conocimiento implícito que excede el conocimiento de una simple descripción simbólica como la que maneja un computador. Douglas Lenat nos ofrece un magnífico ejemplo de ello: analicemos la frase “Fred le dijo al camarero que él quería patatas fritas a la inglesa”. ¿Qué tenemos que saber para entender esta afirmación?:

La palabra él se refiere a Fred, y no al camarero. Eso sucedía en un restaurante. Fred era un cliente que estaba cenando allí. Fred y el camarero se encontraban más o menos a un metro de distancia. El camarero trabajaba allí y en aquel momento estaba atendiendo a Fred.

Fred quiere patatas en rodajas finas, no en tiras. Fred no desea unas patatas determinadas, sino solo un tipo determinado de patatas.

Fred indica esto mediante las palabras habladas que dirige al camarero. Tanto Fred como el camarero son seres humanos. Ambos hablan el mismo idioma. Ambos tienen edad suficiente para poder expresarse, y el camarero tiene edad suficiente para trabajar.

Fred tiene hambre. Desea y espera que en unos minutos el camarero le traiga una ración normal, que Fred empezará a comer en cuanto le sirvan.

Asimismo podemos suponer que Fred supone que el camarero también supone todas esas cosas.

No hay más que decir: o el GPS sabe o puede deducir todo este conocimiento implícito, o jamás podrá resolver problemas que ocurran cuando tenga que pedir una ración de patatas en un restaurante. La solución que se dio fue la de crear sistemas expertos. Podríamos dotar al GPS de un montón de conocimiento sobre todos los pasos que hay que dar para realizar un viaje o comer en un restaurante. No obstante, al hacerlo, estamos incumpliendo nuestro propósito inicial, a saber, que nuestra máquina solucione cualquier tipo de problemas y no únicamente problemas específicos. Este es el asunto en el que la Inteligencia Artificial lleva estancada durante las últimas décadas y que no tiene demasiados visos de resolverse a corto plazo.

Véanse, en la misma línea:

Contexto o como no montar una orgía

Cero en conducta

El límite Winograd

El mismo Lenat lleva años intentando dotar a las máquinas de sentido común. En esta entrada hablé de su encomiable proyecto: la inteligencia son cien millones de reglas.