本文首发于我的博客网站,访问我的网站,获取相关资料吧
一、相关资料
- An Introduction to Reinforcement Learning, Sutton and Barto, 1998【可以从 我的站点 获取】
- Algorithms for Reinforcement Learning, Szepesvari【更加精简】
二、About Reinforcement Learning
-
强化学习(RL)横跨多学科,在不同的学科中有不同的名字
-
计算机科学 ------ 机器学习的分类
- 监督学习
- 无监督学习
- 强化学习
- 强化学习与其他分支的区别:
- 在强化学习中并没有监督者(supervisor),不会告诉系统应该怎么做;只是有一个反馈信号(reward signal),即给予正反馈(奖励)或者负反馈(惩罚);
- 延迟反馈:做一个决定,并不会立即收到正负反馈,可能很多步之后才知道当时的决定是好的还是坏的;【也有可能当时收到的是小的正(负)反馈,但是很多步之后收到了大的负(正)反馈】
- Time really matters in RL:这是一个动态的系统,前面的行动会对后面产生影响,实际上是一系列的过程【sequential, 数据不是独立且同分布的】
- 智能体(Agent)的行为影响接下来接受到的数据【智能体的行动会影响环境】
- 一些例子
- AlphaGo 围棋
- 训练飞行器自主飞行
- 训练类人机器人行走
三、RL 基本理念
当前,RL 算法的目的就是获取最多的奖励(Reward)
- RL 实际上是基于
Reward Hypothesis
: 强化学习的目标可以描述为最大化累计奖励(All goals can be described by the maximisation of expected cumulative reward)
1) 智能体需要作出一系列的决定(Sequential Decision Making)
- 目标:选择能够使得未来奖励(scalar feedback signal)最大化的行动(action)
- 行动可能会有长期的影响;反馈可能会延迟【有时候为了获取长期更大的奖励,可能要放弃眼前的奖励,甚至要接受惩罚,所以不能是贪心的】
2)智能体(Agent)与环境(Env)的交互
- 智能体从环境中获取观察(Observation)和反馈(reward)并采取行动(action),这个行动会影响环境;
3)History and State
-
History
是一系列的过去的观察、动作、反馈的组合:- 接下来会发生什么完全取决于 History;但是这个 history 是非常冗长的,我们并不想每次都回溯历史来决定接下来的事情,所以我们有了状态(state)
-
state(状态)
:是用来决定接下来发生什么的简化的信息;这样我们就有希望实时地进行判断【State is the information used to determine what happens next】-
因此,实际上,状态(state)是历史(History)的函数:
-
-
Environment State
: 这个是环境的私有表示(private representation),任何环境用来决定下一步的观察(observation)或者反馈(reward)的数据都属于Environment State
- 通常来讲,
Environment state
是对智能体(Agent)不可见的,即便是可见的,也可能包含不相关的信息;
- 通常来讲,
-
agent state
: 是智能体的内部表示,凡是智能体用来决定下一步动作的信息都是agent state
;-
这些信息是强化学习算法用到的;
-
同时,也是
history
的函数:
-
-
Information state(马尔科夫 Markov state)
: 其中包含 History 中所有有用的信息【An information state (Markov state) contains all useful information from the history】-
马尔科夫性质(Markov property):
- 实际上就是,下一个状态完全取决于当前的状态,与以前的状态无关
-
当前状态已经包含了历史信息中对决定下一步有用的所有信息,判断一个状态信息是不是马尔科夫状态信息,就是用上面的定义;
- 因此,
Environment State
是满足马尔科夫性质的; history
也是满足马尔科夫性质的;
- 因此,
-
4) Fully Observable Env
- Fully observability: 智能体(agent)直接观察环境状态(environment state);这里有:
- Agent state = environment state = information state
- 这就是马尔科夫决策过程(Markov decision process, MDP)
5) Partially observable Environments
-
Partial observability: 智能体不能直接观察环境
-
agent state != env state
-
这个就是 partially observable Markov decision process (POMDP)
-
智能体需要创建自己的状态表示,下面是一些自己创建状态表示的例子:
四、智能体(Agent)
1)RL 智能体(Agent)的主要组成部分【可能包含一个或者多个下面的成分】
- Policy:智能体的行为函数,即智能体怎样选择自己的动作;实际上是从状态到动作的映射( a map from state to action);
- Value function:评估每一个状态或者动作的好坏;实际上是对于未来反馈的预测,因此,用来选择不同的动作;
- Model:智能体所认为的环境的运行方式【agent’s representation of the env】;实际上是预测环境下一步将会怎么样【不一定会有,
model-free
的系统是没有这个的】- Transitions: Predicts the next state
- Rewards: predicts the next (immediate) reward
2) 迷宫的例子
-
Policy:
-
Value Function:
-
Model:
3) RL agents 分类
-
第一种分类方法
- Value based
- 没有 policy,但是是隐含的,因为实际上有了 Value Function ,也就有了 policy
- 只含有 Value Function
- Policy Based:
- 含有 Policy
- 但是并不具体存储 Value Function
- Actor Critic
- 含有 Policy
- 含有 Value Function
- Value based
-
第二种分类方法:是不是有 Model
- Model-Free
- Policy and/or Value Function
- No model
- Model based
- Policy and/or Value function
- Model
- Model-Free
-
RL 分类:
五、RL 中的问题
-
作出一系列决策中的两个基础问题:
-
Reinforcement Learning:
- 初始的环境是未知的
- 智能体和环境进行交互
- 智能体不断优化 policy
-
Planning:
- 环境的模型是已知的;
- 智能体在模型中进行计算
- 智能体不断优化 policy
-
-
RL 就像是 trial-and-error learning
-
RL 要平衡好利用(exploitation)和探索(exploration)
- 利用:直接选择最好的(exploits know info to maximise reward)
- 探索:随机选择(find more info about the env)
-
Prediction and Control
- Prediction: 在给定 policy 的情况下,将会做的怎么样【为了解决Control 的问题,我们需要解决 Prediction 问题】
- Given a policy
- Control: Optimise the future
- Find the best policy
- Prediction: 在给定 policy 的情况下,将会做的怎么样【为了解决Control 的问题,我们需要解决 Prediction 问题】