101

你该掌握的AI技能:强化学习01

 6 years ago
source link: http://mp.weixin.qq.com/s/f39wmv2gIxVk8SQAeAJkfA
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

你该掌握的AI技能:强化学习01

Original shadow 无界社区mixlab 2017-12-21 04:30 Posted on

收录于合集 #写给设计师的技术指南 42个
Image

题图由人工智能设计师完成

最近在看一些强化学习的书籍,学习的过程就是要不断的输入,查找资料,理解各种资料,然后输出,总结学习心得,再次输入,输出。不断的重复输入输出这一过程,直至灵活运用学来的知识转化为技能,这个过程很像强化学习的过程。

今天开始更新一个新系列:

《你该掌握的AI技能》

先看一个游戏:Flappy Bird

Image

操作简单,通过点击手机屏幕使Bird上升,穿过柱状障碍物之后得分,碰到则游戏结束。由于障碍物高低不等,控制Bird上升和下降需要反应快并且灵活,要得到较高的分数并不容易。

这款游戏,大家应该都玩过吧,不知最高记录是多少?

有没有想过AI(人工智能)玩游戏能玩到多少分呢?

本文暂时不介绍详细的实现过程,有兴趣可以点击阅读原文查看原文。

历史渊源,是起于2013DeepMindNIPS上发表Playing Atari with Deep Reinforcement Learning 一文,提出了DQNDeep Q Network)算法,实现端到端学习玩Atari游戏,即只有像素输入,看着屏幕玩游戏。后来Deep Mind凭借这个应用以6亿美元被Google收购。

近期DeepMind又有新作,AlphaGo Zero,摆脱了对人类标注样本(人类历史棋局)的依赖,实现无师自通,没有再利用人类历史棋局,训练过程从完全随机开始。采用类似DQN的一个DNN网络实现决策过程,并利用这个DNN得到两种输出policyvalue,然后利用一个蒙特卡罗搜索树完成当前步骤选择。

其中,核心技术就采用了

强化学习reinforcement learning。

本文作为强化学习的开篇,重点介绍:

原理及基本概念

一个完整的强化学习过程,是让一台什么都不懂的计算机完成某一项任务,通过不断地尝试,从错误中学习,最后找到完成这项任务的规律,学会了完成任务的方法

比如小孩子学走路的过程,家里的宠物狗学习各种动作的过程,还有著名的 Alpha GO如何习得下围棋技能的过程。

强化学习是从动物学习、参数扰动自适应控制等理论发展而来。有些人认为,强化学习是实现强人工智能的真正希望。

上图是强化学习的基本理念及原理图。

由以下概念构成:

Environment

Agent

Actions

Observation

Reward

State:状态

来描述EnvironmentAgent

State:Environment--Agent

Policy:策略

规定了在每个可能的状态State下,Agent 应该采取的Actions集合。

强化学习就是要找到一个Policy,以使得Reward最大。

Policy:Reward--State--Actions

用一个例子——打砖块游戏,来解释下强化学习:

Environment 处于一个特定的状态(State)(如打砖块游戏中挡板的位置、各个砖块的状态等),Agent 通过执行特定的动作( Actions )(如向左、向右移动挡板)来改变 Environment 的状态, Environment 状态改变之后会返回一个观察(Observation)给Agent,同时还会得到一个奖励(Reward)(正代表奖励,可以为负,就是惩罚),这样 Agent 根据返回的信息采取新的动作,如此不断重复。

直至找寻到一个策略(Policy),告诉Agent 如何选择动作( Actions ),来最大化Reward

强化学习的目的,就是在这个不断重复的过程中,学习到某一种最优的policy。

另一个现实中的例子来理解强化学习:

“小孩子走路问题”,其中孩子是一个试图通过采取Actions(走路)来操纵Environment(在地上走路)的Agent ,她试图从一个State(即,她走的每一步)转移到另一个State。当她完成任务的一个子模块(即,孩子走了几步)时,孩子会获得奖励Reward(比如,一些糖果),但是当她不会走路时,她不会收到任何糖果(相当于惩罚)。Agent不断地练习,直至学会走路的方法Policy为止。

以上为强化学习的入门需掌握的基本原理及概念,跟着我们一步步掌握这一技能吧!

近期热门文章推荐:

聊聊人工智能建筑师

【图像处理篇】自动识别手写数字web应用05

人工智能设计师之智能排版v0.0.3

机器学习的应用


码字不易,开启新的打赏方式:

Image

本公众号定期更新关于

设计师、程序员发挥创意

互相融合的指南、作品。

主要技术栈:

nodejs、react native、electron

Elasticsearch

Solidity

Keras

欢迎关注,转发~

欢迎长按二维码

关注本号

Image

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK