¿Cuál es la diferencia entre la programación neuro dinámica y el aprendizaje por refuerzo?

No mucho realmente.

En el libro “Programación neuro-dinámica” de Bertsekas, en el prefacio dice:

“En vista de la estrecha conexión tanto con las redes neuronales como con la programación dinámica, nos decidimos por el nombre de” programación neurodinámica “(NDP), que describe mejor en nuestra opinión la naturaleza del tema que el nombre más antiguo y de aplicación más general ‘ aprendizaje reforzado'”.

Creo que lo que intentaba señalar es que la mayoría de los algoritmos de aprendizaje de refuerzo desarrollados cuando lanzó este libro resolvió problemas de “juguete”, ya que solo unos pocos algoritmos podían tratar con un gran espacio estatal. Las redes neuronales se usaban comúnmente para aproximar estados en los casos en que el espacio era demasiado grande o incluso continuo, y la programación dinámica es el principal paraguas en el que la mayoría de los algoritmos viven. Por lo tanto, la programación neuro-dinámica fue un buen nombre para lo que seguimos conociendo como aprendizaje de refuerzo.

Más adelante en el libro, dice claramente: “… usamos el nombre … para describir colectivamente los métodos de este libro. En la comunidad de inteligencia artificial, donde se originaron los métodos, también se utiliza el aprendizaje de refuerzo de nombre “.

Tenga en cuenta que el aprendizaje de refuerzo profundo consiste básicamente en hacer lo mismo que en la programación neuro-dinámica, pero utilizar redes neuronales profundas que no se pudieron ejecutar de manera eficiente en el pasado.

La principal diferencia es solo en qué contexto estás hablando. Para algunas personas, como los científicos informáticos, es mejor hablar sobre el aprendizaje por refuerzo, para las personas involucradas en la teoría del control tiene más sentido hablar sobre programación adaptativa o dinámica aproximada, etc. La base matemática es la misma en todos los casos.