目录:
- 强化学习问题
- 强化学习的组成
- 智能体的组成
- 强化学习分类
- 强化学习一些重要概念
1. 强化学习问题
- 面向智能体的学习——通过一个环境进行交互来实现目标。所有的学习样本来自于和环境的交互
- 通过是错和优化进行学习——用试错后的奖励(或惩罚)进行学习。智能体并不知道怎么做最好
1.1 强化学习与其他机器学习的关系
监督学习(supervised learning): 有即时标签的学习(分类、回归等)
非监督学习(unsupervised learning):无标签学习(聚类问题)
强化学习:有延时奖励的学习问题,介于监督与非监督之间
PS:监督学习本质上也可以认为是强化学习的一种特殊形式(无延迟场景)
举个例子,给了一些人脸图片
- 监督学习:同时,给标签(人名),然后通过数据学习这些人脸是谁的脸
- 要求带标签的数据,比较昂贵
- 标注数据也是一门学问
- 非监督学习:没有标签,直接观察人脸去判断哪些脸属于同一个人
- 无标签数据的数量非常大,容易获得
- 强化学习:没有标签信号,只有奖励信号。
- 即时奖励:如果分错了,只告诉你错了
- 延迟奖励:等所有的分类工作完成后,告诉你总分如何
1.2 强化学习的直观特性
- 没有监督信号(告诉你该怎么做),只有奖励信号(只说对错)(具体 vs 抽象)
- 奖励信号大都是延迟的,不是瞬时的
- 问题是一个优化问题
- 数据具有时间相关性,不满足独立同部分(iid)假设
- 智能体的动作是可以影响它之后的数据
比如学走迷宫,智能体一直开左边的门。通过开左边的门数据学出来的东西是永远不知道右边有什么,就是有些东西你不去尝试,就永远不知道什么样的。所以怎么去做动作,怎么去做决策去改变你未来所看到的数据分布 让智能体更好地学习也是一门学问。
强化学习是把数据收集也纳入学习的范畴。智能体怎么去和环境交互获得想要的数据驱动我的学习算法去学得更好。
1.3 和赌博机问题的关系
- 赌博机(bandit)问题:单步优化问题,且没有输入状态。每一个时刻都有奖励,每次决策跟后续状态没有关系。(例如:摇臂机,掷骰子)
-
上下文赌博机(contextual bandit)问题:在赌博机问题上增加了状态输入,所作出的决策是跟状态相关的。
2. 强化学习组成
在强化学习中有五个核心组成部分,它们分别是:环境(Environment)、智能体(Agent)、状态(State)、动作(Action)和奖励(Reward)。在某一时间节点 t
:
- 智能体在从环境中感知其所处的状态 St
- 智能体根据某些准则选择动作 At
- 环境根据智能体选择的动作,向智能体反馈奖励 Rt+1
2.1 智能体与环境
- 智能体是指强化学习需要优化的部分,是我们能够精确控制的部分
- 环境是我们不能直接控制的部分
2.2 奖励
- 奖励(reward)是强化学习的核心,与解决的问题相关,区别于其他机器学习的标志特征。
- 奖励的特点
- 奖励Rt是一个标量反馈
- 它衡量了智能体在时间t上做的有多好
- 智能体的目标就是最大化累计奖励
奖励假设
强化学习的目标就是最大化期望累计奖励
如果一个问题不满足奖励假设,那么就不能用强化学习去解决
奖励不一定要求一定要有正有负,只要存在相对大小就可以了
- 长期奖励
- 每一个动作都可能有一个长期的结果
- 奖励可能是延迟的
- 有时我们需要牺牲一些短期奖励来获得更多的长期奖励
- 奖励值与回报值
当智能体在时间t做出动作A_t时,会在未来收到奖励序列Rt,Rt+1,Rt+2,...。我们的目的是使累计奖励最大。一种通用的累计奖励的定义方式是将这些奖励值进行加权求和:
我们把上面的标量Gt称为回报值(Return)。回报值衡量了动作At对未来结果的影响,强化学习的目的即变成了在每个时刻,使未来的期望回报值最大
其中wt表示不同时间的加权系数
- 无衰减回报值(undiscounted return),
我们将所有时刻的奖励看成一样重要的 - 衰减回报值(discounted return),(γ为衰减系数)
- γ = 0时, 退化成赌博机问题
- γ = 1时, 变成无衰减回报值
- γ ∈ (0,1)时, γ值衡量了我们队未来奖励的关注度。γ越大,表示我们越关注长期奖励;γ越小,表示我们越关注短期奖励
2.3 历史和状态
历史(history)是一个观测、动作和奖励的序列(智能体在时间t以前所有的交互变量)
根据历史:
- 智能体选择动作
- 环境产生新的观测和奖励
状态是历史的一种表达,根据状态我们可以判断接下来发生什么
本质上,状态是历史的一个函数
举个例子
下棋时,面对残局,其实可以直接接着下,无需关心之前是怎么下的。此时状态
玩打砖块游戏时,要提前知道小球的移动速度和移动方向,此时前几帧的观测被认为是状态St = Ot-2. Ot-1, Ot
玩CS时, 可能整个历史都被认为是状态
-
环境状态
环境状态是环境的内部表达, 所有能够影响环境产生新的观测/奖励的数据都被认为是环境状态的一部分。
环境状态一般是智能体观察不到的
即使环境状态 ,一般也包含了不相关的信息 -
智能体状态
智能体状态是智能体的内部表达, 所有能够影响智能体做出下一个动作的数据都被认为是智能体状态的一部分。
强化学习使用的状态就是智能体状态。
智能体状态可能是历史的任何函数
机器人控制
- 环境状态:所有机械零件的参数、地面摩擦系数等
- 智能体状态: 传感器所获得的数据
3D游戏 - 环境状态:所有的游戏参数以及对手信息
- 智能体状态:玩家所能看到的观测
对于智能体来说,环境状态是未知的,智能体状态是已知的。
智能体通过智能体状态来做出相应的动作.
全观测
- 智能体能够直接观测到环境状态
- 或者说智能体状态等价于环境状态(不是相等,只是等价)
- 这是强化学习的主要研究问题——马尔科夫决策过程
部分观测
- 智能体不直接观测到环境状态
- 智能体状态≠环境状态
- 部分观测下得马尔科夫决策问题
2.4 动作
动作是智能体主动和环境交互的媒介,必须对环境起到一定的控制作用(尤其是对奖励)
要点:
* 动作要能改变未来所能获得的奖励
* 奖励的设置能被动作改变
如果上述两点不满足,那么就无法解这个强化学习问题
3. 智能体的组成
3.1 策略(Policy)
策略是智能体的核心,我们最终目的就是找到一个最优策略。通过策略可以描述智能体的行为。
直观上描述:告诉智能体在什么状态下应该做什么事
分两大类:
- 确定性策略
- 随机蹙额略
3.2 值函数(Value Function)
值函数是对回报值的预测(期望),主要用来评价不同状态的好坏和指导动作的选择
3.3 模型(Model)
这里的模型指智能体所拥有的对环境的预测模型,主要包含两部分:
- P:预测下一个状态是什么
- R:预测下一个奖励是什么
将环境看成是一个黑盒子,只关心输入输出
4.强化学习的分类
- 按环境分类
- 全观测
- 部分观测
- 按智能体的成分分类
- 基于值函数:学习值函数
- 基于策略:学习策略
- Actor Critic: 同时学习值函数和策略
- 按有无模型分类
- 无模型强化学习
- 基于模型的强化学习
- 按使用的手段分类
- 传统强化学习
- 深度强化学习
5.强化学习的关键概念
5.1 学习与规划
对于序列决策问题有两个基本问题:
强化学习
- 环境未知
- 智能体与环境进行交互
- 智能体会不断地改善自己的策略
规划(Planning)
环境已知
智能体根据模型直接计算,不用交互
智能体会不断的改善自己的策略
既利用了模型进行规划,又与环境交互进行强化学习,这就构成了基于模型的强化学习
当有很精确的环境模型是,可以直接用规划的方式解
5.2 Exploration & Exploitation
Exploration:为了能够发现环境的更多信息
Exploitation:为了利用当前已知的信息来最大化回报值
5.3 Prediction & Control
Prediction:给一个策略,评价该策略的好坏,即求对应的值函数
Control:找到最优的策略
这两个过程构成了强化学习的思路
Reference
- Zhou, Li. “A survey on contextual multi-armed bandits.” CoRR, abs/1508.03326 (2015).
- David Silver的reinforcement learning课件