-
在我们已知模型的情况下可以用这个方法:
一个策略pi对应参数theta,以及状态state。参数theta对应的奖励为每一个时刻reward的和:
Reward(theta)=sum(reward(time))
我们希望得到Reward的平均值越大越好。我们可以把一次游戏的操作的流程记作:tao。所以多次玩游戏的话可以计算出不同tao出现 的概率:P(tao|theta)。这样我们就可以得到theta参数下得到奖励的平均值,E(Reward(theta))=sum(Reward(tao)*P(tao|theta)=mean(R(tao^(n)))
我们得到了参数theta下的期望值,现在用梯度下降法求好的theta让R最大。
从图中可以看到R(tao)跟theta 无关,所以我们只算dP(tao|theta)就可以了。
如何计算dP(tao|theta)?
计算P(tao|theta):
tao={s1,a1,r1,s2,a2,r2...}
代表在状态s1采取动作a1得到奖励r1.从状态到动作是有参数theta控制的。由动作导致状态的变化,会得到奖励的变化。
这个表达式表明,参数theta的优化只与动作项有关。
所以总的梯度可以写成:
-
若所有的奖励都是正的?
做任何一个动作的几率应该都是在0-1之间的。
假设,a,c得到奖励较大,所以奖励大的出现几率变大。
但是如果a从来没做过会导致永远不去尝试a。所以希望用R(tao^n-b),减去bais.
- Critic
- 对状态判断的函数?
- https://www.youtube.com/watch?v=W8XF3ME8G2I