机器不学习:强化学习总结
机器不学习 www.jqbxx.com : 深度聚合机器学习、深度学习算法及技术实战
强化学习的故事
强化学习是学习一个最优策略(policy),可以让本体(agent)在特定环境(environment)中,根据当前的状态(state),做出行动(action),从而获得最大回报(G or return)。
有限马尔卡夫决策过程
马尔卡夫决策过程理论定义了一个数学模型,可用于随机动态系统的最优决策过程。
强化学习利用这个数学模型将一个现实中的问题变成一个数学问题。
强化学习的故事1:找到最优价值
强化学习就是:追求最大回报G
追求最大回报G就是:找到最优的策略π∗,策略π∗告诉在状态s,应该执行什么行动a。
最优策略可以由最优价值方法v∗(s)或者q∗(s,a)决定。
强化学习总结
有限马尔卡夫决策过程的基本概念:
state 状态
action 行动
reward 奖赏
Gt 回报
p(s′|s,a) 表示在状态s下,执行行动a,状态变成s'的可能性。
p(s′,r|s,a) 表示在状态s下,执行行动a,状态变成s',并获得奖赏r的可能性。
r(s,a) 在状态s下,执行行动a的期望奖赏。
r(s,a,s′) 在状态s下,执行行动a,状态变成s'的期望奖赏。
策略π
π(s) 策略π,在状态s下,选择的行动。π∗ 最优策略。π(a|s) 随机策略在在状态s下,选择行动a的可能性。
vπ(s) 策略π的状态价值方法。
强化学习的术语
学习任务可分为两类:
- 情节性任务(episodic tasks)
- 指(强化学习的问题)会在有限步骤下结束。比如:围棋。
- 连续性任务(continuing tasks)
- 指(强化学习的问题)有无限步骤。一个特征是:没有结束。比如:让一个立在指尖上的长棍不倒。(不知道这个例子好不好,我瞎编的。)
学习的方法:
- online-policy方法(online-policy methods)
- 评估的策略和优化的策略是同一个。
- offline-policy方法(offline-policy methods)
- 评估的策略和优化的策略不是同一个。意味着优化策略使用来自外部的模拟数据。
学习的算法:
- 预测算法(predication algorithms)
- 计算每个状态的价值v(s)
- v(s)。然后预测(可以得到最大回报的)最优行动。
- 控制算法(predication algorithms)
- 计算每个状态下每个行动的价值q(s,a)
- q(s,a)。
学习的算法:
- 列表方法(tabular methods)
- 指使用表格存储每个状态(或者状态-行动)的价值。
- 近似方法(approximation methods)
- 指使用一个函数来计算状态(或者状态-行动)的价值。
- 模型(model)
- 环境的模型。可以模拟环境,模拟行动的结果。
- Dynamic Programming need a model。
- 基于模型的方法(model-base methods)
- 通过模型来模拟。可以模拟行动,获得(状态或者行动)价值。
注:这个模拟叫做模型模拟。
- 无模型的方法(model-free methods)
- 使用试错法(trial-and-error)来获得(状态或者行动)价值。
注:这个模拟叫做试错、试验、模拟等。
无模型的方法,可以用于有模型的环境。
- 引导性(bootstrapping)
- (状态或者行动)价值是根据其它的(状态或者行动)价值计算得到的。
- 取样性(sampling)
- (状态或者行动)价值,或者部分值(比如:奖赏)是取样得到的。
- 引导性和取样性并不是对立的。可以是取样的,并且是引导的。
强化学习算法的分类
强化学习的故事2:我们该用哪个方法?
如果有一个模型,可以获得价值函数v(s)
v(s)或者q(s,a)
q(s,a)的值 → 动态规划方法
如果可以模拟一个完整的情节 → 蒙特卡罗方法
如果需要在模拟一个情节中间就要学习策略 →时序差分方法
λ-return用来优化近似方法中的误差。
资格迹(Eligibility traces)用来优化近似方法中的,价值函数的微分。
预测方法是求状态价值方法v(s)
v(s)或者v^(s,θ)。
控制方法是求行动价值方法q(s,a)或者(^q)(s,a,θ)。
策略梯度方法(Policy Gradient Methods)是求策略方法π(a|s,θ)。
- REINFORCE, A Monte-Carlo Policy-Gradient Method (episodic)
- 基于蒙特卡罗方法的策略梯度算法。
- REINFORCE with Baseline (episodic)
- 带基数的蒙特卡洛方法的策略梯度算法。
- One-step Actor-Critic (episodic)
- 带基数的TD方法的策略梯度算法。
- Actor-Critic with Eligibility Traces (episodic)
- 这个算法实际上是:
- 带基数的TD方法的策略梯度算法。
- 加上资格迹(eligibility traces)
- Actor-Critic with Eligibility Traces (continuing)
- 基于TD方法的策略梯度算法。(连续性任务)