查看原文
其他

帮嫦娥五号登月的AI还能用来玩游戏,20行Python代码带你领略强化学习的风采

马超 Python大本营 2019-07-25

作者 | 马超,CSDN博客专家,现从事金融科技领域。
来源 | CSDN博客

嫦娥五号将使用AI登陆月球

有关最近嫦娥五号的好消息不断,在最近举办的2019软件定义卫星高峰论坛上,中国探月工程首任首席科学家欧阳自远表示“嫦娥五号仍采用软着陆。这实际上是人工智能的自主决策。“探测器非常聪明,它一直晃来晃去地拍照,琢磨这个地点安全不安全,如果4个点不能在一致的水平面上,是会翻车的。”欧阳自远说,它一直在边走边找,最后作出判断和决策。”也就是说嫦娥五号会利用人工智能技术帮助其进行登月着陆。那么这种AI会哪种AI模型呢?

我们知道在目前人工智能领域分为深度学习模型和强化学习模型两种流派。其中深度学习模型以深度神经网络模型为主,在图像及自然语言识别、分类以及生成等方面都有不错的成绩。而强化学习则是以OPENAI的Dexterous之手为代表:

后来在OPENAI的强化学习模型在DOTA比赛中完胜人类冠军,而抱得大名。这我在之前的博客OpenAI完胜DOTA世界冠军(https://blog.csdn.net/BEYONDMA/article/details/89315449)也有介绍。

深度学习比较合适根据海量的数据推测数据之间规律和关联,而强化学习主要用于探索未知领域,所以由本次嫦娥五号要执行的登月任务来看,由于月球表面的数据匮乏,其使用深度学习的可能微乎其微,几乎可以肯定他是使用强化学习来完成登陆目标的。

强化学习的原理

强化学习的原理图是这样:

强化学习(reinforcement learning,RL)技术,要做是一系列基于时间序列的决策。它先假定每个问题都对应一个Environment,这时每一个Agent在Environment中采取的每一步动作都是一个Action,做出Action之后,Agent从Environment中得到observation与reward,再不断循环这个过程,以达到总体reward最大化。

所以从RL的原理中也能看出,RL是一种在不确定且复杂的环境中通过不断试错,并根据反馈不断调整策略,最终完成目标的AI,这和嫦娥的登月场景可谓非常的契合。


目前虽然RL的应用还不如深度学习那样普遍,但是在一些具体的场景中,例如控制步进马达、电子竞技方面还是取得了不错的成绩。

近距离感受强化学习

OpenAI在其开源项目gym中,提供了完整的接口可以让我们通过玩游戏,来了解深度学习的原理。安装gym十分简单,windows平台也可以。只是记得要执行这个命令pip install gym[atari]

pip install gym
pip install gym[atari]

看到这个返回就代表安装成功了

Successfully built PyOpenGL
Installing collected packagesatari-pyPyOpenGL
Successfully installed PyOpenGL-3.1.0 atari-py-0.2.3

根据我在gym库中搜索,和这次嫦娥最接近的是“UpNDown-ramDeterministic-v4”模型,在这个模型中有几个小汽车一起运行,一旦冲出轨道或者和其它小车相撞则游戏结束。

具体代表及其注释说明如下:

import gym
env = gym.make('UpNDown-ramDeterministic-v4')#初始化环境
for i_episode in range(900000):
    observation = env.reset()#重置观察
    for t in range(100):
        env.render()#渲染环境
        print(observation)#将观察值打印出来
        action = env.action_space.sample()#按照sample进行动化,当然也可以自行实现。
        observation, reward, done, info = env.step(action)
        print(reward)#将奖励值打印出来
        if done:
            print("Episode finished after {} timesteps".format(t+1))
            break
env.close()

短短的十几行代码,不过是麻雀虽小五脏俱全,包含了observation, reward, agent,env的所有概念,非常值得尝试一下。

原文地址:

https://blog.csdn.net/BEYONDMA/article/details/95731902


(*本文仅代表作者观点,转载请联系微信1092722531)


《程序员大本营》



在本期《程序员大本营》的开篇文章《北邮通信博士万字长文,带你秒懂 4G/5G 区别!》中,前文孙松林教授的学生、北邮通信博士崔原豪,细数移动通信系统演进、5G的新无线技术、毫米波等热门话题,堪称5G入门必看级文章!扫码关注Python大本营,回复:程序员大本营,免费获取。


推荐阅读:


你点的每个“在看”,我都认真当成了喜欢

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存