Sistemas inteligentes y sus sociedades Walter Fritz

 

English            

Cerebro de Robot


Un cerebro propuesto para un robot casero

 

Aquí está un resumen:

Que es lo que puede hacer.
Esto es una propuesta de un cerebro que debe aprender de manejar un robot humanoide casero, haciendo cualquier tarea en cualquier ambiente.

Es mejor aprender todas las actividades.
Aprender como un chico es más fácil, y más rápido que programar en detalle todos los conocimientos y habilidades. Cómo el robot tiene que hacer tareas caseras, tendríamos que programarlo para cada hogar. Por ejemplo tendríamos que programarlo para lavar platos y como guardar todo en un cierto lugar. Por eso es más fácil que una persona de la casa muestre la tarea al robot.

Conviene usar estimulo y respuesta
El cerebro propuesto está inspirado en la biología. Como sabemos, "estimulo y respuesta" es un mecanismo importante en animales y personas. Hay un mecanismo de estimulo y respuesta en un cerebro biológico. Si miramos un cerebro con un microscopio, observamos neuronas estimuladas por una cantidad de otras neuronas, y la neurona hace una respuesta. También, cuando observamos muchos neuronas relacionadas (una columna neuronal), encontramos un estimulo en la entrada y una respuesta en la salida.
Así se observa que encontramos el estimulo y la respuesta en todos los niveles, desde solamente una neurona hasta el cerebro completo. Es por eso que representamos la actividad del cerebro del robot como estimulo y respuesta, como una reacción a una situación.

¿Cuales sentidos y actuadores necesitamos?
Para cualquier cerebro son muy importantes los sentidos y actuadores que tiene. Los conceptos básicos (símbolos, ideas) que usa tienen que ser creados a base de los sentidos. Solamente escribiendo la palabra para "velocidad", no sirve para entenderla.

Este programa aprende de su propia memoria
Lee su memoria de experiencias, busca similitudes, y basado en esto, crea conceptos más abstractos y reglas de actuación mas generalmente aplicables.

Se puede agrandar la memoria de este programa libremente.
En este programa una memoria mayor no hace que el tiempo de reacción sea más lento. Una "situación presente" está compuesta de "conceptos", y cada uno de estos conceptos contiene una lista de las direcciones de las " reglas " en las cuales están usados. Así la búsqueda de reglas aplicables a un cierto concepto toma muy poco tiempo. Normalmente el cerebro cicla 30 veces por segundo, para obtener un movimiento suave de los miembros del cuerpo.

El cerebro entiende diferentes lenguas.
La entrada de textos en una lengua o otra se hace de la misma manera. El cerebro contesta en cada lengua que le fue enseñada.

Pruebas
Esta propuesta está basado en dos programas previas, que fueron probados con éxito.

¿Para qué escribo todo esto?
Espero que encuentras muchas ideas útiles en este texto. Pregúnteme si precisas más detalles (Walter Fritz).

 

Consideraciones preliminares

Un bebé ya al principio de su vida, tiene la capacidad de aprender cómo mover y coordinar sus brazos, de cómo distinguir las caras, de cómo aprender algunas palabras y de pronunciarlas.
Todo esto muestra la necesidad de aprender temprano, desde la enseñanza por la madre y de ganar experiencia jugando con pelotas, con cubos de madera y otros juguetes. Estos juegos son importantes, porque enseñan cómo funciona el entorno, por ejemplo la diferencia de lo que pasa si se empuja a un cubo de madera ó una pelota. La mayoría de las personas subestiman la importancia de jugar.
Después viene le enseñanza en el jardín de infantes, la escuela y la universidad.

Aquí está un ejemplo que muestra que una persona normalmente reacciona y no actúa según un plan.
Ella ve un reloj que muestra las 8 de la mañana (la situación). Por esto toma sus cosas y camina hasta la puerta (acción). La puerta está cerrada (situación). Así que saca sus llavea y la abre (reacción).
Durante todo esto no entro en su consciencia el hecho que está yendo al trabajo para ganar plata (no estaba actuando según una meta). Ella reacciona automáticamente sin "pensar". Una actividad orientada a una meta se aprende y se usa de vez en cuando.

Para un cerebro de robot, el tipo de sensores y actuadores que tiene, es muy importante. Los "conceptos" (símbolos, ideas) que usa tienen que estar basados en los sentidos. Sin visión, o imagenes en la pantalla de una computadora, no puede entender conceptos como distancia, velocidad, forma, volumen de objetos, porque no los puede percibir; no tiene los sentidos necesarias. El cerebro solamente puede crear conceptos basados en información de los sentidos. Solamente recibir una palabra, por ejemplo "distancia", en una oración, crea un concepto para la palabra, pero no un concepto para la cantidad de pixeles entre dos objetos que ve.
Algo similar ocurre con el oído. Si no escucha un tono, no puede entender su volumen y frecuencia. Sin brazos, y los sentidos en los músculos, no puede entender conceptos de fuerza, peso y masa. "Entender" aquí quiere decir saber cómo responder a un concepto y usar un concepto.
Me parece que un cerebro de robot tiene que ser un sistema inteligente completo para entender y después usar correctamente los conceptos que usamos nosotros, los seres humanos.
El programa propuesto está basado en dos programas anteriores, el Aprendiz Universal y el Aprendiz Universal 3. Leyendo estos programas, da una buena base para entender en detalle la propuesta presente.

 

Programas anteriores

El Aprendiz Universal (General Learner 1995):

Vea la descripción del Aprendiz Universal aquí.

El Aprendiz Universal 3 (General Learner 2006).
Este programa funciona en general como el Aprendiz Universal, pero está conectado a un robot, con brazos y piernas, llamado “Robby”. Ud. puede ver a Robby aquí. El programa tiene más entradas sensoriales, un micrófono para el sonido y sensores en el cuerpo. También puede mover los miembros del Robby. Vea la descripción del Aprendiz Universal 3 aquí.

Aquí Ud. puede ver un diagrama de flujo del Aprendiz Universal y del cerebro propuesto.
Para una comparación del GL3 con el cerebro humano, vea aquí

 

Cómo funciona el cerebro propuesto

Esto es una descripción de un cerebro artificial llamado "General Learner 4". Esta hecho a base del General Learner 3 que anduvo en una computadora de escritorio y está conectado a un robot humanoide, neumático de 130 cm de altura llamado Robby .
He escrito varios programas que usan conceptos y reglas , para probar distintas capacidades.

Propongo de incluir estas capacidades en el cerebro propuesto. Un buen porcentaje de código de programación para el cerebro propuesto ya existe en estos programas previos.

El cerebro propuesto para un robot casero reacciona frente a una "situación presente". Esta situación puede incluir un comando de la persona.
No es un programa que resuelve problemas para llegar a una meta, como lo es el SOAR.
Pero puede aprender a proponer metas y llegar a ellas, en el modo "imaginación".

Conceptos y reglas
Antes de ver en detalle el funcionamiento del cerebro, tenemos que echar una vista a conceptos y reglas. Ya que toda la actividad dentro del cerebro propuesto esta hecho por ellos. Algunos de estos son instintivos, quiere decir que el programa los crea en el primer arranque. Estas reglas son conectadas a código de computadora. Todos los demás reglas y conceptos son aprendidos.

Conceptos (símbolos)
Un concepto corresponde en algo a la salida de un grupo de neuronas relacionadas, que es recibido por el próximo grupo. Es la representación de información sensorial del entorno exterior o también de la situación dentro del cerebro. Conceptos también pueden expresar actividades que se hacen en el ambiente exterior o actividades dentro del cerebro. Cuando el programa crea un concepto solamente llena la rama "contenido". Más tarde el cerebro llena otras ramas del concepto, mostrando la conexión a otros conceptos y reglas. Un concepto combinado representa un objeto que consiste de partes. Tiene como contenido las etiquetas (nombres) de cada parte. Conceptos abstractos tienen ejemplos como contenido. El concepto de un perro, tendría como contenido los conceptos para varios perros.
Una vez creado, el concepto se almacena en la memoria de reglas y conceptos. El cerebro se refiere a un concepto por su etiqueta, que es un número positivo.

Si quieres más detalles de la estructura de un concepto, vea aquí.

Reglas
La función de una regla es algo similar a una columna de neuronas o un campo de neuronas artificiales. Algunas veces también lo llaman "producciones" o "procedimientos". El estimulo y la respuesta son codificados (representados) por reglas.
El cerebro se refiere a una regla por su etiqueta, que es un número negativo. El número es negativo para distinguirlo fácilmente de la etiqueta de un concepto.
Las partes principales de una regla son:

Después de crear una regla, el cerebro la archiva en la memoria de conceptos y reglas. Cuando el cerebro usó una regla, guarda su etiqueta en la memoria cronologica.

Por más detalles de la estructura de una regla, entre aquí.

Ahora, conociendo conceptos y reglas, podemos ver en detalle el programa de computación y el funcionamiento del cerebro.

El programa de computación.
El cuerpo del robot casero puede ser dirigido desde una computadora de escritorio con el programa que estamos explicando el "General Learner 4"Además sería conveniente de dar un control remoto, tipo Televisión, para entradas de texto y para operar el menú del programa.
En el primer arranque del programa, este crea algunos "conceptos" y "reglas" iniciales, y un archivo exterior llamado "memoria". Más tarde, cuando se apaga el programa, este archiva la memoria de conceptos y reglas en este archivo exterior. La próxima vez que el programa arranca, lea este archivo a la memoria de conceptos y reglas.

Ahora el programa entra en un bucle hasta que la persona lo apague. Allá el programa maneja los menús, la aprobación o desaprobación por la persona, y hace su tarea principal que es ejecutar reglas interiores. Estas reglas son aplicables a situaciones dentro del cerebro. El programa lee el concepto "situación interior" que contiene uno o varios conceptos. Al principio existe en la situación interior, una etiqueta de un concepto, distinto según el "modo" del programa (el modo se explica más adelante).
Ahora el programa selecciona una regla para esta situación interior y ejecuta el código de computación que es adherido a la regla. Después cambia el concepto que está en la situación interior. Ahora empieza el próximo ciclo del bucle. Esto es todo lo que hace el programa.

Nota: Aun para un robot casero un buen nivel de inteligencia es útil, tal vez para hacer algunas reparaciones menores en la casa. Cuando probé el programa "General Learner 3" con un test de inteligencia, vi que en el área de sentidos uno tiene que probar distintos arreglos y selecciones de la información sensorial hasta que un patrón sea obvio. Esto indica que no es bueno de tener una secuencia fija de reglas interiores, sino se precisa seleccionar reglas para trabajar en cada área. Por el momento, todas las reglas que trabajan con la situación interior son instintivos, pero en el futuro, para ganar flexibilidad, el programa debería aprender reglas interiores adicionales.

El cerebro
El cerebro se compone de conceptos y reglas. A continuación puedes ver las tres áreas principales del cerebro. La información entre estas tres áreas es transferida por conceptos.

Este cuadro muestra el flujo de la información. El área sensorial recibe información de los sentidos y la representa con conceptos. Después pone estos conceptos en un concepto llamado situación actual (Se trata de la situación actual externa. También existe una situación actual interna).
Esta situación es enviada al área de selección de reglas. Esta área busca reglas que son aplicables a la situación y selecciona una o varias reglas. Después extrae la parte acción de estas reglas y las envía a la área motriz. El área motriz descompone la acción y ejecuta las acciones elementales en el entorno exterior.
Ahora el bucle arranca de vuelta.

Aprobación y desaprobación.
La persona puede usar el menú para expresar aprobación o desaprobación de una acción del robot. La desaprobación baja el valor de las reglas recién usadas. En el futuro ellos tienen menos chance de ser elegidos. Esto es de máxima importancia, es el único control que tenemos sobre las acciones del robot (Pero podemos darle ordenes).

El área sensorial
Para un robot casero, el mínimo de sentidos requeridos son visión, poder oír, poder hacer sonidos, tacto en manos y pies sentido de verticalidad y entrada de textos por teclado.
El área sensorial recibe información electrónica de estos sentidos. Cada sentido activa una regla diferente que representa esta información como conceptos. Estas reglas son diferentes entre sí, porque la representación numérica es diferente en cada sentido. Si la información es conocida, la regla envía el concepto correspondiente. Si la información es desconocida, la regla crea un concepto nuevo.
Por ejemplo, para la entrada de texto, cada concepto es una palabra. Para la entrada de visión, para cada objeto visto el contenido de cada concepto es un dibujo reducido a cuatro mapas de pixeles (12x12), para rojo, verde, azul, y negro, con su tamaño y ubicación.
Aquí hay una nota de pie de página sobre sentir el "tiempo".

El área de selección de reglas.
Aquí el cerebro, usando reglas internas, hace una lista de las reglas que contienen, en su parte "situación inicial", algunos o todos los conceptos que también existen en la situación presente. Después elige de esta lista la regla que mejor se ajusta a la situación presente. Si no existen en esta regla todos los conceptos importantes, elige otra regla para los conceptos restantes. De esta manera uno o dos reglas son elegidos.

Hay otra función distinta del área de selección de reglas. Ésta controla si el resultado de la última acción es el esperado. Esto lo hace comparando la nueva "situación presente", que acabó de recibir, con la "situación futura" de la ultima regla usada. Si no hay una diferencia apreciable, el cerebro aumenta el valor de las reglas involucradas. Pero si hay una diferencia apreciable, disminuya el valor de las reglas involucradas.

Si la situación presente es completamente distinta a la situación esperada, o la acción fue elegida por azar, el cerebro crea una regla con la "situación presente" previa, la acción usada y la situación presente como "situación futura". Esta es una manera de aprender nuevas reglas.

El área motriz
Esta área corresponde al área motriz de un cerebro biológico. Esta área descompone la acción recibida del área de selección de reglas en acciones elementales de los miembros del cuerpo y el parlante. Si recibe dos acciones, combina las dos y las ejecuta. Si la acción es un concepto combinado, hace cada una de las acciones. Ahora las acciones elementales son enviadas al cuerpo del robot.

Modos
El cerebro trabaja en uno de varios modos. La persona puede elegir un modo con el menú. También el modo puede resultar de la situación.

1. Reaccionar según la situación presente que existe en el entorno. Esto incluye ordenes de una persona.
Esto es el modo normal de operación. Se activa si el cerebro recibe una orden por el teclado o por voz.

Por ejemplo escribes "Hola" (intro) y más tarde escribes "Hola Walter" (intro). En este modo el cerebro crea una regla con "Hola" en la situación inicial y con "Hola Walter" en la situación futura. Aquí los conceptos de acción son idénticos a los conceptos de la situación futura. Ahora, la próxima vez que escribes "Hola" el robot contesta con "Hola Walter". Si das dos o más ejemplos con nombres distintos, el cerebro en su modo "dormir" encuentra el patrón y en el futuro contesta correctamente con cualquier nombre en la entrada.

Se puede preguntar qué pasa con actividades mentales como el cálculo integral. Parece que las operaciones mentales primero lo hacemos físicamente. La matemática primero se aprende con lápiz y papel. Más tarde, la persona puede hacer la operación en su cerebro. El robot hace lo mismo.

2. Moverse para conectarse al cargador de la batería.
Si la carga de la batería es baja, el cerebro trata de hacer un plan para conectar su batería al cargador. Si no lo logra, llama a la persona.

3. Copiar la actividad de una persona u otro robot.
Si el robot casero no está ocupado, ejecutando una orden, y si ve un movimiento de mano o piernas de otro robot o de una persona, y si la actividad no es conocida, trata de copiarla moviendo sus manos o piernas. El corrige comparando la imagen visual de ambos. Lo mismo vale para sonidos.

4. Curiosidad y exploración
Cuando el robot casero no está ocupado ejecutando una orden, y su memoria cronológica está vacía, y ve un objeto desconocido, entonces trata de hacer alguna acción al azar a este objeto y observa que ocurre. Archiva esta experiencia como una regla nueva.

5. Imaginación
Esto es curiosidad sin acción externa. Si el cerebro no está ocupado ejecutando una orden y no ve un objeto desconocido, entonces usa la imaginación. Pone las etiquetas de varios objetos dentro del concepto "situación presente" y cicla el área de selección de reglas. Observa si una o varios reglas son elegidas y que situación futura resulta. Archiva esta experiencia como regla nueva.
El cerebro también usa este modo cuando hace planes para llegar a una situación futura, a una meta. Aquí usa búsquedas hacia adelante y también búsquedas hacia atrás. La búsqueda hacia adelante esta descripta arriba. Cuando hace una búsqueda hacia atrás, pone el rotulo de varios conceptos de objetos en el concepto "situación futura" y busca reglas con esta situación para ver a que "situación presente" llegan. Combinando ambos puede hacer planes simples.

6. Revisando su memoria cronológica, sus experiencias
Este modo es completamente diferente de los otros. En los otros modos el cerebro está despierto, pero aquí el cerebro duerme.
"Dormir" quiere decir que el cerebro está activo sin estímulos externos y sin acciones externas, esta solamente aprendiendo.
Usamos este modo, porque es muy irritante para la persona que está trabajando con el robot, si este es continuamente inactivo, porque está aprendiendo algo. La persona normalmente quiere una respuesta inmediata. Por esto la persona puede indicar por el menú cuando es tiempo de dormir y aprender. El menú pone el número del concepto “dormir” en el concepto “situación actual”.
Más tarde, cuando es tiempo de despertarse, la persona lo indica al menú, y el menú pone el concepto “despierto” en el concepto “situación actual”. En el modo dormir, el cerebro usa un lote de reglas internas completamente diferentes. Usa solamente las reglas que tienen el número del concepto “dormir” en su situación actual . Entonces busca patrones en su memoria cronologica Podemos decir que conoce su memoria cronológica, que es “consciente” de sus experiencias. Usando la información en su memoria, crea conceptos combinados y abstractos y nuevas reglas que son más generalmente aplicables. Para detalles, vea aquí.

7. Olvidar
Cuando el espacio para la memoria esta casi lleno, el cerebro elimina (olvida) el 20% de las reglas. Elimina las reglas que no se han usado por mucho tiempo. También elimina los conceptos que solo se usaron en estas reglas.

Aprendizaje
Como el aprendizaje es tan importante, vamos a revisar los distintos modos de aprender. Nuestro robot casero, tal como lo hace un bebé, tiene que aprender paso por paso, quiere decir que tiene que aprender basado en experiencias anteriores.
Por ejemplo, tal como un bebé, primero tiene que aprender de balancearse, a no caer. Recién después puede aprender a caminar. Lo mismo vale para aprender cualquier cosa. Por ejemplo, primero tiene que aprender aritmética, después recién puede aprender matemática.

Aprendizaje en modo 1:
Reacción a la situación presente en su entorno exterior, incluido órdenes.Aquí podemos tener un aprendizaje rápido. Una maestra escribe un texto o dice algo, y un poco después escribe otro texto o dice otra cosa o mueve un brazo del robot. El cerebro toma la primera acción como situación presente y la segunda acción como situación futura. Basado en esto, crea una regla nueva.Aquí hay otro caso: El cerebro actúa, y si la situación futura real no corresponde a la situación futura esperada, el cerebro crea una nueva regla con estas situaciones.

Aprendizaje en modo 3:
Copiar una actividad hecha por otro robot o por una persona. Si el cerebro copia una acción o un sonido, guarda las situaciones y la acción como regla nueva.

Aprendizaje en modo 4:
Curiosidad y exploración Aquí el cerebro va a encontrar nuevas situaciones causadas por sus acciones. Naturalmente va a almacenar estas experiencias en forma de reglas.

Aprendizaje en modo 5:
Imaginación y aprender de hacer planes.Aquí el cerebro va a usar una serie de reglas en secuencia. Los va a almacenar como una regla combinada.

Aprendizaje en modo 6:
Revisar su memoria cronológica. Aquí toda la actividad resulta en aprendizaje. Es la actividad de aprendizaje más importante.

Objetivo principal
Se podría preguntar.”¿Ya que el cerebro artificial propuesto es un sistema inteligente, cual es su objetivo principal?” Bueno, su objetivo principal está incorporada indirectamente. Como casi todas las actividades del cerebro son aprendidos, y nosotros damos aprobación o desaprobación a estas actividades, finalmente el cerebro hace solamente actividades útiles a los seres humanos. Esto es su objetivo principal incorporado.

Investigación por otros
Me preguntaron en que aspecto esta propuesta es similar o diferente del trabajo actual de otros investigadores. Contestar a esto no es fácil. My primera publicación data del año 1954. Durante los últimos 56 años, en mi tiempo libre, diseñé y escribí programas de investigación artificial. Durante este tiempo leí muchos libros, artículos y algunas presentaciones sobre el tema. La propuesta actual evolucionó principalmente de experimentos con programas anteriores.

Leí otros trabajos actuales. Las siguientes arquitecturas cognitivas usan reglas, "producciones", memoria cronológica de experiencias o reglas expertas, algo similar a mis "reglas": ACT-R, Icarus, LIDA, Open Cog Prime, Prodigy, SOAR y otros.

Muchos otros usan lógica y matemática. Pero yo creo que estas actividades son aprendidos. Me parece que casi toda la actividad de un cerebro natural es solamente estimulo y respuesta aprendidas. La actividad de un cerebro artificial debería ser la misma.

Bueno, esto es todo. Espero que encontraste algunas ideas interesantes.

 

Hazme un favor: Si te gustó esta página comunícaselo a tus amigos.

Al autor le gusta recibir comentarios y sugerencias.


 

Para leer de continuo, como un libro, salte al índice del libro

Salte al
índice del libro /
Salte al principio de esta página


Ultimo cambio 13 Octubre 2014
Copyright © New Horizons Press