reinforcement learning intelligence artificial python machine-learning tensorflow artificial-intelligence reinforcement-learning

intelligence - deep reinforcement learning python



ActualizaciĆ³n de un sistema antiguo a Q-learning con redes neuronales (1)

Recientemente, he estado leyendo mucho sobre Q-learning con Neural Networks y pensé en actualizar un viejo sistema de optimización existente en una caldera de planta de energía compuesta por una red neuronal feed-forward simple que se aproxima a una salida de muchas entradas sensoriales. Luego, la salida está vinculada a un controlador lineal basado en modelos que de alguna manera genera nuevamente una acción óptima para que todo el modelo pueda converger al objetivo deseado.

Identificar modelos lineales es una tarea que consume. Pensé en restaurar todo para un Q-learning libre de modelo con una aproximación de Red Neural de la función Q. Dibujé un diagrama para preguntarte si estoy en el camino correcto o no.

Mi pregunta: si crees que entendí bien el concepto, mi set de entrenamiento debería estar compuesto por State Features vectors de State Features vectors de un lado y Q_target - Q_current (aquí estoy suponiendo que hay una recompensa creciente) para forzar a todo el modelo hacia el objetivo ¿O me estoy perdiendo algo?

Nota: El diagrama muestra una comparación entre el sistema anterior en la parte superior y el cambio propuesto en la parte inferior.

EDITAR: ¿Una Red Neuronal Estatal garantiza la Experiencia de Reproducción?


Puede usar todo el valor Q de todas las acciones en el estado actual como capa de salida en su red. Un diagrama mal dibujado está aquí

Por lo tanto, puede aprovechar la capacidad de NN para generar múltiples valores Q a la vez. Entonces, simplemente vuelva prop utilizando la pérdida derivada de Q(s, a) <- Q(s, a) + alpha * (reward + discount * max(Q(s'', a'')) - Q(s, a) , donde max(Q(s'', a'')) se puede calcular fácilmente a partir de la capa de salida.

Por favor, hágamelo saber si tiene más preguntas.