| Sistemas inteligentes y sus sociedades | Walter Fritz |
Un cerebro artificial para un robot humanoide
El último programa de la serie Aprendiz Universal, el GL3, que anda y fue probado.
Resumen
El cerebro de un robot humanoide debería tener una inteligencia general.
Nosotros proponemos que un programa de "Inteligencia Artificial General" no debería tener programado sus distintas capacidades. Debería aprenderlos, paso por paso, como lo hace un chico humano. Para empezar en esta dirección, fue construido un programa simple, el Aprendiz Universal 3. Este programa aprende y trabaja con "conceptos" y
"reglas".
Los conceptos representan acciones y sensaciones (percepciones de los sentidos).
Las reglas indican lo que hay que hacer cuando el programa recibe información desde los sentidos.
Esto es algo similar al arco estímulo - respuesta del cual se habla en biología.
El Aprendiz Universal 3 trabaja de maneras, interactuando con una persona o buscando
"patrones" en su memoria de reglas.
Introducción
Me parece, que para construir un cerebro de robot hay dos estrategias importantes:
Aquí explicamos un primer paso en esta dirección, el Aprendiz Universal 3. La idea básica de este programa es que debería aprender cualquier tarea, lo mismo como aprende un bebé en los primeros años de su vida.
Si estas interesado en saber cómo el programa se desarrolló a base de versiones previas, vea a Historia del programa
El Programa
El "Aprendiz Universal 3". Este es inspirado mas biológicamente que un programa de inteligencia artificial para un campo especifico.
Para explicar, usamos la famosa caja negra. Hay entradas desde los sentidos y salidas por los actuadores.
Este programa tiene los siguientes sentidos:
El Aprendiz Universal 3 es un programa de computadora, escrito en lenguaje C. Corre en una PC con un sistema operativo Windows XP. El programa soporta los conceptos y reglas. Estos por su parte aprenden y actúan.
Hay diferentes tipos de conceptos: "texto", "visión", "abstracto", "combinado" y "acción". Pero todos tienen la misma estructura. Un concepto tiene una rama de estructura para el tipo, otra para contenido, otra para "conceptos concretos" relacionados, otra para "conceptos abstractos" relacionados, para "conceptos parte" relacionados, para "conceptos combinados" y en que regla se usa el concepto.
Una regla tiene una estructura con una rama para su tipo, otra para los conceptos de la situación a la cual es aplicable (Sit1), otra para los valores de estos conceptos, otra para la situación intermedia (si es una regla combinada) o una acción elemental (si es una regla elemental) y la situación futura (FutSit). Todos los conceptos y reglas se guardan en la memoria. Además hay una memoria cronológica, donde el programa guarda reglas externas en la secuéncia en la cual fueron usados.
Hay situaciones, reglas, y conceptos "internos" y "externos". Los llamados "internos" se usan en situaciones dentro del cerebro.
Estamos usando reglas internas, porque creemos que en versiones futuras también las reglas internas serán aprendidos, combinando reglas elementales. Estas reglas elementales activarán funciones del lenguaje C.
Todos los conceptos que representan objetos del entorno son aprendidos. Por el momento conceptos y reglas internas se crean al iniciar el programa. No son aprendidos por el programa.
El programa tiene dos modos de operación. El modo "despierto" cuando interactúa con una persona y el modo "dormido" cuando el programa es inactivo en el ambiente y activo internamente.
Usamos el modo "dormido" porque es muy molesto para la persona si el programa para continuamente porque está ocupado, aprendiendo algo. La persona normalmente quiere una respuesta inmediata. Actualmente la persona indica, a la computadora, por el menú, cuando es tiempo de dormir y cuando debe estar otra vez despierto.
En el modo dormir el programa observa su memoria de reglas, creadas por experiencia, y basado en ellos, crea reglas nuevas. Estas reglas nuevas son más generales y por eso aplicables a muchas situaciones similares.
En el inicio, el programa lee lo almacenado en la memoria (o crea una nueva), y crea reglas internas y conceptos internos. Después se pone en modo despierto.
Vea detalles del modo despierto
Aquí puede ver detalles del modo dormido
Pruebas
Una vez escrito, hemos probado el programa.
Vea las Pruebas
Algunas facetas interesantes del programa
Conclusión
Hemos mostrado un primer paso del camino para llegar a un programa de inteligencia artificial general a nivel humano. Por eso precisamos un programa que puede aprender todo. Un programa así debería ser lo más simple posible, preferiblemente tan simple como las muchos neuronas interconectadas en el cerebro humano. Hemos elegido reglas que tienen una entrada y una salida. Tanto la entrada como la salida son representadas con conceptos. Pero hay una diferencia, una regla hace el trabajo de muchas neuronas. Es normal que haya diferencias entre lo natural y lo artificial. Los pájaros mueven sus alas, pero los aviones tienen alas fijas y motores jet. La mejor manera artificial de hacer algo no es siempre idéntico a la mejor manera biológica.
El Aprendiz Universal 3 muestra algunos capacidades que también se precisan en el programa de Inteligencia Artificial General a nivel humano. El programa puede aprender de su experiencia, puede abstraer y generalizar. Puede captar el sentido de una palabra, o sea lo que representa. Por ejemplo puede aprender que cantidad está involucrada y en una versión previa del programa, trabajando con dibujos en la pantalla de una computadora, aprendió lo que es vertical y horizontal y usó el concepto aprendido para rotar una figura geométrica. Cuando usamos una lengua para enseñar, aprenda en esta lengua. Cualquier lengua que se puede entrar, usado el teclado, lo puede aprender. Por el momento, su entendimiento de una lengua es muy limitado. En una oración que se entra, no puede entender referencias indirectas, negaciones y condiciones.
El programa Aprendiz Universal 3 muestra que es posible aprender que movimientos del cuerpo se quiere cuando se ingresa un texto. Una persona aprende muchas actividades "mentales" como matemática superior, primero con papel y lápiz, y solamente mas tarde las puede hacerlos en la mente solamente.
En pocas palabras, el Aprendiz Universal 3 es un inicio. Pero mucho falta hacer. Aparte de las inhabilidades conocidas. debe haber muchas, desconocidas por el momento. En cada etapa del desarrollo del programa, solamente pruebas pueden mostrar que son neces
sarias. Solamente al hacer y probar el programa podemos mejorar su capacidad y arquitectura.
Para el próximo paso del desarrollo, vea el "cerebro propuesto para un
robot casero.
Para leer de corrido, como un libro - continua
aquí.
Saltar al
contenido del libro /
Robby, el robot casero /
Historia de los programas del autor. /
comienzo de este documento