La derivación de la función de puntuación de softmax (también conocida como vector de elegibilidad) es la siguiente:
Primero, note que: πθ(s,a)=softmax=eϕ(s,a)⊺
Lo importante aquí es que la diapositiva solo identifica la proporcionalidad, no la función completa de softmax que requiere el factor de normalización.
Continuando con la derivación:
Usando la identidad de \log \log(x/y) = \log(x) - \log(y) podemos escribir \log(\pi_\theta(s,a)) = \log(e^{\phi(s,a)^\intercal\theta}) - \log(\sum_{k=1}^Ne^{\phi(s,a_k)^\intercal\theta})
Ahora tomamos el gradiente:
\nabla_\theta\log(\pi_\theta(s,a)) = \nabla_\theta\log(e^{\phi(s,a)^\intercal\theta}) - \nabla_\theta\log(\sum_{k=1}^Ne^{\phi(s,a_k)^\intercal\theta})
El término de la izquierda se simplifica de la siguiente manera:
left= \nabla_\theta\log(e^{\phi(s,a)^\intercal\theta}) = \nabla_\theta\phi(s,a)^\intercal\theta = \phi(s,a)
El término de la derecha se simplifica de la siguiente manera:
Usando la regla de la cadena: \nabla_x\log(f(x)) = \frac{\nabla_xf(x)}{f(x)}
Podemos escribir:
right = \nabla_\theta\log(\sum_{k=1}^Ne^{\phi(s,a_k)^\intercal\theta}) = \frac{\nabla_\theta\sum_{k=1}^Ne^{\phi(s,a_k)^\intercal\theta}}{\sum_{k=1}^Ne^{\phi(s,a_k)^\intercal\theta}}
Tomando el gradiente del numerador obtenemos:
right = \frac{\sum_{k=1}^N{\phi(s,a_k)}e^{\phi(s,a_k)^\intercal\theta}}{\sum_{k=1}^Ne^{\phi(s,a_k)^\intercal\theta}}
Sustituyendo la definición de \pi_\theta(s,a) podemos simplificar a:
right = \sum_{k=1}^N{\phi(s,a_k)}\pi_\theta(s,a_k)
Dada la definición de Valor Esperado:
\mathrm{E}[X] = X \cdot P = x_1p_1+x_2p_2+ ... +x_np_n
Lo cual en inglés es simplemente la suma de cada característica multiplicada por su probabilidad.
X = características = {\phi(s,a)}
P = probabilidades =\pi_\theta(s,a)
Entonces ahora podemos escribir el valor esperado de las características:
right = \mathrm{E}_{\pi_\theta}[\phi(s,\cdot)]
donde \cdot significa todas las posibles acciones.
Juntándolo todo: \nabla_\theta\log(\pi_\theta(s,a)) = left - right = \phi(s,a) - \mathrm{E}_{\pi_\theta}[\phi(s,\cdot)]