强化学习知识点
发表于:2025-12-04 | 分类: 知识点随笔
字数统计: 3.9k | 阅读时长: 13分钟 | 阅读量:

强化学习的一些基础知识点,以前学过了就学过了,未做总结,遗忘成本高。

马尔可夫决策过程

马尔可夫性质:是指在一个随机过程中,给定现在状态以及过去所有状态情况下,其未来状态的条件概率分布仅依赖于当前状态。

马尔可夫链:马尔可夫过程是一组具有马尔可夫性质的随机变量序列,其中下一个时刻的状态只取决于当前状态,则马尔可夫过程满足条件,状态历史为离散时间的马尔可夫过程就称作马尔可夫链,其状态是有限的

马尔可夫奖励过程

这里分清三个概念,奖励、回报、价值:

奖励:表示到达某个状体,立即获取多大的奖励。

奖励函数是一个期望,表示到达某个状态后获得奖励的期望,即可以获得多大的奖励。

回报:在一个回合范围得到的总奖励,可理解为奖励的逐步叠加。是最终时刻,是折扣因子。

状态价值函数:有了回报就可以定义状态的价值了,对于马尔可夫奖励过程,状态价值函数被定义为回报的期望。

贝尔曼方程:从上面的价值函数中推导而来,利用全期望公式证明推导,此处不给出推导过程,直接给出结果: 其中为未来的某个状态,表示从当前状态转移到未来某个状态的概率,表示未来某个状态的价值。

但是,求解这样一个方程是很难的,若状态空间较小,可以通过矩阵形式求解解析解,因此一般采样迭代的方法求解这种状态非常多的马尔可夫奖励过程。(动态规划、蒙特卡洛、时序差分等)。

马尔可夫决策过程

马尔可夫决策过程相对于马尔可夫奖励过程多了决策,未来的状态不仅依赖于当前的状态,也依赖于当前状态智能体采取的动作。 对于奖励函数也变成了

马尔可夫决策过程的价值函数,注意区分马尔可夫奖励过程的价值函数, 表示的期望值是基于我们采取的策略,即当策略决定后,对策略采样得到一个期望计算出它的价值函数。

动作价值函数:在某个状态采取某个动作,有可能得到的回报的一个期望: 价值函数和动作价值函数之间的关系就是需要对策略函数进行一个加和,然后得到其价值:

  • Q函数的贝尔曼期望方程: 这个定义了当前状态和未来状态在动作价值函数中的关系。

  • 当前时刻Q函数和未来时刻Q函数之间的关联:

策略评估:已知马尔可夫决策过程以及要采取的策略,计算价值函数的过程就是策略评估(价值预测)。

预测与控制:二者为递进关系,预测是已知一个马尔可夫决策过程和策略,输出价值函数。控制是已知马尔可夫决策过程,输出最佳价值函数和最佳策略

策略迭代:分两步,首先进行策略评估,对当前搜索到的策略函数进行估值。得到估值后,再进行策略改进,即把Q函数计算出来,进行进一步改进,不断重复,直到策略收敛。

价值迭代:直接使用贝尔曼最优方程进行迭代,寻找到最佳的价值函数,找到最佳价值函数后再提取出最佳策略。

表格型方法

有模型和无模型:理解区分这两者概念就好,实际应用中基本都是采取无模型方法。有模型是指状态转移概率和状态奖励概率均已知,即和环境交互产生的结果是完全可以推导出来的。

无模型预测

蒙特卡洛策略评估

蒙特卡洛是基于采样的方法,给定策略,让智能体和环境进行交互,得到很多轨迹,每条轨迹都有对应的回报: 求出所有轨迹的回报平均值,就可以知道某一个策略对应状态的价值。它只适用于有终止的马尔可夫决策过程。

时序差分

时序差分方法的目标是对于某个确定策略在线的计算出它的价值函数。比如一步时序差分: 估计的回报被称为时序差分目标,时序差分目标是带衰减的未来奖励的总和。

时序差分误差

无模型控制

在不知道马尔可夫决策过程模型的情况下如何优化价值函数,得出最佳的策略。但是不知道奖励函数和状态转移函数,怎么估计价值函数呢。于是考虑用蒙特卡洛方法或时序差分方法直接估计动作价值函数,再用贪心策略进行策略更新,交替往复直至收敛或达到终止条件。 上式的动作价值函数用无模型预测方式(蒙特卡洛、时序差分等)估计。

-贪心探索指有1-概率按照Q函数来决定动作,而有概率是随机决定动作,在实现过程中会随着时间递减,即在后期确定哪个动作比较好了,就会减少探索。

Sarsa:同策略时序差分控制

很简单,就是将时序差分方法更新价值函数的过程变为了更新动作价值函数,如下:

Q学习:异策略时序差分控制

异策略也叫做离线策略。异策略算法包含两种策略:目标策略和行为策略,目标策略指代的是需要学习的策略,而行为策略是探索环境的策略,负责和环境进行交互采集轨迹。

策略梯度

策略梯度算法是基于策略的方法,对策略进行参数化,比如参数为的策略

给定actor的参数,可以计算某个轨迹发生的概率: 首先由环境给出在状态的概率,因为策略参数是确定的,所以可以得到在执行的概率,再接下来环境根据产生

在一个回合/轨迹中,会得到奖励是一个随机变量,我们需要计算的期望值:

我们需要最大化期望奖励,首先计算期望奖励的梯度: 其中只有有关,奖励函数不需要是可以微分的。

期望奖励求梯度的推导公式如下,其中有一些重要的步骤省略未详细说明,关于期望奖励求梯度的具体推导可以查阅相关资料。

策略梯度的一些实现技巧

添加基线

因为不希望奖励总是正的,而是有正有负,从而提高获得正奖励的概率,降低获取负奖励的概率。

分配合适的分数

前面的公式显示在同一个回合/轨迹里面,所有的状态动作对使用同样的奖励进行加权,这是不公平的,因为有的动作是好的,有的动作是不好的,在此轨迹中贡献是不一样的,如果都赋予同样的奖励是不行的。 上式就是将权重从原来的整个回合的奖励总和改为从某个时刻开始,并且加上了一个折扣因子。

这一项称为优势函数,用表示,通常可以由一个网络估计出来,这个网络称为评论员。优势函数的意义是在某个状态执行某个动作相较于其它可能的动作有多好。

REINFORCE:蒙特卡洛策略梯度

采用的是回合更新的方式,先获取每个步骤的奖励,然后计算每个步骤的未来总奖励,将代入: 其中,可计算为:

重要性采样

假设不能从分布采样数据,只能从另外一个分布采样数据,于是当求取在分布p下的期望可以变换为: 这样就可得: 所以从q采样出来的每一笔数据,都需要乘以一个重要性权重来修正这两个分布的差异,唯一限制是概率为0时,概率不能为0。

将重要性采样用在异策略的情况中则有: 同样在实际做策略梯度的时候,不是给整个轨迹一样的分数,而是将每个状态动作对分开计算,再结合前面优势函数的技巧: 实际上是无法计算的,因为所有的状态动作对都是由交互出来的,因此需要将本计算转换为计算

根据全概率公式有: 于是可以将优势函数改为 通常认为是一样的,因为这个概率是由环境产生的,不同的是没有影响的。另外一个理由是因为很难计算。

上式是梯度,用式子可以反推出原来的目标函数:

近端策略优化

若两个分布相差太多,重要性采样的结果就会不好,于是近端策略优化就是要避免异策略的两个策略相差太多。

PPO做的就是加入一个KL散度,约束输出的动作。

在PPO论文中主要有两个改进点:1、近端策略优化惩罚,2、近端策略优化剪裁。

  • 近端策略优化惩罚用到一个自适应KL散度,用来动态调整KL散度前面的权重。事先规定两个阈值,如果,增大,如果,减小

近端策略优化惩罚可以表示为: 因为在工程实现过程中,将期望形式转换为近似求和形式,省略掉前面的系数,因为它对梯度优化的方向没有影响,只影响学习率的缩放。

  • 近端策略优化裁减,其实就是计算KL散度复杂,采用裁减的方式减少计算复杂度:

深度Q网络

因为在现实中基于价值估计的强化学习无法罗列所有的状态,并且状态空间往往是连续的,所以不能用表格形式来存储更新价值函数。可以采用一个函数来近似,比如神经网络。

基本步骤:首先用个初始的策略和环境交互收集数据,接下来用这些数据学习策略QQ{}{}$和环境交互收集数据,循环往复。

目标网络

对于一个收集到的数据,比如在状态采取动作后,得到奖励,进入状态,根据函数有: 但在实际情况中,作为网络的输出,是目标,目标是会变动的,因为作为一个回归问题,网络要去逼近目标,但如果目标是变动的,神经网络很难去学习一个变动的目标。因此在神经网络学习过程中会采取小技巧,把目标网络固定住,在训练的时候只更新左边的网络

探索

指的是在某个状态采取某个动作,它得到的值是正的奖励,那么它就会比其它动作值要大,之后采取动作时只有会采取这个动作了,因此需要探索策略,给其它动作一些机会。

经验回放

回放缓存指代的是有某个策略与环境交互,收集很多数据,将其放入一个缓冲区,每次训练时候采样一定批量进行训练,然后新策略再收集一定数据放入,丢弃部分旧数据,保持缓冲区的数据更新。

深度Q网络技巧

双深度Q网络(DDQN)

和前面一样的,一个目标网络和参数更新的网络,区别在于选择动作的时候用会更新参数的网络去选择,而用目标网络(固定住的网络)计算动作价值。

竞争深度Q网络(dueling DQN)

优先经验回放

即在从经验回放池采样数据的时候不是均匀采样,而是有一定的优先权。比如在之前采样过的一些数据,训练的时序差分误差特别大,那么代表这些数据不好训练,应该给予更大概率被采样到。

在蒙特卡洛方法和时序差分方法中取得平衡

就是将步长N作为一个超参数,在蒙特卡洛方法和时序差分方法之间平衡。

噪声网路

探索是在动作空间上加噪声。而噪声网络是指在参数空间上加噪声,在一个回合开始于环境交互的时候,智能体用Q函数来采取动作,Q函数就是一个网络,在网络的每个参数上加上一个高斯噪声,这样就把原来的Q函数变成了

注意的是,在刚开始之前,就采样噪声,且固定噪声网络,直到整个回合结束,才能重新采样噪声

演员-评论家算法

优势演员-评论员算法

策略梯度: 将梯度写为更加一般的形式: 其中,有很多种形式: 线 这些是前面策略梯度算法改进中的一些知识点,将梯度形式推导到5,优势函数引进了价值函数,就可以构成优势演员-评论员算法。但从形式上看需要估计两个价值网络Q网络和V网络。由此需要一些改进: 上式把期望去掉,然后代入梯度公式,就可以得到形式6只有V网络的梯度。这里将期望去掉是论文里做的改进尝试,不是公式推导的,由此得到优势演员-评论员算法的式子: ## 异步优势演员-评论员算法 ## 路径衍生策略梯度 ## 与生成对抗网络的联系

稀疏奖励

设计奖励

就是人为的设置一些奖励来引导智能体,往最终获取固定奖励方向学习,但这有个缺点,需要相关领域知识来设计奖励,不然是不知道如何设计奖励能引导智能体的。

好奇心

课程学习

分层强化学习

下一篇:
PPO阅读笔记