Cómo aprender e implementar algoritmos de RL (aprendizaje por refuerzo) en robots lo más rápido posible

RL para enseñar a un robot a caminar es una tarea difícil. Probablemente, el mejor artículo de introducción que puede leer es Aprendizaje de refuerzo en robótica: una encuesta. Este documento explica por qué RL para robótica es difícil y las maneras de hacer que el problema sea manejable. Si estás buscando pequeños proyectos para ayudarte a aprender aquí, es lo que sugeriría.

En primer lugar, el gimnasio OpenAI es increíble y te pondrá en marcha en Python bastante rápido.

  1. Comience simple lo que significa pequeño y discreto.
    1. Algunos ejemplos de control canónico simple:
      1. péndulo invertido – 2 estados, 1 acción
      2. Poste carro – 4 estados, 1 acción
      3. Acrobot – 4 estados, 1 acción
    2. Los pequeños problemas se pueden resolver mediante la discretización del espacio de estado (representación de acción de estado tabular) y la ejecución de un algoritmo de introducción de RL simple:
      1. El aprendizaje Q es probablemente el principal.
      2. SARSA, TD, y muchos más … si está realmente interesado, entonces Reinforcement Learning de Sutton and Barto es una necesidad.
    3. Puede ejecutar estos algoritmos y tener una idea de sus fortalezas y debilidades y cómo estos enfoques simples no se adaptan bien a problemas más grandes. Siga haciendo referencia al documento de la encuesta mientras hace esto, ya que a veces puede perderse en el mundo de la sociedad civil y necesita volver a la realidad.
  2. Hacer es un poco más difícil … problemas pequeños pero continuos
    1. Función de valor de aproximación
      1. Use su conocimiento del aprendizaje supervisado e intente enseñar un aproximador de función de valor.
      2. De esta manera mantienes las cosas continuas.
      3. Usted encontrará que se necesita mucha experiencia para encontrar una buena solución.
    2. Métodos de Actor Crítico (una mezcla de este y 3)
  3. Presentar un mundo completamente nuevo … Aprendizaje de refuerzo basado en la trayectoria
    1. Métodos de gradiente de políticas
      1. gradientes de política
      2. gradientes de política natural (actor natural crítico)
    2. Métodos libres de derivados (muestra el espacio de costos)
      1. método de entropía cruzada
      2. adaptación de matriz de covarianza
      3. iteración de políticas con integrales de trayectoria
    3. Modelo basado vs modelo gratis
      1. Basado en el modelo, necesita menos experiencia, menos general, pero quizás más aplicable a la robótica.
    4. El aprendizaje por refuerzo basado en modelos es similar a otros campos que vale la pena investigar
      1. Optimización de la trayectoria
      2. control óptimo
      3. modelo de control predictivo
  4. Supongo que tal vez estoy por aquí, así que enumeraré algunos temas avanzados interesantes para robótica
    1. Exploración segura
    2. RL multitarea
    3. RL semi-supervisado
    4. RL profundo
      1. Echa un vistazo al curso de Berkeley
    5. Algún algoritmo de vanguardia.
      1. optimización de la política de la región de confianza
      2. funciones de ventaja normalizadas
      3. búsqueda guiada de políticas
      4. gradientes de política deterministas profundos
    6. Redes de Publicidad Generativas
      1. En comparación con el crítico de actores / aprendizaje de imitación

Realmente hay mucho que aprender … No me gustaría centrarme en la construcción de un robot real para hacer esto todavía. El gimnasio OpenAI tiene todo lo que necesitas y la experiencia simulada es mucho más barata que la real.

El aprendizaje por refuerzo es diferente de una función o hipótesis de aprendizaje de alguna manera. En RL, el agente interactúa con el entorno y aprende sobre él. Realmente hay un buen curso sobre Udacity sobre el aprendizaje por refuerzo de Michael Litman. También puede leer sobre el aprendizaje q y los algoritmos de sarsa, etc.

Udacity tiene un excelente módulo dedicado al aprendizaje por refuerzo. El material de RL también se puede encontrar en cursos relacionados con la IA.