No estoy seguro de seguir exactamente los detalles sobre lo que quiere decir con el retraso de la recompensa y, desafortunadamente, al leer su expansión posterior, todavía no estoy muy seguro: p Según lo veo, hay al menos dos interpretaciones de sus preguntas :
- ¿Cómo puede un agente de RL aprender de las escasas recompensas?
¡Esta es la más fácil porque prácticamente todos los algoritmos RL existentes están diseñados para manejar este caso! El propósito directo de la función de valor es estimar la recompensa acumulativa futura (retrasada) al seguir alguna política. Eso no significa que siempre lo haga bien, pero los algoritmos RL se esfuerzan por hacerlo de manera teóricamente fundamentada.Dado que este es generalmente un objetivo crítico de los algoritmos RL, sospecho que esto no es lo que quiso decir, pero no me queda claro por qué el ejemplo que describió no entra en esta categoría. En su salud de regeneración a partir de una acción de “recuperación”, ¿el problema es que el agente no observará la salud recuperada en el siguiente paso? Porque si lo hace, entonces no tienes nada de qué preocuparte.
- ¿Cómo puede un agente de RL aprender de un entorno con una función de recompensa que no es de Markov?
Este podría ser el que realmente quisiste decir. Este sería el caso si la recompensa recibida por alguna acción [matemática] a [/ matemática], tomada en el estado [matemática] s [/ matemática] se recibió [matemática] n> 1 [/ matemática] pasos posteriores o si el la recompensa en el paso de tiempo [matemática] t [/ matemática] dependía de algunos antecedentes de eventos.Cómo manejas esta configuración es más complicado. Sin embargo, lo primero que debe preguntarse es “¿qué sabemos sobre la estructura y las dependencias de la función de recompensa?” Por ejemplo, tal vez sea razonable decirle al agente sobre la propiedad de recuperación de salud en su función de recompensa. En este caso, en lugar de hacer que las recompensas dependan totalmente del valor del medidor de salud, debe recompensar explícitamente al agente cuando realice una acción de recuperación en una cantidad proporcional a la cantidad de salud que se recuperaría de él, incluso si lo hace. toma algunos pasos Luego, también restas recompensa cada vez que la salud disminuye de algún otro evento externo. En este contexto, conocer la estructura nos permitió replantear el objetivo subyacente en una forma de Markov y podemos usar métodos RL listos para usar.
- ¿Qué tecnología tiene un futuro mejor, el aprendizaje automático o Node.js?
- ¿A qué tipo de problemas del mundo real se aplica el aprendizaje no supervisado?
- ¿Cuál es la diferencia entre minería de datos, aprendizaje automático y reconocimiento de patrones?
- ¿Cuál es el peor caso de sobreajuste que hayas visto en entornos sociales o psicológicos?
- ¿El sobreajuste en un conjunto de datos implica que el modelo realmente puede aprender y generalizar sobre ese conjunto de datos, pero desafortunadamente demasiado entrenado?
Por supuesto, tal vez sea más complicado que eso. Quizás sus recompensas sean incluso estocásticas en la cantidad de demora que tomará de una causa a la observación de la recompensa y la cantidad de recompensa que se recibirá. En este caso, si conoce la distribución del evento de recompensa, podría hacer un poco de matemática y extender el cálculo del valor esperado de la ecuación de Bellman para manejar esa estructura. Una vez que haga eso, debe quedar claro cómo adaptar el algoritmo de aprendizaje. No hay mucho trabajo, pero si buscas en Google para “aprender de las recompensas que no son de Markov”, también puedes encontrar algo de trabajo que la gente ha hecho sobre este tema. Mi sospecha sin hacer cálculos matemáticos es que si la función de recompensa es un sistema de Markov de primer orden, entonces la extensión de la ecuación de Bellman no sería tan mala y su algoritmo podría necesitar mantener una cola de longitud n antes de realizar actualizaciones para ser consistente con la ecuación modificada.
Finalmente, tal vez ni siquiera conoces la estructura de la función de recompensa que no es de Markov. Este es fácilmente el caso más difícil. Afortunadamente, todavía hay métodos a su disposición para manejarlo. Específicamente, puede usar un RNN, como un NN con una capa LSTM, para aprender la función de valor. El RNN manejará las propiedades arbitrarias que no son de Markov de la función de recompensa, pero probablemente querrá usar algo más cercano a los retornos empíricos para entrenarlo, lo que también significa que debe usar métodos de política como enfoques de actores críticos. Si utiliza un poco de bootstrapping (a diferencia de los retornos más empíricos), también debe considerar el uso de redes obsoletas, similares a DQN, o puede tener mucha inestabilidad de aprendizaje. Por lo que vale, el artículo A3C de DeemMind realizó algunos experimentos utilizando redes con un LSTM que alimentaron la política y la función de valor, por lo que existe un precedente para que los LSTM funcionen con funciones de valor (aunque no creo que la motivación sea porque las recompensas no eran de Markov, todavía debería aplicarse). Es posible que desee utilizar un enfoque RL como ese.