1、,强化学习(2),Reinforcement Learning,2 动态规划与强化学习介绍,前言,动态规划(DP),强化学习(RL),马尔可夫决策过程(MDP),需要行为模型,不需要行为模型,值迭代,策略迭代,策略搜索,算法:,确定,随机,2.1 介绍(1),在DP和RL中,控制器(agent,决策者)与过程(环境)进行交互,通过3种信号: 状态信号:描述过程的状态。 动作信号:让控制器去影响过程。 奖赏信号:一个标量。根据动作的立即表现,过程给控制器的反馈。,在每个离散时间步,控制器接收来自过程的状态测量值,并采取一个动作,使得过程迁移到一个新状态,并产生一个奖赏,其中奖赏值用来评估状态迁移
2、的质量。,2.1 介绍(2),控制器发出的行为指令是受控于策略的(从状态到动作的函数)。,过程的行为是由它的动态性来描述的,对过程采取动作(由控制器发出的指令)后,状态如何变化。,马尔可夫决策过程,过程动态f,奖赏函数,状态空间X,动作空间U,确定情况,随机情况,2.1 介绍(3),找到一个使得期望回报(期望累计奖赏)最大的最优策略。,无限期折扣回报具有有用的理论性质。 可以产生稳定的最优策略,即给定状态,最优策略是相同的。,无限期折扣回报,无限期平均回报,有限期折扣回报,目标,回报,2.1 介绍(4),算法分类,2.1 介绍(5),DP算法,MDP模型,迁移动态,奖赏函数,分析表达式,生成模
3、型,需要,离线,DP:,RL算法,RL:,RL可以看成模型无关的、基于样例或基于轨迹的DP。只能用从过程中得到的有限样例工作。 DP可以看成基于模型的RL。从任何状态动作对,使用模型都能够得到任意多的迁移样例。 模型学习:RL从数据中构建模型。,2.1 介绍(6),值迭代(Value iteration)算法寻找最优值函数,最优值函数包括每个状态或者每个状态动作对的最大回报。最优值函数用来计算最优策略。 策略迭代(Policy iteration)算法通过构建值函数(而不是最优值函数)来评估策略,然后利用这些值函数,寻找新的、改进的策略。 策略搜索(Policy search)算法使用最优化技
4、术,直接寻找最优策略。,根据寻找最优策略的途径,DP和RL算法都可以分为三种:,2.1 介绍(7),探索(Explore)收集新信息的需要,探索新的动作选择或状态空间新的部分。 利用(exploit)更好控制过程的需要,利用目前得到的知识。,平衡,注意的问题,过程不变:在线RL保证收敛到最优解。 过程慢慢变化:需要考虑这个变化,调整最优解。,2.1.1 确定情况,2.2 马尔可夫决策过程(1),过程的状态空间X,控制器的动作空间U,过程的迁移函数f,过程的奖赏函数,确定MDP,给定f和,当前状态xk 和当前动作uk就能确定下一状态xk+1和奖赏值rk+1。 该性质为DP/RL算法提供了基本理论
5、保证。,马尔可夫性质,例2.1 确定情况的清洁机器人MDP,2.2 马尔可夫决策过程(2),状态空间:X=0,1,2,3,4,5,其中:状态0和5为终止状态。 动作空间:U=-1,1。 迁移函数:奖赏函数:,确定情况的最优性,2.2 马尔可夫决策过程(2),DP和RL的目标:寻找最优策略(policy),使得从任意初始状态x0开始得到回报最大。 无限期平均回报:无线期折扣回报:有限期折扣回报:,统一,包括:K= 或 =1,选择,2.2 马尔可夫决策过程(3),较小:收敛速度加快; 太小:解可能不满足要求。多步以后,体现不出立即奖赏。 不太小,这里,选择标准,平衡,解的质量,算法的收敛速度,确定
6、情况下的值函数及Bellman等式,2.2 马尔可夫决策过程(4),值函数,状态动作值函数(Q值函数),状态值函数(V值函数),策略h(x)下,确定情况的值函数及Bellman等式 Q值函数,2.2 马尔可夫决策过程(5),2.2 马尔可夫决策过程(6),最优Q函数,最优策略,贪心策略,策略h(x)下,确定情况的值函数及Bellman等式 Q值函数的递归定义:,2.2 马尔可夫决策过程(7),策略h(x)下,确定情况的值函数及Bellman等式 V值函数,2.2 马尔可夫决策过程(8),V值函数: 最优V值函数: 最优策略:,V值函数及最优V值函数的递归定义,策略h(x,u)下,确定情况的值函
7、数及Bellman等式 Q值函数,2.2 马尔可夫决策过程(9),V值函数,2.2 马尔可夫决策过程(10),Four actions are possible: north, south, east, and west Take the agent off the grid leave its location, but reward of -1 Other actions result in a reward of 0 From state A, a reward of +10, take the agent to A From state B, a reward of +5, take
8、the agent to B,例:格子世界,2.1.2 随机情况,2.2 马尔可夫决策过程(11),过程的状态空间X,控制器的动作空间U,过程的迁移概率函数,过程的奖赏函数,随机MDP,状态空间有穷,下一个状态是随机变化的,对任意x和u,函数 必须满足:,状态空间:X=0,1,2,3,4,5,其中:状态0和5为终止状态。 动作空间:U=-1,1。 奖赏函数:,例2.2 随机情况的清洁机器人MDP,2.2 马尔可夫决策过程(12),随机情况的最优性,2.2 马尔可夫决策过程(13),在策略h(x)下,从初始状态x0开始的无限期折扣回报的期望值是: 无线期折扣回报:,类似定义,无折扣期望回报 平均
9、回报 有限期回报,策略h(x)下,随机情况的值函数及Bellman等式 Q值函数,2.2 马尔可夫决策过程(14),最优Q函数,最优策略,递归定义Bellman 等式,策略h(x)下,随机情况的值函数及Bellman等式 V值函数,2.2 马尔可夫决策过程(15),V值函数: 最优V值函数: 最优策略:,V值函数及最优V值函数的递归定义,策略h(x)下,随机情况的值函数及Bellman等式 V值函数,2.2 马尔可夫决策过程(15),V值函数: 最优V值函数: 最优策略:,V值函数及最优V值函数的递归定义,策略h(x,u)下,随机情况的值函数及Bellman等式 Q值函数,2.2 马尔可夫决策
10、过程(16),V值函数,值迭代:Bellman最优等式,2.2 马尔可夫决策过程(17),随机情况,确定情况,随机情况,策略迭代:Bellman等式,确定情况,2.3 值迭代(1),值迭代(Value iteration)使用Bellman最优等式,以迭代方式计算最优值函数,并由此推出最优策略。,基于模型的值迭代(DP),模型无关的值迭代(RL),通过使用迁移和奖赏函数的知识。,学习一个模型(Dyna)或不使用明确给出的模型。,2.3.1 基于模型的值迭代(Q值迭代),确定情况:,2.3 值迭代(2),Q迭代映射,随机情况:,状态空间可数:,2.3.1 基于模型的值迭代(Q值迭代),2.3 值
11、迭代(3),Q值迭代算法从任意Q值函数Q0开始,在每轮迭代l中,根据下式更新Q值函数 :,可以证明,以因子1在无穷范数内收缩 :,Q*为不动点 :,2.3.1 基于模型的值迭代(Q值迭代),2.3 值迭代(3),更正,同步版本,异步版本,2.3.1 基于模型的值迭代(Q值迭代),2.3 值迭代(3),同步版本,迭代次数:,2.3.1 基于模型的值迭代(Q值迭代),2.3 值迭代(4),迭代次数:,2.3.1 基于模型的值迭代(V值迭代),2.3 值迭代(5),确定情况:,V迭代映射,随机情况:,状态空间可数:,2.3.1 基于模型的值迭代,有穷MDP的Q值迭代算法的计算代价:,2.3 值迭代(
12、6),随机情况:,确定情况:,2.3.1 基于模型的值迭代,清洁机器人的Q值迭代:,2.3 值迭代(7),确定情况:=0.5 Q0=0,计算代价:,2.3.1 基于模型的值迭代,清洁机器人的Q值迭代:,2.3 值迭代(8),随机情况:=0.5 Q0=0,计算代价:,2.3.1 基于模型的值迭代,清洁机器人的Q值迭代:,2.3 值迭代(9),当根据公式:,2.3.1 基于模型的值迭代,赌徒问题的V值迭代:,2.3 值迭代(10),一个赌徒利用硬币投掷的反正面结果来赌博。假如投掷结果是硬币的正面朝上,那么他就赢得他所压的赌注,如果是反面朝上,那么他输掉他的赌注。当这个赌徒赢满100美元或者他输掉他
13、所有的钱时,赌博结束。每一轮投掷,赌徒必须取出他资金的一部分作为赌注,赌注金额必须是整数。这个问题可以表述为一个非折扣的、情节式的有限马尔可夫决策过程。状态就是赌徒所拥有的资金,x1,2,99;动作就是下赌注,u 1,2,min(s,100-s) ;除了赌徒达到100美元的目标而奖赏为1以外,其它奖赏均为0。状态值函数给出每个状态能够获胜的概率。策略就是如何决定每轮取出多少钱去下注。最优策略就是使取得最后胜利的概率最大化。令代表硬币正面朝上的概率p=0.4。,RL:模型无关的值迭代算法,Q学习。 Q学习:开始于任意初始Q-函数Q0,不需要模型,而是需要观察到的状态迁移和奖赏。 更新公式:,2.
14、3.2 模型无关的值迭代及探索的必要性,2.3 值迭代(11),Q学习可以看成为基于样例的、随机近似过程。,2.3.2 模型无关的值迭代及探索的必要性,2.3 值迭代(12),2.3.2 模型无关的值迭代悬崖漫步,2.3 值迭代(11),例,策略评估:构造值函数。 策略改进:根据值函数,找新的、改进的策略。,2.4 策略迭代(1),2.4.1 基于模型的策略迭代(Q值策略评估),确定情况:,2.4 策略迭代(2),Q迭代映射,随机情况:,状态空间可数:,2.4.1 基于模型的策略迭代(Q值策略评估),2.4 策略迭代(3),Q值策略评估从任意Q值函数Q0开始,在每轮迭代中,根据下式更新Q值函数
15、 :,可以证明,以因子1在无穷范数内收缩 :,Qh为不动点 :,2.4.1 基于模型的策略迭代(Q值策略评估),2.4 策略迭代(4),2.4.1 基于模型的策略迭代(Q值策略评估),2.4 策略迭代(5),当状态和动作空间有穷且XU的基不太大时,Qh可以通过由Bellman方程给出的线性方程组求解。 与值迭代相比,策略迭代的主要优势:计算策略迭代的Qh的Bellman等式针对Q值具有线性特征,计算值迭代的Q*的Bellman最优等式针对Q值具有高度非线性特征(需要计算最大值),这使得策略评估容易求解。实际问题中,离线策略评估通常只需要几轮迭代就可以收敛,可能比采用值迭代算法需要的迭代步少。不
16、意味着策略迭代的计算复杂度小于值迭代,比如,尽管使用Q值函数的策略评估的计算复杂度通常小于Q值迭代,但是每一轮单独的策略迭代就需要一次完整的策略评估。,2.4.1 基于模型的策略迭代(V值迭代),确定情况:,2.4 策略迭代(6),V迭代映射,随机情况:,状态空间可数:,2.4.1 基于模型的策略迭代,有穷MDP的Q策略迭代算法的计算代价:,2.4 策略迭代(7),随机情况:,确定情况:,策略评估与Q值迭代计算代价的比较,例,2.4.1 基于模型的策略迭代,清洁机器人的Q值策略迭代:,2.4 策略迭代(8),确定情况:=0.5 Q0=0 h0(x)=1 for all x,例,2.4.1 基于
17、模型的策略迭代,清洁机器人的Q值策略迭代:,2.4 策略迭代(9),随机情况:=0.5 Q0=0 h0(x)=1 for all x,例,2.4.1 基于模型的策略迭代,Jack的汽车租赁(随机),2.4 策略迭代(9),Jack经营一家全国性汽车租赁公司的两个服务点。每天有一定数量的顾客前往两个服务点租车。如果Jack有可租的汽车,他就把它租出去并得到10美元。如果该服务点没有汽车可租,那么就没有生意了。汽车只有在归还后的第二天才能被重新租出去。为了确保在需要的地方有车可租,Jack可以在晚上在两个服务点之间调度汽车,但是每辆车每次调度需要花费2美元。我们假设每地需要的汽车和归还的汽车数量都
18、是泊松随机变量,即数量为n的概率是 ,其中是期望值。假设在第一和第二个服务点的租车请求的是3和4,归还汽车的是3和2。为了简化问题,我们假设每个服务点的汽车数量不超过20辆,并且每晚最多只能将5辆汽车从一地调度到另一地。我们取折扣率为0.9,问题就表示为一个连续的有穷MDP,其中时间步是天,状态是每天结束时各个服务点的汽车数量,动作是每晚在两地之间移动汽车的数量。,例,2.4.1 基于模型的策略迭代,Jack的汽车租赁结果(随机),2.4 策略迭代(9),2.4.2 模型无关的策略迭代,SARSA:State, Action, Reward, (next) State, (next) Acti
19、on 与环境交互,产生的样例为: SARSA开始于任意初始Q0函数,更新公式为:,2.4 策略迭代(10),Q学习:,SARSA是在线的,模型无关策略评估算法。,2.4.2 模型无关的策略迭代,2.4 策略迭代(11),在策略(on-policy):评估策略与控制过程的策略相同,如SARSA。 离策略(off-policy):评估策略与控制过程的策略不同,如Q。,2.4.2 模型无关的策略迭代带风的格子世界,2.4 策略迭代(11),例,使用最优化技术,直接搜索一个最优策略,即:使得从每个初始状态得到的回报都最大化。把每个初始状态回报值的组合(例如平均值)作为最优化的评判标准。 存在的问题是:
20、最优化的评判标准可能是存在多个局部最优的不可微函数。这意味着全局、梯度无关的最优化技术比局部、基于梯度的最优化技术更适合。 遗传算法 禁忌搜索模式搜索 交叉熵最优化,2.5 策略搜索(1),主要思想,时间步K的选择:为确保用这种方法获得的逼近值,与无穷数量折扣奖赏值总和的差值在 范围内,K值可以用下列方法来选择: 评估策略搜索的最优化标准,要求精确估计所有初始状态的回报值。特别是在随机性情况中,这个过程可能需要很大的计算代价。由于最优化算法往往需要对标准进行很多次评估,因此策略搜索算法的计算代价很大,通常远大于值迭代和策略迭代。,2.5 策略搜索(2),有限MDP策略穷举搜索的计算代价以函数评
21、估次数来衡量的计算代价 可能的策略数:评估的初始状态数:模拟步的总数:每一个模拟步需要计算:,2.5 策略搜索(2),确定系统的Q值迭代代价:,确定情况,有限MDP策略穷举搜索的计算代价以函数评估次数来衡量的计算代价 可能的策略数:评估的初始状态数:模拟步的总数:每一个模拟步需要计算:,2.5 策略搜索(3),随机情况,确定系统的Q值迭代代价:,例:清洁机器人的策略穷举搜索计算得出:K=10以函数评估次数来衡量的计算代价,2.5 策略搜索(4),确定情况,随机情况,以函数评估次数来衡量的计算代价,确定MDP和随机MDP:求最优解:值迭代、策略迭代、策略搜索 核心挑战:“维数灾”:传统的DP/R
22、L只能用于离散、有穷的状态动作空间,要求值函数或策略的精确表示。当有多个状态和动作变化时,传统的DP/RL算法有时变得不可行。解决办法:逼近表示值函数和/或策略。 利用与探索的平衡:探索是必要的,性能会暂时减低,但要保证工业应用的稳定性。 奖赏函数的设计:高价值动作给予高奖赏。 领域知识有助于算法的性能提高。,2.6 总结与讨论,实验二 实验名称:环保机器人 实验内容:1、一个环保机器人,一方面需要收集废弃易拉罐,另一方面还需要对电池进行充电。 2、确定情况:基于模型的值迭代基于模型的策略迭代3、随机情况:基于模型的值迭代基于模型的策略迭代 要求:1、寻找每种情况下的最优策略。2、输出Q值表(具体参看讲义)。3、在图中标出策略的变化过程,并标出最优策略。4、界面符合强化学习平台总体界面要求。,Control systems are making a tremendous impact on our society.,