Sistemas inteligentes y sus sociedades Walter Fritz

 

English            

Aprendiz Universal 3

El último programa de la serie Aprendiz Universal, el GL3, que fue probado y anda.

 

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.

 

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:

Estos son los actuadores: Todas las entradas están codificados como conceptos, que se llaman por su número. Los conceptos que llegan juntos y al mismo tiempo, representan la situación que existe afuera de la caja negra. Al principio la caja negra no puede saber que significan estos conceptos. Pero puede "aprender" que conceptos de salida son convenientes en una situación dada. Estos los envía.
Los sentidos crean los "conceptos" de entrada. Inicialmente estos conceptos contienen solamente datos de los sentidos, por ejemplo letras de una palabra o forma, color, tamaño y posición de algo visto. Más tarde más información es agregado a un concepto, como referencias a otros conceptos y a reglas.
También la salida es un o varios conceptos. Cuando la salida es un texto el programa usa conceptos de entrada. Un concepto de movimiento contiene el numero del encoder de ángulo, la posición objetiva y la velocidad.
La conexión entre conceptos de entrada y salida son las "reglas", a veces llamadas producciones o procedimientos por otros investigadores. Las reglas contienen los conceptos de entrada y los correspondientes conceptos de salida. La caja negra aprende estas reglas. Finalmente cuando la situación de entrada corresponde a una regla aprendida, la caja negra envía los conceptos de la parte salida de la regla. Estos conceptos definen una situación, la situación que se quiere, la situación meta. Hay una regla interior que toma estos conceptos y hace la acción requerida.
Una regla interior es una regla instintiva que trabaja sobre situaciones dentro del cerebro.
La razón para trabajar con conceptos y reglas es que son datos y no son funciones del programa. Como tales el programa puede crearlos y cambiarlos mientras esta andando.

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 secuencia 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 modo dormido, el cerebro es activo sin estímulos exteriores.
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 un programa futuro de cerebro robot, 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, fisicamente, y solamente mas tarde las puede hacer 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 necesarias. Solamente al hacer y probar el programa podemos mejorar su capacidad y arquitectura.
Para el próximo paso del desarrollo, vea el cerebro de robot.

 

Hazme un favor: Si te gustó esta página comunícaselo a tus amigos.
El autor apreciaría recibir tus comentarios y sugerencias.

 

Para leer de corrido, como un libro - continua aquí
Saltar alcontenido del libro /  Robby, el robot casero /  
Cerebro de robot /  comienzo de este documento 


Ultimo cambio: 10 Mayo 2013 / Walter Fritz