策略梯度与REINFORCE算法详解
1. 策略梯度概述
策略梯度算法旨在解决最大化目标函数 $J(\pi_{\theta})$ 的问题,其目标函数定义为:
[
\max_{\theta} J(\pi_{\theta}) = E_{\tau \sim \pi_{\theta}}[R(\tau)]
]
其中,$\tau$ 是从策略 $\pi_{\theta}$ 采样得到的轨迹,$R(\tau)$ 是轨迹 $\tau$ 的回报。为了最大化目标函数,我们对策略参数 $\theta$ 进行梯度上升操作,更新公式如下:
[
\theta \leftarrow \theta + \alpha \nabla_{\theta} J(\pi_{\theta})
]
这里,$\alpha$ 是学习率,用于控制参数更新的步长,$\nabla_{\theta} J(\pi_{\theta})$ 就是策略梯度,其定义为:
[
\nabla_{\theta} J(\pi_{\theta}) = E_{\tau \sim \pi_{\theta}} \left[ \sum_{t=0}^{T} R_{t}(\tau) \nabla_{\theta} \log \pi_{\theta}(a_{t} | s_{t}) \right]
]
$\pi_{\theta}(a_{t} | s_{t})$ 表示在时间步 $t$ 时,智能体采取动作 $a_{t}$ 的概率,动作 $a_{t}$ 是从策略 $\pi_{\theta}(s_{t})$ 中采样得到的。
策略梯度的作用是改变策略产生的动作概率。如果回报 $R_{t}(\
超级会员免费看
订阅专栏 解锁全文
743

被折叠的 条评论
为什么被折叠?



