目录
1. 引言
我们上次讲到了baseline的基本概念,今天来讲讲使用到baseline的常用算法:REINFORCE
2. 估计
我们之前得到了状态价值函数的梯度表达式
我们希望使其梯度上升,现状就需要解决这么几个难题:等式右侧是一个期望表达式,不好计算;含有未知的 ;含有未知的
,现在我们来解决这几个问题。
2.1 估计期望
首先解决期望问题,我们上次引入了随机梯度函数
根据 抽取
使用蒙特卡罗算法近似这个期望,则
,这样就解决了期望的问题。
2.2 估计价值函数
我们虽然解决了期望的问题,但是等式右侧还有 ,由于
是return的期望,于是我们可以考虑使用观测到的return来近似
,在一把对局结束之后我们获得一个trajectory
,我们就可以计算
,这样一个未知量就被解决了,这种方法也是蒙特卡罗算法。
2.3 估计状态函数
最后一步就是近似 ,这里我们使用神经网络
来近似状态价值函数
,即
。
3. 算法
我们的算法中出现了两个神经网络,于是我们需要分别更新两个网络的参数
3.1 策略网络
第一个网络近似的是策略函数 状态价值函数
的梯度用
近似。令
我们需要价值函数变大,所以我们使用梯度上升来更新策略网络
3.2 价值网络
第二个网络就是我们引入近似 的神经网络
由于 我们要使
,只需要
,也就是减小
,于是我们定义loss函数
并做梯度下降