Antes de nada, debo advertir que este artículo lleva truco, pero deberías leer hasta el final la entrada para poder verlo y entenderlo.
Como muchos sabréis Turing (creador de la primera computadora, padre de la Inteligencia Artificial y uno de las mentes más privilegiadas de la historia) publicó en 1950 uno de los, que quizás sea, más famosos artículos científicos: “Computing machinery and intelligence”. Lo que quizás a algunos se os escape es que dicho artículo se publicó en la que fue la primera revista científica psicológica de la historia: “The Mind”. En este artículo Turing propuso un test para poder demostrar la posible “inteligencia” de un sistema artificial y la que sigue siendo uno de los mejores métodos para los defensores de la Inteligencia Artificial. Se fundamenta en la hipótesis positivista que reza “si una máquina se comporta en todos los aspectos como inteligente, entonces debe ser inteligente”. La prueba consiste en el siguiente desafío: un juez debería comparar la repuestas de dos sistemas (hombre vs maquina) y descubrir cuál era el ser humano y cuál es la máquina. Si el juicio del juez (o jueces) era engañado por la maquina entonces el sistema artificial era “inteligente” al menos tanto como el ser humano. Esta prueba se viene realizando desde 1990 en un concurso anual (el Premio Loebner) donde cuatro jueces humanos se enfrentan a dos pantallas de ordenador, una bajo control de un ordenador y otra bajo control humano. El juez plantea preguntas a las dos pantallas y recibe respuestas y tan solo en el año 2010 y 20012 Bruce Wilcox fue capaz de ganar en dos ocasiones los 100.000 dólares al pasar el test.
La cuestión de traer el Test de Turing aquí no es sólo reconocer la perspicacia de su propuesta, sino tratar de aplicarlo a un supuesto. El supuesto que propongo trata de poner a prueba dos paradigmas encontrados y diferenciales para explicar el comportamiento de un sistema inteligente. El Supuesto que lanzo es el siguiente:
“Dado dos sistemas neuronales artificiales, uno de ellos basados en los modelos cognitivos (NeuroCog) y otro desarrollado bajo las premisas Conductistas (NeuroComp) ¿Cuál pasaría la prueba de Turing donde el juez fuera una computadora? Lo diré de otra manera. Si pudiéramos crear un sistema neuronal artificialmente ¿cuál sería la mejor manera de “programarlo” para engañar a una maquina?
Interfaz "NeuroCog"
Siguiendo las premisas cognitivistas, el sistema “Interfaz Neuronal” que estaremos programando debería tener capacidad de volición, es decir “voluntad” e “Intencionalidad”. Su comportamiento (sus respuestas) respondería a procesos controlados internamente por el sistema a través de diferentes funciones inaccesibles por el programador. Es decir sería un sistema “teleológico” donde la repuesta sería causada por el sistema. La conducta sería dirigida por el sistema de manera causal y unidireccional (el Interfaz causa la repuestas) a partir de la información que posee y que gestiona en función del objetivo que se le plantea y evaluando las posibles repuestas a partir de esa información pre-programada. De manera que las respuestas son “seleccionadas” comparando los resultados de su respuesta con el “plan” que previamente tendría pre-diseñado. De esta manera, la memoria (tanto de contenidos como de procesamiento) sería una de sus “funciones” principales, dado que cuanto más cantidad de datos (Información) posea por un lado y sea capaz de procesar por otro, más potente sería. La memoria del Interfaz Neuronal dotaría al sistema de “potencia de análisis”, donde si los recursos son ilimitados el sistema daría repuesta ilimitadas. Cada error de respuesta serían sesgos que se producirían en el sistema, que se mantendrían a lo largo de la línea de programación, de manera que la repuesta final sería la interacción entre la información que posee el sistema y suplementada con los sesgos de repuesta que tuviera pre-programado. Por tanto el programador debería estar preocupado, no tanto por la respuestas del Interfaz Neurocog, sino por la información que posee y de cómo el manejo de dicha información debe ser procesada para obtener la respuesta más ventajosa.
Por otro lado dicho Interfaz Neurocog, debería estar montado a partir de diferentes módulos diferenciados e hiper-especializados para cada parte de la tarea que tuvieran que desarrollar. El Interfaz estaría compuesto por módulos universales (valdrían para cualquier Interfaz que quisiéramos montar) doblemente disociados e hiperespecializados, organizados en un sistema jerarquizado temporalmente y claramente localizados en el sistema neuronal que configuráramos. De esta manera cuando la información llegara al sistema un primer módulo se encargaría de procesar la “Información” y derivarla a su módulo correspondiente. Pero además, todo ello estaría gobernado y dirigido por un módulo general que re-evaluaría cada proceso realizado y filtrando, inhibiendo o activando tanto a los diferentes módulos implicados como a las cadenas de información que debían ser procesadas.
Estas ideas fueron aplicadas en algunas películas de ciencia ficción como es el caso de “El hombre bicentenario” (Chris Columbus, 199), “Yo, Robot” ( Alex Proyas, 2004) o “Eva” (Kike Maíllo, 2011). Por tanto se podría resumir que las características de este sistema NeuroCog debería asumir las siguientes premisas:
- Asumir causalidad y unidireccionalidad en la emisión de la respuesta: el sistema Interfaz NeuroCog es el centro y origen del comportamiento y repuestas que dé el sistema. Por tanto la repuesta emergería del sistema programado en respuesta a la exigencia realizada por los jueces.
- Debe asumir el preinformismo y el esencialismo del sistema, donde las preprogramaciones, sesgos e información que tenga preestablecido determinará las posibles repuestas que emita.
- Los procedimientos de selección de repuestas son realizados por el propio sistema, reevaluando sus resultados, poniéndolos en relación a su “plan” original, evaluando las diferencias entre resultados obtenidos vs resultados esperados y re-elaborando una nueva respuesta a partir de dichas diferencias.
- Derivada de la anterior, asumiría igualmente que partes concretas del sistema son el origen de la repuesta, por lo que no es el sistema programado en su conjunto los asociados a cada repuestas, sino que cada parte de la respuesta esta modularmente programada, al menos una encargada de procesar, otro de elaborar y procesar la información, otro modulo encargado de relacionar la información con la existente, otro encargado de producir la respuesta y un último modulo encargado de evaluar los resultados.
- Asume la volición e intención al sistema, es decir, teleología del comportamiento donde la repuesta del Interfaz va dirigida y mediatizada por el objetivo que se le marque.
- Por ende, de lo anterior asume que los procesamientos y análisis que haga el sistema de manera “interna” son de naturaleza y función diferente a la que realizará públicamente, por tanto dicho procesamiento (inaccesible para el programador) será de naturaleza diferente a la que es observable por el programador.
- Por último asumiríamos que ciertas funciones propiamente humanas (como la conciencia o las emociones) son ajenas a un sistema artificial. De hecho estas funciones en el Interfaz no surgen por una programación ad hoc realizada por el programador, sino que aparecería por una combinación aleatoria de la información manejada por el sistema. La conciencia, voluntad o emociones en el sistema no pueden ser programadas intencionalmente por el ingeniero, sino que surge por variaciones en la programación azarosas que desarrollarían esta cualidad en el sistema.
Este modelo se ha utilizado, por ejemplo, en el sistema SIRIS que vienen en las aplicaciones de los nuevos iPhone o en los nuevos navegadores y localización por GPS (como el TomTom) ¿Podríamos decir que son sistemas inteligentes? ¿Crees que el TomTom puede considerarse un sistema inteligente?
Interfaz “NeuroCom”
Otra manera de programar a nuestro sistema Interfaz Neuronal sería a partir de diferentes componentes más simples. Sería un Interfaz con una serie de módulos de programas básicos de interacción. Estos “scripts” básicos preprogramados deben ser flexibles, permitiendo que se pudieran ir implementando a medida que el sistema evolucione. La evolución de los scripts solo se producirían si existieran nuevas y variadas interacciones, por lo que este conjunto de scripts iniciales no deberían cambiar si la exigencia del medio no variara y se mantuviera constante, permitiendo que el sistema sobreviviera a él produciendo un mínimo número de respuestas. Pero estos scripts básicos deben ser susceptibles de modificación, es decir, que si la repuesta no fuera adecuada a las exigencias del medio, el propio script fuera variando hasta conseguir una repuesta “aceptable”, es decir si cumplen un criterio determinado. El sistema NeuroCom partiría de un mínimo conjunto de scripts que irían variando inicialmente al azar, y siendo seleccionadas por las consecuencias obtenidas. El principio básico es aumentar la eficiencia del sistema (máxima respuestas variada con el menor consumo de recursos). De esta forma el plan de desarrollo no está preestablecido por el programa, sino que son las consecuencias obtenidas las que irían seleccionando las variaciones más “adapatativas”. Dicho de otro modo, el sistema es teleonómico (y no teleológico). De esta forma no habría diferentes partes o módulos hiper-especializados (quitando aquellos scripts programados inicialmente) sino que el conjunto del sistema es el que interactuaría, provocando en su conjunto un continuo de respuestas y variaciones de las mismas que son seleccionadas por las consecuencias contiguas provocadas contingentemente. Por ende el fenómeno base en el que se fundamenta el Interfaz NeuroComp es el Aprendizaje (no la memoria), de manera que el sistema más “inteligente” no es el que posea mayor capacidad de información o más capacidad de procesamiento sino el que provoque más variaciones de respuestas permitiendo así seleccionar aquella más aceptable (adaptativa). De manera que sistema no evalúa en base a las respuestas acertadas (cumplidoras del criterio) sino también sobre los errores cometidos (no cumplidoras del criterio exigido), de manera que a medida que el sistema se va desarrollando la probabilidad de emisión de ciertas repuestas vaya aumentando el peso sobre el resto de posibles respuestas.
Algunas películas de ciencia ficción se han basado en el este sistema, véase por ejemplo “ El doctor Frankenstein “ (dirigida por James Whale, 1931), A.I. Inteligencia Artificial (Steven Spielberg, 2001) o “The Machine” (Caradog W. James, 2014) .
De acuerdo con estas premisas se han hecho modelos de aplicación de inteligencia artificial como son la “Computation Intelligence Car Evolution Using Box2D Physics (v3.2)” o el “Eureqa, the robot scientist”. Estos sistemas aún están poco desarrollados pero son sin duda claramente prometedores. Un investigador del MIT (Deb Toy) precisamente aplica estos principios al aprendizaje robótico.
Por tanto se podría resumir que las características de este sistema NeuroCom debería asumir las siguientes premisas:
- Asumiría que la conducta es el producto de la relación del sistema con el ambiente que se haya programado para su desarrollo y la experiencia de selección de posibles respuestas de la que se vaya asumiendo por el Interfaz producto de la experiencia previa. De esta forma el sistema no sería la causa de la conducta, sino que la respuesta del sistema NeuroCom es el producto de la interacción del sistema con el entorno programado y su experiencia previa. La respuesta así seria relacional no causal, dicho de otra manera, funcional no asociativa.
- No asume preinformismo, ni esencialismo, sino experiencia. Es cierto que el sistema operativo básico debe poseer una serie de scripts básicos, pero deben ser aquellos que con la menor cantidad de scripts seleccionados magnifiquen las variaciones de respuestas. Además toda conducta que funcionalmente haya sido valida, sería conservada para el futuro y marcando posibles variaciones de sesgo en el futuro.
- Por tanto los sistemas no podrían ser reproducibles al 100%, es decir, no existirían dos sistemas completamente iguales, sino que muy al contrario, cada sistema operativo NeuroCom tendrían variaciones sustanciales con el tiempo, dado que cada uno de ellos tendrían experiencias diferentes y variaciones conductuales diferenciales.
- Los procedimientos de selección de repuestas son realizados no por el propio sistema sino por las contingencias resultantes de emitir cada una de las respuestas. De esta forma, una repuesta asumiría un peso diferencial para el futuro dependiendo de las consecuencias obtenidas por el propio sistema, conservando o descartándola para su emisión en el futuro.
- Por tanto el Interfaz NeuroCom no se encontraría dividido en diferentes módulos, sino que el propio sistema en su conjunto es el que interacciona, habiendo equipotencialidad de cualquier parte del sistema.
- Asume pues la carencia completa de volición e intención, siendo elementos no requeridos por el sistema para su funcionamiento ni para explicar su funcionamiento, es decir es un modelo teleonómico donde la repuesta del Interfaz está controlado por la consecuencia, la cual selecciona la variación de conducta más eficiente (mayor resultado con el menor consumo de recursos).
- Por ende, de todo lo anterior asume que los procesamientos y análisis que haga el sistema de manera “interna” son de la misma naturaleza y función a la que realizaría públicamente, dado que el procesamiento “interno” (inaccesible para el programador) surge de la producción de la repuesta observada.
- Por último asumiríamos que ciertas funciones propiamente humanas (como la conciencia o las emociones) no son ajenas a un sistema artificial sino resultado de la propia evolución del sistema. De hecho, estas conductas (que no funciones) en el Interfaz no surgen por una programación ad hoc o por una combinación aleatoria de la información manejada por el sistema, sino que aparecería cuando el Interfaz haya adquirido la respuestas necesarias para que se desarrollen (prerrequisitos de repuesta que debe ser adquirido en el proceso de aprendizaje del propio sistema). La conciencia, voluntad o emociones en el sistema no serían programadas intencionalmente por el ingeniero, sino que surgirían por variaciones en las repuestas del sistema, pero no azarosamente sino al cumplir una serie de requisitos previamente establecidos.
Nota final
¿Bajo estas premisas cual creéis que sería más eficaz a la hora de crear un sistema artificial? ¿Con cuál de los sistemas crearíais un Interfaz de Inteligencia Artificial más eficaz, eficiente y efectivo?
Ya os advertí que esta entrada tiene truco. Si aún os quedan ganas, releed de nuevo el artticulo, cambiad las palabras Sistema o Interfaz por "cerebro" y entenderéis como funcionaria el hominido Sapiens Sapiens (es decir, tu), y como la naturaleza te programa.
Jose Andrés Lorca