ECTS credits ECTS credits: 6
ECTS Hours Rules/Memories Hours of tutorials: 3 Expository Class: 24 Interactive Classroom: 24 Total: 51
Use languages Spanish, Galician
Type: Ordinary Degree Subject RD 1393/2007 - 822/2021
Departments: Electronics and Computing
Areas: Computer Science and Artificial Intelligence
Center Higher Polytechnic Engineering School
Call: Second Semester
Teaching: With teaching
Enrolment: Enrollable
El aprendizaje por refuerzo en el contexto de la robótica móvil tiene un enorme potencial dado que permite que los robots puedan aprender y adquirir políticas de control por sí mismos, mediante su propia interacción con el entorno en el que trabajan.
A través del aprendizaje por refuerzo se pueden resolver una amplia gama de tareas complejas de toma de decisiones con mínima intervención humana. El aprendizaje por refuerzo se centra en el aprendizaje dirigido a objetivos a partir de la interacción, aprender interactuando. En este caso a la máquina o robot no se les dice qué acciones realizar, sino que es algo que deben descubrir por sí mismos, mediante prueba y error, identificando qué acciones producen la mayor recompensa. Ese es en realidad su objetivo, maximizar la recompensa.
El aprendizaje por refuerzo ofrece a la robótica un marco y un conjunto de herramientas para el diseño de comportamientos sofisticados y difíciles de diseñar. El objetivo final es dotar a los robots de la capacidad de aprender, mejorar y adaptarse a partir de la exploración y el aprendizaje autónomo. Dotar a los robots de habilidades similares a las humanas para realizar habilidades motoras de una manera suave y natural es uno de los objetivos importantes de la robótica. Una forma prometedora de lograr esto es creando robots que puedan aprender nuevas habilidades por sí mismos, de manera similar a los humanos. Sin embargo, adquirir nuevas habilidades motoras no es sencillo e implica varias formas de aprendizaje. A través de las estrategias que se verán en esta materia el robot podrá aprender a resolver tareas que serían difíciles de programar de forma directa, o para las que es difícil obtener un buen proceso demostrativo o conjunto de ejemplos. Hablamos también de tareas o problemas de optimización que no tienen una formulación analítica directa o una solución de forma cerrada conocida. El robot podrá adaptarse a cambios en el hardware o en el entorno. También es posible que el robot pueda partir de una demostración "suficientemente buena" e irla perfeccionando de forma gradual. En esta asignatura se aprenderán estrategias capaces de dotar al robot con la capacidad de adaptarse dinámicamente a los cambios del propio hardware, fallas de sensores, o cambios en el propio entorno en el que se mueve el robot.
Los contenidos generales de la materia conforme se recogen en la memoria verificada son:
Aprendizaje por refuerzo en el contexto de la robótica. Procesos de Markov. Políticas y funciones de Valor. Algoritmos para la búsqueda de políticas. Generalización y aproximación de funciones. Aprendizaje por refuerzo multi-objetivo y multi-agente. Aprendizaje por demostración e imitación
Estos contenidos se estructurarán en la siguiente secuencia de temas y prácticas:
1. Introducción: aprendizaje por refuerzo y sus elementos. Modelización de un problema. En qué se diferencia de otras estrategias. Objetivos y refuerzos.
(temporización: 2HP, 2HNP)
2. Procesos de decisión de Markov. Entornos deterministas y estocásticos. Políticas y funciones de valor. Ecuación de Bellman y Bellman óptima.
(temporización: 2HP, 2HNP)
3. Soluciones Tabulares: Programación Dinámica. Métodos de Monte Carlo. Diferencias Temporales. Trazas de Elegibilidad. Dilema exploración-explotación.
(temporización: 8HP, 8HNP)
4. Métodos de solución aproximados: Búsqueda de la política óptima a través de métodos basados en gradiente.
(temporización: 4HP, 4HNP)
5. Introducción al aprendizaje por refuerzo profundo. Deep Q-Networks, Actor-Critic, DDPG
(temporización: 4HP, 4HNP)
6. Procesos de aprendizaje por demostración e imitación.
(temporización: 4HP, 4HNP)
Se trata de una asignatura con un importante componente práctica, a través de las prácticas los alumnos se ilustrarán de manera experimental los conceptos de los temas teóricos. A través de las prácticas el alumno pondrá en juego algunos de los principales algoritmos de aprendizaje descritos en la teoría para el aprendizaje de diferentes comportamientos en robots. Se emplearán las librerías adecuadas para este tipo de aprendizajes.
Los tres primeros temas ocuparán la primera mitad de las horas presenciales de teoría y prácticas (30 HP y 45 HNP) , mientras que los temas 4, 5 y 6 se explicarán en la segunda mitad de la asignatura (30 HP, 45 HNP).
Existen muchos tutoriales, artículos introductorios disponibles en Internet.
Bibliografía básica:
R.S. Sutton, A. G. Barto, “Reinforcement Learning: an introduction”. Second Edition. A Bradford Book. The MIT Press Cambridge, Massachusetts London, England
https://web.stanford.edu/class/psych209/Readings/SuttonBartoIPRLBook2nd…
J. Torres, “Introducción al aprendizaje por refuerzo profundo. Teoría y práctica en Python”. Watch this space book series. 2021
Bibliografía complementaria
Deep Reinforcement Learning with Python: with PyTorch, TensorFlow and OpenAI Gym. Nimish Sanghi, Apress,2021
Deep Reinforcement Learning Hands-On: Apply modern RL methods to practical problems of chatbots, robotics, discrete optimization, web automation, and more, 2nd edition. Maxim Lapan. Packt 2020
Al terminar con éxito esta asignatura, los estudiantes serán capaces de:
Conocimiento:
Con57. Conocer cómo lograr modelos y programas de control, capaces de adaptarse en tiempo real a partir de la
actuación del robot en el entorno.
Con58. Entender en qué medida las estrategias de aprendizaje por interacción robot-entorno permiten hacer
frente a las limitaciones de la programación explícita.
Con59. Familiarizarse con las técnicas de aprendizaje por refuerzo y conocer el tipo de tareas para las que se
emplean.
Destreza:
H/D63. Desarrollar y analizar aplicaciones prácticas simples
H/D64. Implementar algoritmos de aprendizaje por interacción robot/entorno basados en refuerzo.
Competencia:
Comp14. Conocer las técnicas de inteligencia artificial utilizadas en robótica industrial y de servicios, saber cómo
utilizarlas en aplicaciones robóticas fijas y móviles.
Las clases teóricas se desarrollarán en el aula de teoría, y en ellas el profesor dará a los alumnos las directrices necesarias para la resolución de los proyectos/prácticas que se plantearán durante las prácticas de la asignatura.
La docencia interactiva se llevará a cabo en las aulas de informática y laboratorios de robótica. En las clases prácticas estableceremos métodos de enseñanza activos o productivos basados en la enseñanza problémica que faciliten la adquisición de capacidades cognitivas y de tipo creador. En las prácticas se plantearán ejercicios a través de los cuales el alumno aprenderá a manejar diferentes algoritmos de aprendizaje basados en refuerzo, con los que se lograrán comportamientos adaptativos en robots. Será necesaria programación, manejo de plataformas y librerías específicas, así como alguna herramienta de simulación.
Asimismo, en las tutorías se atenderá al alumnado para discutir, comentar, aclarar o resolver cuestiones concretas en relación con sus tareas dentro de la asignatura. Estas tutorías serán podrán ser tanto presenciales como virtuales a través de la plataforma Ms Teams.
Curso Virtual: Esta materia dispondrá de un curso virtual desenvuelto sobre la plataforma de Campus virtual de la USC, usando además la herramienta colaborativa Ms Teams. En estas se le facilitará al alumnado todo el material necesario en formato digital, además de distintas herramientas de comunicación para el apoyo, tanto de la docencia virtual como de las tutorías, incluyendo videoconferencia, chat, correo electrónico, foros…
La evaluación se llevará a cabo de dos formas: (1) Evaluación continua, se podrá llevar a cabo a través de diferentes mecanismos: a) valoración de prácticas de laboratorio en las que se tendrán que aplicar los algoritmos de aprendizaje adaptivo. Es posible que los alumnos deban exponer el trabajo realizado y mostrar los resultados alcanzados. b) propuesta de trabajos en los que se planteen casos de uso de los algoritmos vistos en teoría, estos trabajos fomentarán la creatividad del alumno, motivación, puesta en práctica de conocimientos, permitirán profundizar en algunos de los contenidos de la materia, o explorar alternativas no cubiertas directamente en los contenidos impartidos por el profesor. c) realización de algún cuestionario en el que se evalúe la comprensión por parte del alumno de los aspectos vistos en clases. d) se puede proponer también la realización de trabajos voluntarios. (2) Por otra parte, habrá una última prueba final que podrá contener ejercicios teóricos y/o prácticos. La prueba final representará el 40% del total de la asignatura, mientras que el 60% restante lo representa la evaluación continua descrita en el punto 1.
Debido a este tipo de evaluación continua, la asistencia a prácticas será obligatoria salvo causa justificada. No será posible la superación de la materia salvo que se haya asistido como mínimo al 80% de las prácticas. La no asistencia a las mismas impedirá la superación de la materia tanto en la oportunidad ordinaria como en la de recuperación.
El alumno recibirá la calificación de "non presentado" cuando no haga el examen final y no entregue un conjunto mínimo de pruebas correspondientes a la evaluación continua (y que marque el profesor como imprescindibles)
Para los casos de realización fraudulenta de ejercicios o pruebas será de aplicación lo establecido en la “Normativa de avaliación do rendemento académico dos estudantes e de revisión das cualificacións”
Segunda oportunidad, dispensa de asistencia, repetidores
--------------------------------------------------------------------
Habrá un examen de segunda oportunidad. Los alumnos podrán entregar en fecha previa el examen de la segunda oportunidad, aquellas actividades que le plantee el profesor, correspondientes a aquellas prácticas que no hubiesen superado en la convocatoria anterior. Podrá haber examen práctico o una defensa de trabajos con el profesor en la oportunidad de julio (para poder aplicar evaluación continua), para aquellos alumnos que no hayan superen la asignatura en la convocatoria de febrero.
En el caso de que a alguna persona se le conceda dispensa de asistencia se le eximirá de la asistencia a clases de teoría, pero deberá realizar las prácticas de forma presencial. Se le aplicarán los mismos criterios de evaluación que al resto del alumnado.
Los alumnos repetidores serán evaluados con los mismos criterios que los no repetidores.
El alumno recibirá a cualificación de "non presentado" cuando no haga el examen final y no entregue un conjunto mínimo de pruebas correspondientes a la evaluación continua (y que marque el profesor como imprescindibles para esta segunda oportunidad)
Para los casos de realización fraudulenta de ejercicios o pruebas será de aplicación lo establecido en la “Normativa de avaliación do rendemento académico dos estudantes e de revisión das cualificacións”
* Evaluación de competencias
En general el desarrollo de las actividades prácticas, así como la preparación de los temas teóricos permitirá al alumnado trabajar las competencias básicas, generales y transversales de la materia, y conseguir los resultados de aprendizaje previstos.
Clase expositivas Clases magistrales 2,4(ECTS) 24(HP) 24(HNP)
Clases interactivas Laboratorio y aulas de informática 2,4(ECTS) 24(HP) 48(HNP)
Tutoría en grupo 0,3(ECTS) 3(HP) 4(HNP)
Tutoría individualizada 0,4(ECTS) 4(HP) 7(HNP)
Evaluación y revisión 0,5(ECTS) 5(HP) 7(HNP)
Total 6,0(ECTS) 60(HP) 90(HNP)
HP=Horas Presenciales
HNP=Horas no presenciales
Roberto Iglesias Rodriguez
Coordinador/a- Department
- Electronics and Computing
- Area
- Computer Science and Artificial Intelligence
- roberto.iglesias.rodriguez [at] usc.es
- Category
- Professor: University Lecturer
Marcos Fernandez Pichel
- Department
- Electronics and Computing
- Area
- Computer Science and Artificial Intelligence
- marcosfernandez.pichel [at] usc.es
- Category
- Professor: Intern Assistant LOSU