Aprendizaje por refuerzo basado en políticas
Usaremos una red neuronal para aproximar la función de política. Esta red neuronal se denomina red de políticas, que se puede utilizar para controlar el movimiento de los agentes.
1. Aproximación de la función de política
1.1 Función de política π ( a ∣ s ) \pi(a\mid s)π ( un∣s )
• Función de política π ( a ∣ s ) \pi(a\mid s)π ( un∣s ) es una función de densidad de probabilidad (PDF).
• Toma estado sss como entrada.
• Da salida a las probabilidades para todas las acciones, por ejemplo,
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;π ( izquierda ∣ s ) = 0.2 , \pi(izquierda\mid s)=0.2,π ( izquierda y derecha )∣s )=0.2 ,
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;π ( derecha ∣ s ) = 0.1 , \pi(derecha\mid s)=0.1,p ( correcto _ _ _ _∣s )=0.1 ,
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;π ( arriba ∣ s ) = 0.7. \pi(arriba\mediados de s)=0.7.π ( arriba _∣s )=0.7.
• El agente realiza una acción aaaleatoria extraída de la distribución.
¿ Podemos aprender directamente una función de política π (a ∣ s)? \pi(a\mid s)?π ( un∣s )?
• Si solo hay unos pocos estados y acciones, entonces sí, podemos.
• Dibujar una tabla (matriz) y aprender las entradas.
• ¿Qué pasa si hay demasiados (o infinitos) estados o acciones?
1.2 Red de políticas π ( a ∣ s ; θ ) \pi(a\mid s; \theta)π ( un∣s ;yo )
Red de políticas: use una red neuronal para aproximar π ( a ∣ s ) \pi(a\mid s)π ( un∣s ) .
• Utilizar red de políticas π ( a ∣ s ; θ ) \pi(a\mid s; \theta)π ( un∣s ;θ ) para aproximarπ ( a ∣ s ) \pi(a\mid s)π ( un∣s ) .
• θ \thetaθ : parámetros entrenables de la red neuronal.
• ∑ una ∈ UNA π ( una ∣ s ; θ ) = 1. \sum_{a∈A}\pi(a\mid s; \theta)=1.∑a ∈ Aπ ( un∣s ;yo )=1.
• Aquí, AAA = {“izquierda”,“derecha”,“arriba”} es el conjunto de todas las acciones.
• Es por eso que usamos la activación softmax.
2. Aproximación de la función de valor de estado
Revisión 2.1: función de valor de acción
2.2 Función de valor de estado
• V π(st) = EA[Q π(st,A)] = ∑ a π(a ∣ s) ⋅ Q π(st, a). V_{\pi}(s_{t})=E_{A}[Q_{\pi}(s_{t},A)]=\sum_{a}\pi(a\mid s) \cdot Q_{\ pi}(s_{t},a).Vpag( st)=miun[ Ppag( st,un )]=∑unπ ( un∣s )⋅qpag( st,a ) .
\;\;\;\;\;\;\;Integre la acción A ∽ π ( • ∣ st ) . A \backsim\pi(•\mid s_{t}).A∽π ( •∣st) .
V π ( st ) V_{\pi}(s_{t})Vpag( st) puede evaluar el estado actual. Cuanto mayor seaV π ( st ) V_{\pi}(s_{t})Vpag( st) , mayor será la posibilidad de ganar. Dado el estadosss ,V π ( st ) V_{\pi}(s_{t})Vpag( st) puede evaluar la estrategiaπ \pipág . Siπ \piπ es bueno, cuanto mayor seaV π ( st ) V_{\pi}(s_{t})Vpag( st) , mayor es la probabilidad actual de ganar.
Definición: Función estado-valor.
V π ( st ) = EA [ Q π ( st , UN ) ] = ∑ un π ( un ∣ s ) ⋅ Q π ( st , un ) . V_{\pi}(s_{t})=E_{A}[Q_{\pi}(s_{t},A)]=\sum_{a}\pi(a\mid s) \cdot Q_{\ pi}(s_{t},a).Vpag( st)=miun[ Ppag( st,un )]=∑unπ ( un∣s )⋅qpag( st,a ) .
Función aproximada de valor de estado.
• Función de política aproximada π ( a ∣ st ) \pi(a \mid s_{t})π ( un∣st) por red de políticasπ ( a ∣ st ; θ ) . \pi(a \mid s_{t}; \theta).π ( un∣st;yo ) .
• Función de política aproximada V π ( st ) V_{\pi}(s_{t})Vpag( st) por:
\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;V(st; θ) = ∑ a π(a ∣ s; θ) ⋅ Q π(st, a). V(s_{t};\theta)=\sum_{a}\pi(a\mid s; \theta) \cdot Q_{\pi}(s_{t},a).V ( st;yo )=∑unπ ( un∣s ;yo )⋅qpag( st,a ) .
Definición: Función de estado-valor aproximada.
• V(st; θ) = ∑ a π(a ∣ s; θ) ⋅ Q π(st, a). V(s_{t};\theta)=\sum_{a}\pi(a\mid s; \theta) \cdot Q_{\pi}(s_{t},a).V ( st;yo )=∑unπ ( un∣s ;yo )⋅qpag( st,a ) .
Aprendizaje basado en políticas: Aprender θ \thetaθ que maximizaJ ( θ ) = mi s [ V ( S ; θ ) ] . J(\theta)=E_{s}[V(S;\theta)].J ( θ )=mis[ V ( S ;yo )] .
Cuanto mejor sea la red de políticas, mayor será J ( θ ) J(\theta)J ( θ ) .
Cómo mejorar θ \thetaθ ? ¡Ascenso de gradiente de políticas!
• Observar estado sss .
• Política de actualización por: θ ← θ + β ⋅ ∂ V ( s ; θ ) ∂ θ \theta\leftarrow\theta+\beta\cdot\frac{\parcial V(s;\theta)}{\parcial \theta}i←i+b⋅∂ θ∂ V ( s ; θ )
Gradiente de política: ∂ V ( s ; θ ) ∂ θ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\ ;Política\;gradiente\;:\frac{\parcial V(s;\theta)}{\parcial \theta}política _ _ _ _gradiente _ _ _ _ _ _ _:∂ θ∂ V ( s ; θ )
3. Gradiente de política
Definición: Función de estado-valor aproximada.
• V(st; θ) = ∑ a π(a ∣ s; θ) ⋅ Q π(st, a). V(s_{t};\theta)=\sum_{a}\pi(a\mid s; \theta) \cdot Q_{\pi}(s_{t},a).V ( st;yo )=∑unπ ( un∣s ;yo )⋅qpag( st,a ) .
Gradiente de política: Derivado de V ( s ; θ ) V(s;\theta)\;V ( s ;yo )escribir θ \theta.θ _
•∂ V ( s ; θ ) ∂ θ = ∂ ∑ un π ( un ∣ s ; θ ) ⋅ Q π ( st , un ) ∂ θ . \frac{\parcial V(s;\theta)}{\parcial \theta}=\frac{\parcial\sum_{a}\pi(a\mid s; \theta) \cdot Q_{\pi}(s_ {t},a)}{\\theta parcial}.∂ θ∂ V ( s ; θ )=∂ θ∂∑unπ ( un ∣ s ; θ ) ⋅ Qpag( st, un ).
Introduce la derivada dentro de la sumatoria.
= ∑ un ∂ π ( un ∣ s ; θ ) ⋅ Q π ( st , un ) ∂ θ \;\;\;\;\;\;\;\;\;\;\;\;\;=\sum_{a}\frac{\parcial\pi(a\mid s; \theta) \cdot Q_{\pi}(s_{t},a)}{\parcial\theta}.=∑un∂ θ∂ π ( un ∣ s ; θ ) ⋅ Qpag( st, un ).
Imagina Q π Q_{\pi}qpages independiente de θ \thetaθ _
(Puede que no sea cierto.)
= ∑ un ∂ π ( un ∣ s ; θ ) ∂ θ ⋅ Q π ( st , un ) suma_{a}\frac{\parcial\pi(a\mid s; \theta) }{\parcial \theta}\ cdot Q_{\pi}(s_{t},a)\;=∑un∂ θ∂ π ( un ∣ s ; θ )⋅qpag( st,un ) Gradiente de política: Forma 1 Política\,Gradiente: Forma 1política _ _ _ _G r a d i e n t:Formulario 1 _ _
Sin embargo, este gradiente de política no se usa en el proceso real, pero sí se usa la aproximación de Monte Carlo de este gradiente de política.
\;\;\;\;\;\;\;\;\;\;
Dos formas de gradiente de política:
• Forma 1: ∂ V ( s ; θ ) ∂ θ = ∑ un ∂ π ( un ∣ s ; θ ) ∂ θ ⋅ Q π ( st , un ) . \frac{\parcial V(s;\theta)}{\parcial \theta}=\sum_{a}\frac{\parcial\pi(a\mid s; \theta) }{\parcial \theta}\cdot Q_{\pi}(s_{t},a).∂ θ∂ V ( s ; θ )=∑un∂ θ∂ π ( un ∣ s ; θ )⋅qpag( st,a ) .
• Forma 2: ∂ V ( s ; θ ) ∂ θ = EA ∽ π ( • ∣ s ; θ ) [ ∂ log π ( A ∣ s ; θ ) ∂ θ ⋅ Q π ( s , A ) ]. \frac{\parcial V(s;\theta)}{\parcial\theta}=E_{A\backsim\pi(•\mid s;\theta)}[\frac{\parcial log\pi(A\mid s; \theta) }{\parcial \theta}\cdot Q_{\pi}(s,A)].∂ θ∂ V ( s ; θ )=miUN ∽ π ( • ∣ s ; θ )[∂ θ∂ l o gramo π ( UN ∣ s ; θ )⋅qpag( s ,A )] .
3.1 Calcular gradiente de política para acciones discretas
Si las acciones son discretas, por ejemplo, espacio de acción A = A=A= {“izquierda”, “derecha”, “arriba”},…
Use Form1: ∂ V ( s ; θ ) ∂ θ = ∑ a ∂ π ( a ∣ s ; θ ) ∂ θ ⋅ Q π ( st , a ) . \frac{\parcial V(s;\theta)}{\parcial\theta}=\sum_{a}\frac{\parcial\pi(a\mid s; \theta) }{\parcial \theta}\cdot Q_{\pi}(s_{t},a).∂ θ∂ V ( s ; θ )=∑un∂ θ∂ π ( un ∣ s ; θ )⋅qpag( st,a ) .
- Calcula f (a, θ) = ∂ π (a ∣ s; θ) ∂ θ ⋅ Q π (st, a), f(a,\theta)=\frac{\parcial\pi(a\mid s; \ theta) }{\parcial\theta}\cdot Q_{\pi}(s_{t},a),f ( un ,yo )=∂ θ∂ π ( un ∣ s ; θ )⋅qpag( st,a ) , para toda accióna ∈ A . a∈A.a∈un _
- Gradiente de política: ∂ V ( s ; θ ) ∂ θ = f ( " izquierda " , θ ) + f ( " derecha " , θ ) + f ( " arriba " , θ ) \frac{\parcial V(s;\theta )}{\parcial\theta}=f("izquierda",\theta)+f("derecha",\theta)+f("arriba",\theta)∂ θ∂ V ( s ; θ )=f ( " izquierda " , _ _ _yo )+f ( " correcto " , _ _ _ _yo )+f ( " arriba " , _yo ) .
\;\;\;\;\;\;\;Si AAA es grande, este enfoque es costoso.
3.2 Calcular gradiente de política para acciones continuas
Si las acciones son continuas, por ejemplo, espacio de acción AAA = [0,1],…
Utilice la forma 2: ∂ V(s; θ) ∂ θ = EA ∽ π(• ∣ s; θ) [∂ log π(A ∣ s; θ) ∂ θ ⋅ Q π(s, A)] \frac{\parcial V(s;\theta)}{\parcial\theta}=E_{A\backsim\pi(•\mid s;\theta)}[\frac{\parcial log\pi(A\mid s; \theta) }{\parcial \theta}\cdot Q_{\pi}(s,A)].∂ θ∂ V ( s ; θ )=miUN ∽ π ( • ∣ s ; θ )[∂ θ∂ l o gramo π ( UN ∣ s ; θ )⋅qpag( s ,A )] .
- Muestra aleatoriamente una acción a ^ \hat{a}a^ según el PDFπ (⋅ ∣ s ; θ ) \pi(\cdot\mid s;\theta).π ( ⋅∣s ;yo ) .
- Calcula g ( a ^ , θ ) = ∂ log π ( a ^ ∣ s ; θ ) ∂ θ ⋅ Q π ( s , a ^ ) g(\hat{a}, \theta)=\frac{\parcial log\ pi(\hat{a}\mid s; \theta) }{\parcial \theta}\cdot Q_{\pi}(s,\hat{a})gramo (a^ ,yo )=∂ θ∂ lo gramo π ( _a^ ∣s; yo).⋅qpag( s ,a^ )
\;\; - Usa g ( a ^ , θ ) g(\hat{a}, \theta)gramo (a^ ,θ ) como una aproximación al gradiente de política∂ V ( s ; θ ) ∂ θ \frac{\parcial V(s;\theta)}{\parcial \theta}∂ θ∂ V ( s ; θ ).
3.3 Actualizar la red de políticas mediante el gradiente de políticas
El algoritmo de Reinforce necesita jugar un juego y observar todas las recompensas antes de actualizar la red.
Más tarde…