Aprendiz Universal 3

download Aprendiz Universal 3

of 4

description

Aprendiz Universal 3Robotica

Transcript of Aprendiz Universal 3

Aprendiz Universal 3El ltimo programa de la serie Aprendiz Universal, el GL3, que fue probado y anda.ResumenEl cerebro de un robot humanoide debera tener una inteligenciageneral.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"yreglas. 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.IntroduccinPara 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 ProgramaEl "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.PruebasAqu mostramos algunos resultados de pruebas, usando solamente entradas y salidas de texto. Entre entrada y salida mostramos un "->".

Prueba 1Hemos tipeado la entrado y salida de una serie de textos;Soy Pedro -> Hola PedroSoy Pablo -> Hola Pablocon 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 2Hemos 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:Deme3A -> A A APara ver si puede usar el concepto abstracto, hemos tipeado:DemetresA y contest "A A A".Aprendi que "3" puede ser reemplazado por "tres"Prueba 3Hemos tipeado:Escriba el nombre Ana -> AnaEscriba su nombre Ana -> AnaEscriba Ana aqu y ahora -> AnaMientras 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 4Hemos entrado:escriba dos B -> BBescriba dos C -> C Cescriba dos D -> D DDespus de dormir hemos tipeado:escriba dos Pedro,y el programa contest Pedro pedroPrueba 5De 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 Eescriba seis F menos dos F -> F F F Fescriba seis G menos tres G -> G G GDespes de dormir hemos tipeado:Escriba cinco X menos dos XY contest correctamente: X X XAlgunas 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.ConclusinHemos 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.