You are on page 1of 4

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 debera tener una inteligencia general.
Nosotros proponemos que un programa de "Inteligencia Artificial General" no debera tener programado sus
distintas capacidades. Debera aprenderlos, paso por paso, como lo hace un chico humano. Para empezar en
esta direccin, 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 informacin desde los sentidos.
Esto es algo similar al arco estmulo - respuesta del cual se habla en biologa.
El Aprendiz Universal 3 trabaja de maneras, interactuando con una persona o buscando "patrones" en su
memoria de reglas.
Introduccin
Para construir un cerebro de robot hay dos estrategias importantes:

Primero, no podemos planear la estrategia detallada y final del programa futuro del cerebro. Esto sera
como si los hermanos Wright habran diseado un Boeing 707. Ellos no tenan los conocimientos
necesarios para hacer esto. Construir la arquitectura tiene que hacerse paso por paso. La experiencia
ganada en cada paso entonces se usara para construir el prximo paso.

La segunda estrategia es la de construir un programa que aprende de la misma manera como lo hace
un chico. Aprendiendo como un beb y un chico, es ms fcil y ms rpido que programar todos los
conocimientos y habilidades necesarias. Cuando se usa el programa como cerebro de robot tendramos
que programar como levantar una cuchara, como lavar los platos y como guardar todo en un armario.
Tambin como limpiar el piso etctera. Esto es una tarea tremenda si consideramos que cada casa es
diferente. El robot tambin puede ser usado como carpintero, ingeniero, vendedor y otras tareas. Cada
vez que se precisa una actividad diferente, el robot debera aprenderla en lugar de ser programado.
Aqu estamos hablando de actividades fsicas, pero lo dicho vale tambin para actividades mentales.
Tambin estas los debera aprender, de simple a difcil. Me parece que es ms fcil si, en lugar de
programar, dejamos que el robot aprenda como un bebe, despus como un chico y finalmente como
una persona adulta.

El Programa
El "Aprendiz Universal 3". Este es inspirado ms biolgicamente que un programa de inteligencia artificial
para un campo especfico. Para explicar, usamos la famosa caja negra. Hay entradas desde los sentidos y
salidas por los actuadores. Este programa tiene los siguientes sentidos:

teclado

Visin (2 Quickcam de color)

Sonido (micrfono)

Sensores en el cuerpo (24 sensores del ngulo de los miembros, 2 sensores de verticalidad)

Estos son los actuadores:

Los miembros del cuerpo (actuados neumticamente)

Todas las entradas estn codificadas como conceptos, que se llaman por su nmero. Los conceptos que llegan
juntos y al mismo tiempo, representan la situacin que existe fuera 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 situacin dada. Estos los enva.
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, tamao y posicin de algo visto. Ms tarde ms
informacin es agregada a un concepto, como referencias a otros conceptos y a reglas.
Tambin 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 nmero del encoder de ngulo, la posicin objetiva y la velocidad.
La conexin 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 situacin de entrada corresponde
a una regla aprendida, la caja negra enva los conceptos de la parte salida de la regla. Estos conceptos definen
una situacin, la situacin que se quiere, la situacin meta. Hay una regla interior que toma estos conceptos y

hace la accin requerida.


Una regla interior es una regla instintiva que trabaja sobre situaciones dentro del cerebro.
La razn 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
actan.
Hay diferentes tipos de conceptos: "texto", "visin", "abstracto", "combinado" y "accin". 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 situacin a la cual es
aplicable (Sit1), otra para los valores de estos conceptos, otra para la situacin intermedia (si es una regla
combinada) o una accin elemental (si es una regla elemental) y la situacin futura (FutSit). Todos los
conceptos y reglas se guardan en la memoria. Adems hay una memoria cronolgica, 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 tambin las reglas internas sern
aprendidas, combinando reglas elementales. Estas reglas elementales activarn 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 operacin. El modo "despierto" cuando interacta 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 ms generales y por eso aplicables a muchas situaciones similares. En el
modo dormido, el cerebro es activo sin estmulos exteriores.
En el inicio, el programa lee lo almacenado en la memoria (o crea una nueva), y crea reglas internas y
conceptos internos. Despus se pone en modo despierto.
Pruebas
Aqu mostramos algunos resultados de pruebas, usando solamente entradas y salidas
de texto. Entre entrada y salida mostramos un "->".
Prueba 1
Hemos tipeado la entrado y salida de una serie de
textos;
Soy Pedro -> Hola Pedro
Soy Pablo -> Hola Pablo
con nombres distintos.
Despus lo hemos dormido. El programa encontr
el patrn y reemplaz el nombre en la salida por el
encontrado en la entrada.
Ahora entramos "Soy Juan" y contesta
correctamente "Hola Juan".
Prueba 2
Hemos tipeado "escriba tres P" -> "P P P"
Despus lo mismo con "3" y en el tercer ejemplo
con el III romano.
Al dormir el programa abstrajo un concepto nuevo
que tena como conceptos concretos tres", "3" y
"III".
Ahora le enseamos:
Deme 3 A -> A A A
Para ver si puede usar el concepto abstracto, hemos
tipeado:

Deme tres A y contest "A A A".


Aprendi que "3" puede ser reemplazado por "tres"
Prueba 3
Hemos tipeado:
Escriba el nombre Ana -> Ana
Escriba su nombre Ana -> Ana
Escriba Ana aqu y ahora -> Ana
Mientras dorma, el programa generaliz,
eliminando lo que era superfluo y cre una regla
generalizada. Ahora hemos tipeado "Escriba Ana"
y el programa escribi Ana.
Prueba 4
Hemos entrado:
escriba dos B -> BB
escriba dos C -> C C
escriba dos D -> D D
Despus de dormir hemos tipeado:
escriba dos Pedro,
y el programa contest
Pedro pedro

Prueba 5
De la misma manera tambin le enseamos los
conceptos para "tres". "cuatro", "cinco" y "seis".
Despus le hemos enseado el concepto "menos".
Hemos tipeado:
escriba cuatro E menos dos E -> E E

escriba seis F menos dos F -> F F F F


escriba seis G menos tres G -> G G G
Despes de dormir hemos tipeado:
Escriba cinco X menos dos X
Y contest correctamente: X X X

Algunas facetas interesantes del programa

Todos los conceptos y reglas, relacionados con el entorno, son aprendidos. Por eso el
programa es aplicable a cualquier entorno y es realmente general. Pero precisa los sentidos y
actuadores necesarios.

La entrada de texto en lenguas diferentes se maneja de la misma manera en todo el


programa. Si se ensea en ingls, el programa aprende a contestar en ingls. Si se ensea en
otra lengua, el programa responde en esta lengua.

El programa tiene una manera de operar despierta y otra de operar dormida. Mientras que la
persona interacta con el programa, este contesta inmediatamente. La tarea de extraer
"patrones" (regularidades) de la memoria, que consume mucho tiempo, lo hace el programa
en el modo dormido, o sea cuando ninguna persona espera una contestacin.

El programa es muy simple, usa solamente dos tipos de objetos, los conceptos y las reglas.

Como los conceptos y reglas son datos y no cdigo de programacin, pueden cambiar
durante la ejecucin del programa.

El programa representa un objeto compuesto del entorno por un concepto compuesto. Un


concepto compuesto es compuesto de conceptos para cada parte.

Conclusin
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
debera ser lo ms 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 pjaros mueven sus alas, pero los aviones tienen alas fijas y motores jet.
La mejor manera artificial de hacer algo no es siempre idntico a la mejor manera biolgica.
El Aprendiz Universal 3 muestra algunos capacidades que tambin 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 versin 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 geomtrica. Cuando usamos una lengua para ensear, 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 oracin 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
matemtica superior, primero con papel y lpiz, fsicamente, y solamente ms 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.

You might also like