随机策略做连续控制

复习回顾

策略梯度:

策略梯度是状态价值函数关于θ的梯度,θ是策略网络的参数,策略梯度可以写成期望的形式,期望是关于A求的,A是随机变量,其概率密度是策略网络π,期望里面是关于A的函数,记作g(A),相当于一个随机梯度,由于求期望很困难,实践中总是用随机梯度代替期望,也就是蒙特卡洛近似。

g(a)称为随即策略梯度,其中a是策略网络随机抽样得到的,实践中都是用g(a)去更新策略网络,做梯度上升更新参数θ。

随机策略做连续控制

本次我们将构建一个策略网络做连续控制,然后用随即策略梯度来更新策略网络。

策略网络

跟之前学习的策略网络区别非常大,先说明自由度为1的例子(动作为一个实数的例子):

代表均值,代表标准差,两者都是关于状态s的函数,我们用正态分布的概率密度函数作为策略函数。

实际问题中,自由度通常大于1,比如机器手臂的例子。把自由度记作d,那么动作a就是d维的向量,也是代表均值和标准差,两者的输入是s,输出都是d维向量。表示输出的第i个元素,用特殊的正态函数作为策略函数。假设动作a都是独立的,那么概率密度就可以写作连乘的形式:

需要解决的问题是我们不知道 具体长什么样,解决办法其实很简单,就是用神经网络来做函数近似。用神经网络来近似,同理也可以用同样的方法处理,但是不太好,具体的方法如下图所示::

构建网络,两个网络共享输入和卷积层,将输入状态s映射到均值向量和方差对数ρ:

可以用这个神经网络来做连续控制了。

算法原理

1.观测到状态s。

2.输入状态s,并输入,得到 均值向量和方差对数ρ,它们都是d维的向量。

3.根据ρ计算

4.已知策略函数是正态分布,已经得到正态函数的参数,那么我们就可以做随机抽样,得到动作a,让agent做出相应的动作。

训练策略网络

1.构造一个辅助神经网络,目的是为了计算策略梯度。

2.然后是用策略梯度方法训练策略网络,这里由两种方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值