Última actualización:
19 de octubre de 2008
TOPOS es una simulación encuadrada en el campo de la Robótica Evolutiva, cuyo objetivo es el control del robot por una Red Neuronal evolucionada mediante Algoritmos Genéticos. La base teórica, motivaciones y consecuencias se analizan en mi Tesis Doctoral.
El sistema TOPOS desarrolla un robot que visita en un determinado orden dos fuentes de sonidos reales. Los dos sonidos emiten exactamente el mismo sonido del canto de un canario, con la única diferencia de que cada sonido tiene un orden distinto en sus partes, parecido a "per" y "pre". El robot se obtiene sin que el programador determine la forma de hacer la tarea, el comportamiento emerge, como ocurre en los seres vivos.
Para diferenciar dos señales que se reciben simultáneamente el robot se beneficia de las características de situación y corporeidad, y de las ventajas que ofrecen las redes neuronales de pulsos (PCNN).
TOPOS es un modelo computacional en el que se evolucionan poblaciones de robots del tipo Khepera dentro de un esquema evolutivo con un fuerte referente biológico, con el fin de obtener comportamientos de navegación a través del reconocimiento de señales complejas y variables en el tiempo. Se modelan las estructuras que llevan a cabo la percepción auditiva en mamíferos, entre ellas la cóclea mediante la Transformada de Fourier.
Vamos a presentar las bases fisiológicas de las piezas que permiten hablar en esta simulación de fuerte referente biológico, las neuronas y los sensores, las dos unidades que permiten el proceso de la percepción.
La Red Neuronal simula (de una forma esquemática, debido a las necesidades computacionales) para cada una de las neuronas artificiales la forma de disparo típica de las neuronas, con un estado de reposo, un umbral, y las fases de disparo y refractaria.
Este gráfico representa la activación de una cierta neurona sensora de un estornino para cada frecuencia y volumen del sonido. Cualquier sonido con valores dentro de la V formada por la línea continua activa la neurona, proporcionalmente a la longitud de la línea.
Esto es debido al procesamiento realizado por la cóclea, debido a su especial forma que permite hacer un filtrado que aproximamos en nuestra simulación con la transformada de Fourier, más un umbral de activación de la neurona (20dB en el caso del gráfico)
Aquí vemos una representación de partes del canto de un canario en espectro de frecuencias (tiempo en horizontal y frecuencia en vertical, intensidad del sonido más alta en amarillo). Un sensor obtendría su activación con una franja horizontal de este gráfico, con una máxima amplitud igual a la zona superior de la V.
Construimos como esquema común de un robot virtual una red de neuronas artificiales y sensores y motores con esta forma. Son dos redes iguales, especulares, que se superponen y comparten cuatro neuronas. Cada subred se compone de ocho neuronas y seis sensores, además de tres conexiones a los motores.
Las conexiones entre neuronas tienen un peso para activar o inhibir de forma proporcional al mismo a la neurona receptora de ese axón.
El robot está corporeizado ya que la forma de los sensores es una característica física de los dispositivos físicos. En este caso, el oído interno que ya hemos visto, y el oído externo es la simulación del comportamiento de un micrófono direccional, que atenúa el sonido según el ángulo de incidencia.
Se dice además que el robot está situado por depender su percepción de la distancia a las fuentes de sonido junto con el ángulo. El movimiento propio del robot modifica estos valores, por lo que su comportamiento modifica su percepción.
En una primera fase los experimentos daban una puntuación a cada robot en función de la distancias mínima y final al sonido que había sido definido como el objetivo. Cada una de las pruebas finalizaba si se llegaba a una cierta distancia de uno de los sonidos, o si se terminaba el tiempo de la prueba. Si se llega al sonido objetivo, se llama acierto, y si se llega al otro es un fallo.
Como medida se toman EFR y EFA, la primera (eficacia relativa) como la proporción entre aciertos y aciertos más fallos, y la absoluta EFA como aciertos entre pruebas totales, en las que se incluye las veces que no se acerca lo suficiente a ningún sonido. Es como incluir las veces en que un portero de fútbol no se mueve en un penalty.
Los sonidos son como en la imagen siguiente. Son partes del canto de un mismo pájaro, en la misma grabación. El sonido A es como los 0'15 segundos en la imagen, y el sonido B como el resto.
AB es un experimento en el que A es el sonido objetivo. AA es el experimento control en el que se usa el mismo sonido en las dos fuentes.
|
En un segundo experimento los sonidos son iguales excepto en el orden de las partes, con lo que se obliga a un reconocimiento de patrones temporales, ya que no se puede basar en la selección de frecuencias. Además se modifica el concepto de acierto, que en este experimento consiste en visitar los dos sonidos en un cierto orden. Fallo es entonces visitar en primer lugar el segundo sonido, y sólo visitar el primero o no visitar ninguno es clasificado como ni acierto ni fallo.
![]() |
El resultado en este caso es:
Exp | EFR | EFR | EFA | EFA |
AB | 100 | 0 | 20'8 | 4'80 |
BA | 100 | 0 | 19'8 | 5'61 |
AA | 4'0 | 19'6 | 0'2 | 1'19 |
Los resultados son buenos si se tiene en cuenta que los sonidos se oyen simultáneamente. Nunca comete fallo y, o hace la tarea completa o no consigue completar la tarea porque sólo visita la primera fuente de sonido o porque no consigue decidirse.