专栏名称: 雷克世界
赛迪研究院(CCID)主办的新媒体平台,每天跟你聊聊机器人、人工智能、智能制造领域的那些你想知道的事……
目录
相关文章推荐
51好读  ›  专栏  ›  雷克世界

NIPS 2017斯坦福赛题大公开:「学会奔跑」,强化学习模拟人类肌肉骨骼模型

雷克世界  · 公众号  · 机器人  · 2017-07-23 10:01

正文

请到「今天看啥」查看全文


): observation, reward, done, info = env.step(env.action_space.sample())


函数 env.action_space.sample() 返回肌肉活动的随机向量,因此在本示例中,肌肉将会随机激活(红色表示活动肌肉,蓝色为非活动肌肉)。显然,使用这种技术,走不了太远。


你的目标是构建一个控制器,即一个从状态空间(当前位置,关节的速度和加速度)到动作空间(肌肉刺激)的函数,这将使得能够在固定的时间内尽可能快地完成从建模到执行。假设你训练了一个从观察(模型的当前状态)映射到动作(肌肉刺激)的神经网络,即你有一个函数 action = my_controller(observation) ,然后


# ...total_reward = 0.0for i in range(200):    # make a step given by the controller and record the state and the reward
    observation, reward, done, info = env.step(my_controller(observation))
    total_reward += reward    if done:        break# Your reward isprint("Total reward %f" % total_reward)


其实有很多种方法可以用来构造函数 my_controller(observation) 。我们将通过使用 keras-rl 来演示如何使用DDPG(深度确定性策略梯度)算法来实现它。如果你已经有了训练强化学习模型的经验,你可以跳过下一节转到评估部分。


训练你的第一个模型

下面我们介绍如何使用keras-rl训练基本的控制器。首先你需要安装一个额外的包:


conda install keras -c conda-forge
pip install git+https://github.com/matthiasplappert/keras-rl.git
git clone http://github.com/stanfordnmbl/osim-rl.git

keras-rl 是一款可以与 OpenAI 兼容的优秀软件包,可让你快速构建你的第一个模型!


从这个存储库转到 scripts 子目录


cd osim-rl/scripts

一共有两个脚本:


example.py 用于使用DDPG算法训练(和测试)agent。


submit.py 将结果提交到 crowdAI.org


训练


python example.py --visualize --train --model sample

测试


关于步态的示例(尽可能地走):


python example.py --visualize --test --model sample

试验继续


请注意,训练该模型是需要一些时间的。你可以在线查找许多教程,框架和课程。我们特别推荐:


强化学习教学与课程:


加州大学伯克利分校Sergey Levine 讲授的 深度强化学习课程


在Karpathy的博客上的 关于强化学习的介绍


Tambet Matiisen 对于强化学习的介绍


David Silver的 关于强化学习的课程


关于深度强化学习的 全面资源列表


算法的框架和实现:


RLLAB


modular_rl


keras-RL


OpenSim和生物力学:


OpenSim Documentation



肌肉模型


描述OpenSim的相关论文


描述Simbody(多体动力学引擎)的相关论文


当然,这份清单并不详尽。如果你还发现有一些资源特别适合本教程,请告诉我们!








请到「今天看啥」查看全文