倒立摆REINFORCE

时间:2018-08-02 14:20:27

标签: python reinforcement-learning policy-gradient-descent

我正在学习强化学习,并且作为一种实践,我正在尝试使用政策梯度REINFORCE将倒立摆(gym:Pendulum-v0)稳定在直立位置。

我有一些问题,请帮助我,我做了很多尝试,但听不懂。任何问题的答案都可以帮助我。预先感谢。

1-为什么摆code中的观测值是:cos(theta),sin(theta)和theta_dot?不只是theta和theta_dot?

2-我应该发送到环境的动作(env.step(action))是否正确(如python):

prob=output.eval(arguments={observations: state})[0][0][0]  
# output of the neural network 

# Bernoulli dist. either 1 or 0 according to a threshold (rand.)
action = 1 if np.random.uniform() < prob else 0 

3-奖励功能在摆代码中定义如下,但是我不明白为什么!像摆锤是直立的(有一定的容忍度),所以报酬很高,否则为零吗?

costs = angle_normalise((th)**2 +.1*thdot**2 + .001*(action**2))
# normalize between -pi and pi
reward=-costs

4-摆运动方程式不同于已知的(如here),环境代码使用以下方程式,其来源是什么?

 newthdot = thdot + (-3*g/(2*l) * np.sin(th + np.pi) + 3./(m*l**2)*u) * dt

0 个答案:

没有答案