强化学习-策略学习

If a good policy function π\pi is known, the agent can be controlled by the policy: randomly sample ata_t~π(st)\pi(\cdot|s_t)

但是我们要如何得到这样一个策略函数?

使用神经网络近似

如何训练这个神经网络?

梯度上升

为什么是梯度上升?

我们想要最大化ES[V(S;θ)]\mathbb{E}_S[V(S;\theta)]


策略函数 π(as)\pi (a|s) 是一个概率函数,输入状态输出各个动作的概率,agent做出随机抽样

只要有一个好的策略函数,我们就能控制agent移动。

policy network: π(as;θ)\pi (a|s;\bf{\theta})

输出后进行softmax获得每个action的概率

对于所有的动作概率之和为1

对于离散的动作:

对于连续的动作:

使用蒙特卡洛近似(取一个样本来近似期望)估算积分

算法流程:

但是我们并不知道QπQ_{\pi},如何估算qtq_t?

  1. reinforce

    需要玩完一局游戏,才能进行更新

  2. Actor-critic
    actor - 策略网络
    critic - 价值网络

actor想要自己的分尽可能高,但是他不知道自己做的怎么样,因此就需要看critic。

对于动作可以用one-hot编码

策略网络控制agent运动,critic评判agent的运动
训练的流程:

更新参数流程:

policy gradient with Baseline
将最后更新的qtq_t改成δt\delta_t


强化学习-策略学习
https://dreamerland.cn/2024/01/25/深度学习/强化学习3/
作者
Silva31
发布于
2024年1月25日
许可协议