Antecedentes:
estoy usando la aproximación del valor Q de la red neuronal en mi tarea de aprendizaje de refuerzo. El enfoque es exactamente el mismo que el descrito en esta pregunta , sin embargo, la pregunta en sí es diferente.
En este enfoque, el número de resultados es el número de acciones que podemos tomar. Y en palabras simples, el algoritmo es el siguiente: realice la acción A, explore la recompensa, solicite a NN que prediga los valores de Q para todas las acciones posibles, elija el valor máximo de Q, calcule Q para la acción A particular R + max(new_state_Q)
. Ajuste el modelo en los valores de Q predichos con solo uno de ellos reemplazado por R + max(new_state_Q)
.
Pregunta: ¿Qué tan eficiente es este enfoque si el número de salidas es grande?
Intento: Digamos que hay 10 acciones que podemos tomar. En cada paso le pedimos al modelo que prediga 10 valores, a temprana edad del modelo esta predicción es un desastre total. Luego modificamos 1 valor de la salida y ajustamos el modelo en estos valores.
Tengo dos pensamientos opuestos sobre qué tan bueno / malo es este enfoque y no puedo decidir cuál es el correcto:
- Desde un punto de vista, estamos entrenando a cada neurona 9 veces en datos aleatorios y solo una vez en los datos que están cerca del valor real. Si NN predijo 5 para la acción A en el estado S, pero el valor real es -100, ajustaremos NN 9 veces con el valor 5 y luego una vez con el valor -100. Suena loco.
- Desde otro punto de vista, el aprendizaje de la red neuronal se implementa como propagación hacia atrás de un error , por lo que cuando el modelo predice 5 y lo estamos entrenando en 5, no aprenderá nada nuevo, ya que el error es 0. No se tocan los pesos . Y solo cuando calculemos -100 y lo ajustemos al modelo, hará el recálculo de peso.
¿Qué opción es la correcta? ¿Quizás hay algo más que no estoy teniendo en cuenta?
ACTUALIZACIÓN: Por "cuán eficiente" me refiero a la comparación con un enfoque con una salida: recompensa predicha. Por supuesto, la acción será parte de la entrada en este caso. Entonces, el enfoque n. ° 1 hace predicciones para todas las acciones basadas en algún estado, el enfoque n. ° 2 hace predicciones para acciones específicas tomadas en algún estado.