PPO公式推导

Trajectory :
为一串游戏的状态和动作序列。


这里的为一类序列,为的发生的概率。

那这里是不是我们直接能用来获得最大值呢?
我们这里设之列有种那么就有这里的问题就在于X有多少种无法确定,所以无法直接求得。
因为有
所以
\begin{align} \nabla\overline{R}_\theta & =\sum_{\tau} R(\tau)p_\theta(\tau)\nabla \log p_\theta(\tau)\\ & = E_{\tau \sim p_\theta(\tau) }[R(\tau)\nabla \log p_\theta(\tau)]\\ & {\approx} \frac{1}{N} \sum_{n=1}^N R(\tau^n) \nabla \log p_\theta(\tau^n)\\ & = \frac{1}{N} \sum_{n=1}^N \sum_{t=1}^{T_n} R(\tau^n) \nabla \log p_\theta(a_t^n|s_t^n)\\ \end{align}
这里的与之前的不一样,代表采样中的单独一次采样,代表一类相同的采样。所以我们想要求的loss函数如下:
\begin{align} L^{PG}(\theta) & = \int\frac{1}{N} \sum_{n=1}^N \sum_{t=1}^{T_n} R(\tau^n) \nabla \log p_\theta(a_t^n|s_t^n)\\ & = \frac{1}{N} \sum_{n=1}^N \sum_{t=1}^{T_n} R(\tau^n) \log p_\theta(a_t^n|s_t^n)\\ \end{align}当然这里求的是loss得最大值。

你可能感兴趣的:(PPO公式推导)