马尔科夫随机过程

一、序列建模与概率图模型

1. 强化学习研究的是和时间相关的序列数据,即agent与环境是一种动态交互的行为。

2. 序列数据分析:日常生活中是有大量的数据是和时间相关的,反应某一个事物或者现象随着时间的变化状态、程度。比如:环境数据、健康数据、行为数据、金融数据、文本数据等等。时间序列分析是从按照时间排序的这些数据点中抽取有价值的总结,或者统计信息的这样一种行为。既包含了对过去数据的诊断,也包括对未来数据的预测。

3. 序列建模:对序列数据进行学习,掌握其内在模式和规律。比如深度学习中的循环神经网络(RNN)、长短时记忆网络(LSTM)、Transformer等。

4. 概率图模型(PGM):世界上任务物质的出现和演化均存在不确定性,而概率统计就是用来描述这种不确定性或者随机性的理论。概率统计通过观察和分析数据来推断分布的参数并做出预测,是整个人工智能的基础。概率图模型是概率统计中的一个重要的分支,可以简单地理解为就是概率+结构。其不仅利用各种图模型来刻画各种概率之间的关系,还能进行高效的推理,其中结点表示变量,边表示变量之间的概率关系。根据边上是否存在箭头指向可以分为有向图和无向图。

4.1 有向图:又称为贝叶斯网络,顾名思义其在结构上是一个网络,在概率描述上符合贝叶斯公式,这样的图模型可以表示任何的联合概率分布。特点是每个结点对应一个随机变量,每组有向边连接两个结点,并且指向关系式从父节点指向子节点,有向边表示条件概率分布。图中不存在任何回路,因此又称为有向的无环图模型(DAG)。

5. 表示与推断:概率图模型通过图像化的方式清晰地表示各个变量之间的关系,实现表征。可以通过计算全体结点随机变量的联合概率分布来对模型进行建模。但是通常情况下更关心的往往是部分结点变量的条件概率分布和边缘分布。

概率图模型中的第三个基本要素:

5.1 表示:表征变量之间概率依赖关系

5.2 推断:在已知部分变量时计算其他未知变量的概率分布

5.3 学习:通过观测数据来估计模型参数,从而使模型的预测能力更加准确

6. 常见的推断方法:极大似然估计(MLE)、最大后验估计(MAP)、期望最大化(EM)、贝叶斯推断(BI)、马尔科夫链蒙特卡罗方法(MCMC)、变分推断(VI)。其中很多方法都可以与神经网络方法相结合。其中MLE是一种基于数据频率的参数估计方法,MAP在MLE的基础上加入了先验概率的影响,通过计算先验概率与似然函数乘积的最大值进行参数估计。EM算法通常用于高斯混合模型的参数估计,可以被看做特殊的MLE或MAP的形式,但主要是针对含有隐变量的问题而设计的。贝叶斯推断是基于贝叶斯定理通过先验概率和似然函数计算后验概率,对未知参数进行估计,好处是可以处理数据不足,模型复杂造成的干扰等情况,并能够灵活地更新先验概率,具有很高的实用价值。马尔可夫链蒙特卡罗方法是通过从后验分布中随机采样得到对未知参数的估计,好处是可以解决高纬参数空间的问题,缺点是计算代价较高,需要对采样方法进行优化。变分推断是通过在后验的分布空间中寻找最近似的分布来近似估计,特点是效率高,可以处理大规模的数据集。

7. 概率图模型家族:

8. 生成模型和判别模型

8.1 生成模型:由父变量生成子变量,常常用来生成某些数据比如图像音频等,常见的生成模型包括HMM、VAE。通常是通过学习输入和输出的联合概率分布来建模,适合于数据较少或者复杂、多样性大的场景。

8.2 判别模型:由输入直接判别类别的输出,通常用于分类回归等任务,只关注和学习输入输出之间的条件概率模型。适合于数据量大、任务明确的场景。

二、马尔科夫观测过程

是一种随机过程,最初主要用于统计物理学中的粒子运动模型,但是随后在信号处理、经济学、生物学等领域得到了广发的应用。随着计算机技术和强化学习的发展,马尔科夫过程成了强化学习中最基础的理论之一,其提供了一种自然的方式来描述环境和代理之间的交互过程,以便agent能够通过学习最有策略来最大化累计奖励。

1. 马尔科夫随机过程可以表示成一个有向图。假设我们正在考虑一个简单的天气预测问题,可以使用马尔科夫模型来描述天气状态的变化,每个状态标识某一时刻的天气状态,例如晴天、雨天、雪天。状态之间的转移表示为有向边,边上的权重表示状态之间的转移概率,知道了今天的天气状态可以通过状态转移矩阵来计算明天天气状态的概率分布。

2. 马尔科夫性质:马尔科夫最初研究了文本生成的过程,他注意到在一段连续的文本中当前的单词往往只与前面的几个单词有关,而与整个文本更长的历史是没有关系的。也就是一个系统的状态只与他之前的一个或几个状态有关,而与更早的状态无关。比如只和前一时刻状态有关时,就叫做一阶的马尔科夫过程。具体的对于一个满足马尔科夫性质的一个随机过程,假设当前时刻为t,那么当前的状态就是St,在给定之前所有状态条件下,状态St+1的概率只与St有关,而与St之前的所有状态都是无关的。在随机过程和强化学习中马尔科夫过程就是具有马尔科夫性质的随机过程。

2.1 随机过程就是一个随机变量的序列表示某一种随机现象在不同的时间或者不同空间位置上的取值情况。

3. 状态空间:是指所有可能的状态的集和通常用符号s来表示(在很多生成模型中也会有z来表示)

4. 状态转移矩阵:用于处理离散问题。描述当前状态转移到下一个状态的概率分布,用于计算各种强化学习算法中的期望值,例如值函数。策略函数等。具体来说对于一个马尔科夫过程,状态转移矩阵是一个n×n的矩阵,其中n表示状态空间的大小,矩阵的每一个元素Aij表示在当前状态i下转移到状态j的概率,根据马尔科夫性质这个概率只和前一时刻状态有关,而与更早时刻的状态无关。

5. 在连续情况下衡量状态转移矩阵就不方便了,因此用状态转移分布。

状态转移分布:在某状态下采取行动后,可能转移到下一个状态的概率分布。假设智能体当前处于状态si,并且采取了行动a,那么它将转移到下一个状态si+1的概率可以表示成。在实际应用中状态转移分布通常需要通过模型或者经验数据来进行估计,比如在模型驱动的强化学习中可以通过物理模型来估计状态转移分布。基于样本的强化学习过程中,可以通过样本经验来估计状态转移分布。

6. 可观测性:在随机过程或者统计模型中,可观测性通常是指状态是否能够直接被观测或者被测量到。如果一个模型或者过程是完全可观测的那么可以通过直接的观测来输出确定内部的状态,如果是不完全可观测的就没办法直接确定其内部状态,需要推断或估计。可分为:完全可观测、不完全可观测、不可观测。

7. 隐马尔科夫模型(HMM):假定有一些列的状态变量z,其生成了一堆的观测x。z和x之间是生成关系,用单向箭头来表示。因为状态未知,可以认为其是隐藏的,又因为有先后顺序,所以用一条有方向的链表示,结点和结点之间符合马尔科夫性质,结点之间有向连接的数学表示

这条隐藏的结点链条就被成为马尔科夫链。

8. 隐马尔科夫的应用:HMM是典型的生成模型,从状态到观测可以模拟数据生成的过程,便于观察变量之间的概率关系,从而有更好的可解释性。在强化学习中如果说状态是对环境假定的一个完整描述,那观测就是对状态的部分描述,如果没有遗漏的话二者就是等价的,就称为完全可观测,否则就是部分可观测。作为一种概率模型,他将观测序列看做是由隐藏的马尔科夫链产生,其中隐藏状态对应于观测序列中不可见的信息。

三、马尔科夫决策过程

强化学习的本质是与环境的互动过程中试错学习,显然少不了决策或者行动。

1. 七元组表示(S,O,A,T,R,Ω,γ)

2. 动作空间:在强化学习中动作空间指的是一个智能体可以选择的所有可能动作的集合。通常情况下是离散的,意味着智能体只能在有限的一组动作中进行选择,比如迷宫问题中,agent可以选择上下左右四个方向。但是在某些情况下动作也可能是连续的,在机器人控制领域,动作可以是机器人关节的角度或者速度都是连续的变量,在强化学习中,agent从动作空间中选择动作,选择什么样的动作将直接影响到环境的状态,并进一步影响到agent的奖励,因此动作空间的设计对于强化学习任务的成功解决是至关重要的。

3. 策略函数:在强化学习中,策略函数是智能体根据当前状态选择动作的函数,其将状态映射到动作。策略可以是确定性的也可以是随机的,通常情况下强化学习都使用随机性策略,从而可以引入随机性是agent可以更好地探索环境,让动作有更多的多样性。而确定性策略会对同样的状态采用相同的动作,导致比较僵化。策略函数可以是简单的一个规则也可以是一个复杂的机器学习模型,在MDP中策略函数可以表示为,含义是在状态s下选择动作a的概率,在确定性策略中

只有当a是最优动作时,其概率才会为1,否则就是0。强化学习的终极目标是学习到一个最优策略。

4. 决策过程

4.1 目前所说的马尔科夫随机过程其实是狭义决策过程,强调的是在观测过程的基础上增加了策略的有向边和动作的结点。从单纯对环境的观测演化到能够实现基于策略π从输入状态到输出动作的一种映射。

4.2 广义决策过程:首先动作会影响环境,如下图蓝线所示,也就是说当前的状态不仅取决于前一时刻的状态还和前一时刻执行的动作有关。动作时agent对环境的刺激,奖励是环境对智能体的刺激。

5. 模型的相互关系

不管模型的类型如何,agent的动作都可以看做是对环境的一种刺激,在完全可观测的模型中,agent可以基于完整的信息来选择最优的动作,相对简单很多。在部分可观测模型中,agent必须要使用观测的信息先来推测当前的状态,然后根据这些信息来选择动作,比较符合现实世界的情况,通过不断地选择最佳的动作,并接受来自环境的反馈信息,agent可以逐步地学习和适应环境,并实现最佳的决策。

四、马尔科夫奖励过程

和狭义的决策过程相比,多了一层奖励结点r。因此可以看做是马尔科夫决策过程的进一步扩展。当agent执行某个动作,并从当前状态转移到下一个状态时,会收到环境发出的一个奖励信号。这个奖励信号是agent在当前状态下执行某个动作所获得的反馈信号。奖励可以是正数、负数、零。用于评估agent在当前状态下采取某个动作的好坏程度,这个信号往往是一个标量。

1. 状态奖励函数:就是每个结点的状态到奖励结点的有向边。严格意义上称为状态奖励函数,在强化学习中,奖励函数可以为智能体提供明确的反馈,帮助agent在学习过程中探索和利用环境。常见的奖励函数可以是:人为设计的、模仿学习、逆强化学习得来的。

2. 动作奖励函数:由当前状态s和动作a共同决定的奖励信号,通常表示r(s,a)。选择奖励函数的时候需要根据任务的性质和特点来确定类型。一般来说状态奖励函数适用于任务中奖励只和状态有关的情况。而动作奖励函数适用于任务中奖励和状态以及采取的行动都有关的情况。假设有个强化学习任务,agent需要在一个平面上行走,走到指定的目标点,这个任务中的奖励,只和agent的位置有关系,而与采取的行动无关,此时就可以采用状态奖励函数,具体可以定义奖励函数为到达目标点时奖励就是1,其余情况为0。假设智能体要在迷宫中找到终点 ,在这个任务重,奖励和agent的动作和状态都有关系,因为不同的动作会影响agent到达终点的时间,此时就可以采用动作奖励函数,此时可以定义到达终点时的奖励为1,每走错一个方向的奖励是-0.1,在这种情况下采取错误的行动就会减小奖励,而正确的行动就会增加奖励。

3. 回报

状态奖励和动作奖励都侧重于某一时刻的奖励值。回报是agent在环境中采取一系列行动后获得的奖励累计值,通常用Gt表示从当前时刻t开始到任务结束的总奖励值。agent的目标就是通过最大化回报来获得尽量可能高的总体奖励。回报的计算方式根据具体的任务类型和奖励函数的形式而不同。具体分为:

4. 状态价值函数

4.1 期望(Expectation):随机事件发生概率与其对应结果的乘积之和

4.2 回合(Episode):agent从初始状态起,通过与环境进行一系列交互到终止状态的过程。在这个过程中agent通过不断地观测状态,选择动作,接收奖励来更新策略,最终获得一定的回报。如同人生一样,想要评价策略的好坏,只看单个Episode的回报是不够的,需要计算多个Episode的期望,这就是价值函数的概念了。

考虑到奖励分为状态奖励和动作状态奖励,价值函数也有动作价值函数和状态价值函数之分。

4.3 Value-Function:从当前时刻开始到任务结束所能获得回报的期望值

4.3.1状态价值函数(VS):表示agent处于状态S的时候,从当前时刻开始一直到任务结束所能获得的期望回报的值。数学上可表示为Gt的期望

Gt有各种可能性,这种可能性的加权平均数。在PGM上就类似多了这样一类汇总各个时刻奖励对当前时刻影响力的价值结点Vt。由于Vt是各个时刻状态的函数,因此只与状态相关。当前时刻的价值函数Vt是由未来时刻的奖励决定的,是动作at发出之后,未来价值的一种估计,与r t无关。

4.3.2 回报和价值函数的区别:回报是单个Episode奖励的累计值,价值函数是多个Episode的平均值或期望值,是对多个Episode进行加权平均得到的,目的是为了更准确地估计某个策略的长期表现,避免出现某个特定的Episode过拟合或者欠拟合。

4.3.3 动作价值函数(Q函数):其中Q表示quality,具体来说在给定状态S的情况下,选择某个动作a后能获得的长期奖励回报的期望值。换句话说,比如你在st这个状态根据某一个策略π,做了动作at之后可能产生很多种结果,对未来可能产生不动的影响,将这些未来的影响全都折算回来就是回报,再求期望值就是Q函数的含义了。Q函数建立了状态s和动作a与回报期望值之间的关系,是评估策略π好坏的一个重要指标

结点Q只与同一时刻的s和a相连,但是其表示的是未来回报的影响,因此从公式上只表现地与rt+1之后的奖励相关,而与t时刻的奖励没有关系。

5. 概念对比

6. V函数和Q函数的选择:根据状态和动作空间大小及任务目标等因素选择。如果状态空间较小,动作空间较大,优选V函数。如果状态空间相对较大,动作空间相对较小时,优选Q函数。

五、贝尔曼方程

马尔科夫观测、决策、奖励过程:“感知-行为-反馈”循环

价值函数:指导策略更新

为了求解价值函数,通常需要知道完整的状态转移概率和每个时刻的奖励函数,这是相当复杂的,为了解决这个问题,美国数学家贝尔曼提出了一种迭代求解的方法,最开始用于解决优化控制的问题,后来被引入到强化学习领域,其描述了如何通过迭代求解来得到最优的价值函数以及状态价值函数和动作价值函数之间的关系。

贝尔曼方程:迭代求解简化计算

贝尔曼方程总的来说分为三种形式:状态价值函数V(s)、策略值函数Vπ、动作价值函数Q函数。

1. 状态价值函数求解

V(s)是当前时刻回报的期望,按照回报的定义展开,在期望下可以进行分解

状态价值函数注解:

2. 策略价值函数求解

3. 动作价值函数

4. 备份图:用来可视化价值函数或Q函数的更新过程的图形化表示方法,多用于传统的强化学习,尤其是离散空间的学习中。

六、模型分类与选择

在PGM图中一共有五个函数,从观测到状态是可能性函数、状态之间的是状态转移函数、状态到动作之间的是策略函数、奖励函数、价值函数。在完全可观的情况下,状态和观测是一样的。奖励函数和价值函数息息相关,后者是前者各个时刻的加权和之后再求期望,因此某种程度上也可以认为是一回事。这么说来强化学习要研究的就是三类函数:状态转移函数、策略函数、价值函数。根据是否有st到st+1这条线就可以分为无模型和有模型两类,这里的模型具体指的是环境模型或状态转移模型。根据策略和价值的重要性又可以分为基于价值的和基于策略的两类方法。

1. 无模型算法(Model-Free)

假定环境未知,因而适应性更强,更加通用。这种情况下agent直接学习策略函数和价值函数,没有模型就会少了很多信息,只能靠大量的数据去训练,因此无模型类算法往往需要大量的采样来估计状态、动作以及奖励和价值,进而优化策略,可以算是一种数据驱动型的方法。

2. 有模型算法(Model-Based)

当数据量少,又想尽快得到好的策略时,就需要用到有模型的算法了。比如某些机器人任务,收集数据又贵又耗时,此时如果能对环境建模,尤其是对状态转移矩阵或者状态转移分布建模,虽说付出了更大的代价,也更加复杂,但往往是值得的。一旦能对环境建模,也就是知道了状态转移函数和奖励函数,就相当于构建了一个虚拟的环境,从而就可以脱离真实的环境,在其中进行训练和学习策略。

除了根据有没有状态转移来进行分类,另外一种分类就是看策略和价值函数优先考虑哪一个。

3. 基于价值的算法(Value-Based)

显式学习价值函数,隐式学习策略。换句话说,策略不是直接求的,而是从价值函数推算出来的,这类方法相对简单,通常用在离散环境中,动作空间简单。比如Q-learing,不过需要明确的是在基于价值类的方法中并非没有策略,只不过是不直接去求,而是绕个弯子,先求价值函数而已。

4. 基于策略的方法(Policy-Based)

对于大量真实世界中的任务,比如机器人控制、自动驾驶等等。动作空间往往比较大,而且是连续的,再用基于价值的方法就不行了,很难从价值函数推到得到动作。因此往往需要直接优化策略,价值函数只用于评价动作的好坏。

5. 演员-评论家算法(Actor-Critic)

Actor:策略函数

Critic:价值函数

两者相互协作,加快学习的过程。

6. 学习和规划

6.1 学习:环境未知,agent通过与环境交互,逐渐改进策略

6.2 规划:环境已知,无需与环境交互,就能思考决策

也可以将强化学习中的学习和规划视为训练和推理的过程,先学习后实践,学习阶段agent根据所采取的动作和获得的奖励来更新自己的策略或者价值函数,以便提高性能。到规划阶段就是在学习得到了一定的知识之后,根据已有的模型或价值函数进行推理或决策。学习和规划阶段相互作用,共同推进智能体在环境总学习和优化其行为。

7. 预测和控制

预测:根据环境状态和智能体策略,预测未来奖励或状态

控制:如何在环境中做出最佳决策,以获得最大的回报

在很多实际应用中,预测和控制往往是交替进行的,首先通过预测问题来评估不同策略的性能,了解当前策略的好坏,然后通过控制问题来选择和优化策略以获得更高的累计奖励、二者的结合可以帮助agent在强化学习任务中,进行有效的学习和决策。

8. 探索和利用

探索:agent尝试未知动作,获取新知识,发现高回报动作。

利用:agent根据已知知识和经验,选择高回报的动作

在强化学习中探索和利用的平衡是非常重要的,如果过于追求利用,agent可能会陷入固定的策略中,错过了可能更好的位置动作。如果过于追求探索,agent可能会频繁尝试低效的动作,浪费时间和资源。探索的比重更高的时候,奖励函数需要设计的更加丰富,以便在探索过程中提供有利的反馈。利用的比重更高时,奖励函数需要设计的更简化或明确,以便提供准确的指导信号。奖励函数的计算会进一步影响价值函数的计算。

9. Reinforcement再理解

在强化学习中,通过奖励和惩罚机制,来改善和增强智能体的行为。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值