Download Combinación de evolución y aprendizaje neuronal y por

Document related concepts

Red neuronal artificial wikipedia , lookup

Aprendizaje por refuerzo wikipedia , lookup

Robótica cognitiva wikipedia , lookup

Promoter Based Genetic Algorithm wikipedia , lookup

Robótica evolutiva wikipedia , lookup

Transcript
TÍTULO DEL PROYECTO:
Combinación de evolución y aprendizaje neuronal y por
refuerzo en controladores robóticos.
CLASE DE PROYECTO: Investigación y
Desarrollo
DIRECTOR: José Santos Reyes (Despacho
403), [email protected]
BREVE DESCRIPCIÓN:
En este proyecto se utilizará el algoritmo de retropropagación por refuerzo
complementario [1][2] para el entrenamiento de controladores neuronales en un robot
Pioneer2AT, para el aprendizaje en tiempo de vida y por refuerzo de diferentes
comportamientos. El algoritmo integra y aúna las ventajas del aprendizaje supervisado y
del aprendizaje por refuerzo, permitiendo mejorar y refinar on-line los controladores de
los agentes robóticos. La idea de refuerzo complementario proviene del hecho de reforzar
las acciones exitosas en tanto se refuerzan las “acciones complementarias” en caso de
fracaso de una determinada acción. Para reforzar tales acciones, en ambos casos, se usa
aprendizaje supervisado en los controladores neuronales, típicamente con el clásico
algoritmo de retropropagación del error.
Se usará la simulación del entorno Player/Gazebo del robot Pioneer2AT. Partiendo de una
discretización binaria del espacio de actuación se utilizará el aprendizaje por
retropropagación utilizando un valor de error que corresponde con una medida de refuerzo
de las acciones realizadas por el robot. Esas medidas de refuerzo podrán ser generalizadas
a espacios de actuación no binarios, eligiendo adecuadamente los valores de refuerzo
complementario en el caso de acciones incorrectas por parte del controlador del robot.
Finalmente, se utilizará la metodología de robótica evolutiva [3] para la obtención de los
mismos comportamientos, lo que permitirá una comparación entre las dos alternativas: la
búsqueda local por aprendizaje y la búsqueda en paralelo en el espacio de posibles
controladores. Se podrán además combinar las dos metodologías, en donde el aprendizaje
refina el controlador definido por cada individuo de la población genética.
Se experimentará en los siguientes objetivos:
•
•
•
•
•
•
Estudiar la capacidad de obtención automática de comportamientos en tiempo de vida
con aprendizaje por refuerzo, particularizando en el algoritmo de retropropagación por
refuerzo complementario con salidas binarias.
Estudiar la influencia de diferentes formas de definición de refuerzo y de inmediatez en
su recepción por parte del algoritmo de aprendizaje del refuerzo.
Estudiar propuestas de generalización del algoritmo para considerar respuestas continuas
de actuación. Definición del correspondiente refuerzo complementario.
Aplicar la metodología de robótica evolutiva para la obtención de los mismos
comportamientos obtenidos mediante aprendizaje. Comparación entre la búsqueda global
genética y la búsqueda local por aprendizaje por refuerzo y neuronal.
Posibilidad de estudio del Efecto Baldwin en la interrelación entre evolución y
aprendizaje.
Posibilidad de obtención automática (evolutiva) de un módulo que determine el refuerzo
positivo/negativo ante cada acción del robot, es decir, un módulo de “autoaprendizaje”
del refuerzo.
[1] Ackley, D.H. and Littman, M.L. (1990), “Generalization and Scaling in Reinforcement
Learning”, Advances in Neural Information Processing Systems, Vol. 2, D.S. Touretzky
(Ed.), Morgan Kaufmann, San Mateo, CA, pp. 550-557.
[2] Meeden, L. (1996), “An Incremental Approach to Developing Intelligent Neural
Network Controllers for Robots”, IEEE Transactions on Systems, Man and Cybernetics
Part. B: Cybernetics, Vol. 26, No. 3, pp. 474-485.
[3] Nolfi, S., and Floreano, D. (2001), Evolutionary Robotics, MIT Press.
[4] Santos, J. y Duro, R.J. (2004), Evolución Artificial y Robótica Autónoma, Ra-Ma.
Material necesario:
Entorno Player/Gazebo: http://playerstage.sourceforge.net
Programación: C, C++.