策略梯度:策略参数问题的初始化

时间:2019-03-25 23:27:30

标签: artificial-intelligence gradient reinforcement-learning policy baseline

从书中初始化REINFORCE算法的策略参数Theta时遇到一些问题: 强化学习:简介,第2版,第12章,萨顿和巴托(Sutton&Barto)

这是该算法的伪代码:

Taken from the book

他们说您可以使用任意值初始化Thetas(策略参数),例如0。但是我得到了完全错误的结果:

Figure 13.2

要解决此问题,我必须以某种方式初始化它们,以使其符合Epsilon-Greedy策略。这可以通过考虑使用操作首选项来实现:

Probability(LEFT)  = e^Theta[1] / (e^Theta[1] + e^Theta[2])
Probability(RIGHT) = e^Theta[2] / (e^Theta[1] + e^Theta[2])

例如,解决第二个问题(使用p = Epsilon / 2)和Probability(RIGHT)= p且两个概率之和为1的事实。

 Theta[1] = ln(p / (1 - p)) + Theta[2]

因此,给Theta[2]任何值并使用上述偏移量来计算Theta[1]会产生该书的结果(对不起,第一张照片上的alpha反转):

Figure 13.1 Figure 13.2

所以我不知道为什么初始值应该模仿Epsilon Greedy策略,以及如书中所述将其设置为0时出了什么问题。

另一个问题是,比较REINFORCE算法时,不同alpha的顺序与书中图13.1所示的顺序完全相反。据说Alpha = 2 ^ -14胜过所有而不是更糟。

您需要任何帮助和澄清吗?

我在Lua的Lua code

中实现了此功能

谢谢

0 个答案:

没有答案
相关问题