Sah*_*hil 0 reinforcement-learning deep-learning tensorflow
我在Tensorflow中使用了a3c实现的开源版本,这对于atari 2600实验非常有效.但是,当我修改Mujoco的网络时,如文中所述,网络拒绝学习任何有意义的东西.有没有人设法使a3c的任何开源实现与连续域问题一起工作,例如mujoco?
我做了Pendulum的连续动作,效果很好.
首先,您将构建您的神经网络并输出平均值(μ)和标准偏差(sigma)以选择动作.
持续行动的关键部分是包括正态分布.我正在使用tensorflow,所以代码看起来像:
normal_dist = tf.contrib.distributions.Normal(mu, sigma)
log_prob = normal_dist.log_prob(action)
exp_v = log_prob * td_error
entropy = normal_dist.entropy() # encourage exploration
exp_v = tf.reduce_sum(0.01 * entropy + exp_v)
actor_loss = -exp_v
Run Code Online (Sandbox Code Playgroud)
当您想要采样动作时,使用tensorflow函数给出:
sampled_action = normal_dist.sample(1)
Run Code Online (Sandbox Code Playgroud)
Pendulum的完整代码可以在我的Github中找到.https://github.com/MorvanZhou/tutorials/blob/master/Reinforcement_learning_TUT/10_A3C/A3C_continuous_action.py
| 归档时间: |
|
| 查看次数: |
1658 次 |
| 最近记录: |