策略梯度算法
策略梯度算法,顾名思义,对策略(每个状态state,选择各个动作action的概率)使用梯度下降算法,使得策略越来越好(这里评估策略好的指标是loss小,也就是最大化奖励)
我们的目标是最大化期望汇报J(θ),因为是梯度下降算法,所以我们通过最小化Loss(θ)来实现,L(θ)=−J(θ)
策略网络是由神经网络组成的,简单的任务使用两个linear层加一个softmax层(转换成概率用的)就能实现,策略完全由神经网络的参数决定,策略梯度算法中我们不再使用贝尔曼方程,td算法进行更新(策略梯度算法里我们不计算q值和v值,只关注策略和回报)
初始策略是随机生成的,在和环境交互过程中,我们计算误差Loss,L(θ)=−t∑logπθ(at∣st)Gt,

这里log...表示给一个动作的概率的对数,因为概率取值范围0~1,所以这里得到的对数 无论如何都是负数,
如果概率大,log值大,接近0;如果概率小,log值很负。
gt表示该动作在未来拿到的累计回报
当gt很大,为了让loss变小,我们要增大log的值(趋于0),也就是让该动作的概率变大
当gt很小甚至为负数时,为了让loss变小,我们要减小log的值(越负越好),也就是让该动作概率变小
这样看来,我们在做梯度下降(使得loss减小)的过程,就能够更新模型的参数,使得模型给予高回报动作高概率,以及低回报动作低概率。
这样不断进行策略梯度下降,最终得到收敛的模型策略

浙公网安备 33010602011771号