Mostrando entradas con la etiqueta Turing. Mostrar todas las entradas
Mostrando entradas con la etiqueta Turing. Mostrar todas las entradas

04 enero 2007

Modelos, realidad, incertidumbre… y Turing de nuevo

Comentábamos el otro día que probablemente el aspecto más importante a la hora de valorar el test de Turing era tener claras las relaciones entre los modelos y la realidad.
Antes de seguir no me resisto a incluir aquí una de las frases lapidarias atribuidas a Dijkstra (no verificada) y sacada de las Wikicitas a propósito de nuestro debate:
«La pregunta de si un computador puede pensar no es más interesante que la pregunta de si un submarino puede nadar.»
Pero sigamos. Quería desarrollar uno de los párrafos de Pedro en los comentarios al post anterior:
Lo que él [Turing] propone es análogo a la confrontación de un modelo con la realidad en el método científico: diseñar experimentos para comparar lo que hace el modelo con lo que hace la realidad, y si no somos capaces de falsar la hipótesis de que el modelo reproduce el comportamiento real, nos quedamos con el modelo.
No me gusta demasiado la última frase porque creo que se refiere a situaciones conceptualmente irreales y que cuando usamos modelos en la investigación no procedemos así. A ver si me explico comentando algo sobre objetivos y métodos de modelado (RAE dixit) aunque es difícil sintetizar esto en dos páginas.
Usamos los modelos como recurso para simplificar la forma, estructura o funcionamiento de objetos y procesos reales y, así, poder deducir o conocer algunas de sus propiedades con más comodidad: la complejidad de la realidad hace incómodo (o imposible) someterla a experimentación directa y usamos una simplificación. Para que este método funcione es necesario suponer que la simplificación de la realidad no penaliza excesivamente la exactitud del resultado. Lógicamente, esta suposición no puede hacerse sin más y debe comprobarse y valorarse cuantitativamente siempre.
Aceptamos por tanto que lo que genera el modelo (resultados) será similar a lo que generaría el objeto real en las mismas condiciones de experimentación (escenario) y utilizamos los resultados dándoles un valor de verosimilitud. Pero esta suposición debe tomarse con pinzas y tener en cuenta:
  • Que el escenario es a su vez un modelo de las condiciones reales, simplificado y truncado, por lo que no puede ser asumido directamente como “real”.
  • Que, consecuentemente, los resultados se generan condicionados por la calidad del escenario, de los modelos de los objetos (a través de datos) y de los modelos de los procesos (a través de ecuaciones o algoritmos que las traducen al lenguaje informático).
Es decir, en teoría siempre podremos falsar o refutar la hipótesis de que el modelo se comporta como la realidad. Los modelos “perfectos” no existen por propia definición, donde la realidad se simplifica en sus componentes y en sus interacciones. Si no hiciéramos esa simplificación el modelo no sería tal sino un réplica, un duplicado, y no tendría ventaja alguna el usarlo porque no reduciría la complejidad del experimento.
Para saber si podemos usar un modelo es necesario estimar la similitud del resultado modelado respecto al resultado real y valorar si ese resultado nos es útil y para qué.
Esto puede realizar de dos formas:
  • Cuando es posible, contrastando una pequeña parte de los resultados modelados con resultados reales (muestra de contraste).
  • Cuando no es posible, realizando un análisis de sensibilidad (aunque éste debe hacerse siempre).
Un ejemplo me ayudará a explicarme: tenemos una hoja de cálculo para modelar las variaciones de temperaturas en un perfil de suelo a lo largo de un día. La hoja representa el suelo en estratos o capas de 2 cm (primera simplificación) y estima la transferencia de calor de un estrato a otro mediante elementos finitos. Los datos de entrada son la luz solar (irradiancia) que se calcula cada 20 minutos (segunda simplificación), un coeficiente de conductividad y otro de difusividad que suponemos iguales para todo el perfil (tercera simplificación), etc. En el modelo hemos descartado introducir la nubosidad por su irregularidad (suponemos un día despejado) y así otros factores que creemos menos relevantes.
Este modelo tiene la bondad de ser contrastable: iríamos a varios lugares de características diferentes, pondríamos termómetros a varias profundidades y contrastaríamos las temperaturas reales con las predichas. Las divergencias nos permitirían dar valores de incertidumbre a los resultados mediante, por ejemplo, un intervalo de confianza al 95%. Los resultados adoptarían la forma, por ejemplo, de 13.2±1.5 ºC (I.C.: 95%). Lógicamente, el valor de incertidumbre puede no ser constante sino función de la temperatura y de los valores de conductividad o de sus combinaciones…
La idea fundamental es que conocemos hasta dónde llega la exactitud de los resultados modelados. Si nos vale o no es otra cuestión y depende de nuestros objetivos: habrá trabajos que soporten esa incertidumbre y otros que no.
Segundo ejemplo, más de moda que el anterior: predicciones de cambio climático. Resulta que aplicamos el modelo X de predicción de cambio climático y encontramos que en una zona determinada X predice una subida de 3.0 ºC en los próximos 80 años. ¿Cómo puedo saber si este resultado es fiable? Pues lamentablemente este modelo no es contrastable y no podemos, en principio, saber hasta qué punto es fiable. ¿Estamos perdidos? No del todo, podemos hacer una prueba que nos va a dar información indirecta sobre el asunto. Sería la siguiente: si el modelo X usa n variables xi (i=1..n) como entrada, vamos a hacer mil réplicas del proceso de modelado. Lógicamente, esos mil valores de temperatura que resultan serían iguales pero en estas réplicas vamos a cambiar esos valores originales añadiéndoles una desviación aleatoria: xi + ei . Esa desviación ei estará dentro del rango de incertidumbre de la medida xi. ¿Y cómo sabemos esa incertidumbre? Midiendo repetidas veces el valor xi en la realidad. Es decir, asignamos una incertidumbre a cada uno de los datos de entrada. En nuestro caso, si una de las entradas es la transparencia de la atmósfera habrá que medirla unos cientos de veces y calcular el valor medio y la incertidumbre asociada. Los modelos de cambio no se harán introduciendo repetidamente el valor medio sino muchos valores posibles calculados a partir de la incertidumbre de la medida. Y todo esto para cada variable y valor de entrada en el modelo X.
Este procedimiento nos permitirá ver, analizando los resultados, varias cosas. Entre ellas cuál es la variación en esos resultados. Cabe que esa subida de 3.0 sea, en realidad 3.0±0.3 ºC o cabe que sea 3.0±5.3 ºC. En este segundo caso el modelo no nos vale para nada que se me ocurra.

Otra cosa que podemos ver es si hay variables críticas, es decir, variables cuyas variaciones implican cambios relativamente mayores en los resultados que otras. Esas variables deben ser medidas con mayor exactitud que el resto (o dicho de otra forma, los otros pueden ser medidos con menos exactitud) lo que facilita la eficaz distribución de recursos a la hora de planificar la toma de datos.
Este análisis debe hacerse siempre, no sólo cuando el modelo no es contrastable, porque la información que nos proporciona es enormemente útil.
Dado que los modelos imitan el comportamiento de los sistemas reales sólo aproximadamente debemos analizar cuidadosamente qué modelo es adecuado para el objetivo que perseguimos y hasta que punto los resultados son de suficiente calidad.

Enlazando con el asunto del test de Turing, que un modelo haga buenas predicciones o proporcione buenos resultados no significa que funcione igual que la realidad. Por eso, la frase de Pedro mencionada al principio “si no somos capaces de falsar la hipótesis de que el modelo reproduce el comportamiento real, nos quedamos con el modelo” yo la entiendo como “si no encontramos diferencias entre los resultados del modelo y los resultados reales, aceptamos el modelo como buen generador de resultados”. Pero no podemos ir más allá y suponer que los mecanismos que generan resultados en el modelo y en la realidad son los mismos. De hecho, por la propia definición de modelo, nunca lo son. No lo sería ni siquera si el ordenador fuera inteligente porque suponer que su inteligencia fuera humana es de un antropocentrismo insostenible. De ahí mi objeción de ET al test de Turing que propuse días atrás y que hasta el momento no ha sido criticada :-)

Nota: más cosas sobre este tema han sido tratadas hace poco en CPI y en Malaciencia donde Remo y Alf han presentado aspectos distintos del asunto con ejemplos que van desde sistemas planetarios hasta el cambio climático.

13 diciembre 2006

Test de Turing: la objeción de ET

Hay temas que regresan una y otra vez, como las mareas o el cartero. El test de Turing es uno de ellos y recientemente me ha llamado la atención el post titulado ¿Superará pronto Google el test de Turing? Otro post al respecto se atreve nada menos que a decir esto:
En enero os contábamos los rumores de que Google podría estar desarrollando un sistema artificial entrenado para poder superar con éxito el test de Turing, y crear así la primera máquina realmente inteligente.
Y como he logrado recuperarme del ataque les invito a repasar brevemente la cuestión y ya me contarán sus opiniones.

Alan Mathison Turing propuso su test en un trabajo titulado Computing machinery and intelligence, publicado en la revista Mind en 1950.
El artículo comienza fuerte: I propose to consider the question, ‘Can machines think?’ Y ya en la primera página propone su “juego de imitación” como herramienta para responder a la pregunta. Posteriormente se han propuesto variantes del juego pero la explicada en la Wikipedia se entiende perfectamente:
La prueba consiste en un desafío. La máquina debe hacerse pasar por humana en una conversación con un hombre a través de una comunicación de texto estilo chat. Al sujeto no se le avisa si está hablando con una máquina o una persona. Si el sujeto es incapaz de determinar si la otra parte de la comunicación es humana o máquina, entonces se considera que la máquina ha alcanzado un determinado nivel de madurez: es inteligente.
Llegados aquí es importante distinguir entre dos cuestiones muy diferentes porque si no lo hacemos llenaremos de ruido la discusión. Y es que Turing hace algo de trampa: plantea la pregunta ¿pueden pensar las máquinas? pero no la responde sino que propone el test como vía de solución llevando las cosas a escenarios más controlables. Esta actitud genera la segunda pregunta ¿permite el test de Turing responder a la cuestión inicial? Y Turing y sus estusiastas intentan convencernos de que la segunda es equivalente a la primera.
Debo confesarles que siempre he pensado que el TT es una tontería y representa una rama del conductismo desprovista de verosimilitud. Pero también debo suponer que si tanta gente se ha pasado años discutiendo del asunto algo habrá que se me escapa. En cualquier caso, un conductista de esta secta diría que al ser indiferenciables los comportamientos, la base subyacente es la misma. Por ejemplo, entre los escritos entusiastas que he encontrado hay uno que lo expresa con claridad señalando
“si algo hace X es porque tiene la facultad, o la capacidad, o la posibilidad, o la aptitud de hacer X”
Lo cual me parece una frase interesante pero que no se ajusta a lo que en realidad ocurre en el TT por dos razones simples:
  • Cuando observamos las respuestas sólo estamos observando un efecto de su comportamiento, no el comportamiento en sí.
  • Nuestras herramientas de observación son incompletas, sesgadas y parciales lo que sólo permite en la prueba hacer una interpretación igualmente incompleta de lo observado (el efecto) cuya extrapolación a la causa es un ejercicio de fe, no de razón.
Para mí bastaría con estas dos razones que supongo alguien habrá dicho antes que yo (o a lo mejor soy un crank): que una máquina pase el TT sólo significa, en principio, que imita adecuadamente las respuestas que un ser humano. Y esta condición no es ni necesaria ni suficiente para otorgarle cualidad de inteligente.

Un contraejemplo que tal vez sea interesante es la simulación de organismos vivos (bacterias, por ejemplo) mediante programas de “vida artificial”. Ahora mismo es perfectamente posible ver en una pantalla la evolución de “organismos”, su crecimiento, sus interacciones y su división reproductiva sin que podamos distinguir si estamos observando organismos reales o virtuales. ¿Significa eso que hay vida detrás de esa pantalla?

Independientemente de mi incapacidad para darle trascendencia al test, el propio Turing plantea varias objeciones al mismo para luego demolerlas con estusiasmo. Las objeciones son banales y fácilmente refutables salvo la primera, que Turing llama desafortunadamente “objeción teológica”. Digo desafortunamente porque esta objeción está relacionada más bien con una concepción dualista donde los dioses pueden estar ausentes: el pensamiento es una propiedad del espíritu luego la superación del test es a) esencialmente imposible si el test es correcto o, b) irrelevante si el test se supera porque implicaría que hay un error en el proceso.

El problema de esta parte de la discusión es que en el planteamiento de las objeciones hay una constante confusión entre la pregunta original y la secundaria. A pesar de todo y desde mi inexperiencia en estas cosas, quiero aportar la mía a la que he llamado la “objeción de ET” y que, de nuevo, estoy seguro que no es original. Es breve: el test de Turing se basa en una concepción antropocéntrica que supone que, caso de desarrollarse una inteligencia, sería una réplica de la humana. El test sólo mediría, en el mejor de los casos, la propiedad de inteligencia "tipo-humano" que la máquina es capaz de trasladarnos. Y podemos proponer que si una máquina fuera inteligente y se sometiera al TT, en realidad sólo estaríamos observando los resultados de una interfaz comprensible para nosotros pero no “nativa”. Si la máquina quisiera que le diéramos por superado el TT tendría una doble carga: ser inteligente y desarrollar una interfaz que pudiéramos entender e imitara eficazmente nuestra forma de comunicarnos. Una emulación en cualquier caso que hace que el TT carezca de sentido.

Y aviso, anticipándome a posibles respuestas ya conocidas, que lo mio no es una objeción defensiva porque soy materialista y creo, hasta que alguien me demuestre lo contrario, que el pensamiento es sólo una propiedad emergente de la complejidad.

Nota final para tocar los bemoles: ¿está el test de Turing de moda en otros ámbitos? Por ejemplo, los polícias que mataron a Jean Charles de Menezes en Londres el 22 de julio del 2005 lo hicieron como consecuencia de un siniestro TT: observaron al joven, interpretaron que se comportaba como un terrorista luego era un terrorista. El resultado ya lo conocemos. Lo que sugiere que no todo el mundo es lo que parece ser.

Por terminar menos serio ¿quién se anima a hacer el TT a un Replicante Nexus-6? Acuérdense de cómo termina la prueba

  • Holden: Sólo son preguntas, Leon. En respuesta a la suya, le diré que me las dan escritas. Es un test hecho para provocar una respuesta emocional. ¿Quiere que sigamos? Descríbame con palabras sencillas sólo las cosas buenas que le vienen a la mente... acerca de su madre.
  • Leon: Le voy a hablar de mi madre... (disparos)
Grab this Widget ~ Blogger Accessories
 
º