狗都能看懂的基于Value-Based强化学习方法讲解


上一次的记录中讲解了Policy-Gradient的概念和原理,通过学习一个Actor,即利用神经网络预测下一步的action是什么。是Policy-Based的方法,而强化学习中还有另外一个方向,基于Value-Based的方法,训练一个Critic,评判这一个action有多好。

Critic

Critic,它不决定下一次的action是什么。相反,给出一个action,让Critic评估这个action有多好。我们将评估函数记作 V π ( s ) V^\pi(s) Vπ(s),输入state,此时采取了actor π \pi π的策略,未来将会的得到所有reward的总和(不是当下会得到reward)。

critic.png

这里要注意的是, V π ( s ) V^\pi(s) Vπ(s)主要目的是评价actor π \pi π的策略的好坏。所以即便是在同一个state下,采取不同的actor π \pi π,其计算出来的值也是不同的。用critic预测reward的模式也就是我们之前提的value-based方法。Critic不能单独存在,它需要有一个对应的actor,所以 V π V^\pi Vπ的大小,取决于两个因素,一个是state,一个actor。

如何计算 V π ( s ) V^\pi(s) Vπ(s)

还是以电子游戏为例子

Monte-Carlo based approach

MC.png

用通俗易懂的方式解释蒙特卡洛的方法:让critic看actor π \pi π玩游戏

假设看到 S a S_a Sa会得到reward的总和是 G a G_a Ga,那么我们的 V π ( s a ) V^\pi(s_a) Vπ(sa)需要和 G a G_a Ga越接近越好。同理,看到 S b S_b Sb得到 G a G_a Ga,那么就需要使得 V π ( s b ) V^\pi(s_b) Vπ(sb)需要和 G b G_b Gb越接近越好。

蒙特卡洛最大的缺点就是耗时,总是需要等每一个episode结束,才能收集完训练数据。

Temporal-difference approach

TD.png

我们观察到从 s t s_t st采取 a t a_t at得到 r t r_t rt然后转换成 s t + 1 s_{t+1} st+1的过程中, s t s_t st s t + 1 s_{t+1} st+1之间只差了一个 r t r_t rt。所以Temporal-difference采用差分的方式计算 V π ( s ) V^\pi(s) Vπ(s),即和上图所示一样:
V π ( s t ) = V π ( s t + 1 ) + r t V^\pi(s_t) = V^\pi(s_{t+1}) + r_t Vπ(st)=Vπ(st+1)+rt
这里解释下为什么是时刻 t t t的reward必然比 t + 1 t+1 t+1要大, V π ( s ) V^\pi(s) Vπ(s)评估的是要赢的分数,要赢的分数只会越来越少。

那么我们优化的目标就是 V π ( s t ) − V π ( s t + 1 ) V^\pi(s_t) - V^\pi(s_{t+1}) Vπ(st)Vπ(st+1) r t r_t rt越接近越好。

MC vs TD.png

TD的方法显而易见的好处就是,能在episode还没有结束的时候就开始训练。所以TD的方法通常比MC要快,因为它每一步都在更新。并且MC没办法处理非回合制的任务(自动驾驶,机器人控制等连续决策的过程)。MC无偏但方差大,而TD方法有偏但方差小。

这里强调一下偏差和方差的影响:

无偏(Unbiased)

无偏意味着在无限次采样情况下,估计值的期望等于真实值。换句话说,长远来看,估计不会系统性地偏离真实值。

  • 优点

    • 准确性:无偏估计在足够多的样本下能够提供准确的估计值,不会系统性地偏离目标。
    • 理论保障:在理论分析中,无偏估计通常更容易处理和分析,提供收敛性保证。
  • 缺点

    • 高方差:无偏估计通常具有较高的方差,因为它完全依赖于样本,而每个episode可能会有较大波动。高方差会导致学习过程中的不稳定性和慢收敛。

有偏(Biased)

有偏意味着估计值的期望不等于真实值。即使在无限次采样情况下,估计值仍会系统性地偏离真实值。

  • 优点

    • 低方差:有偏估计通常具有较低的方差,因为它引入了某种形式的平滑或预测,使得每次更新不完全依赖于单一的样本。这可以使学习过程更加稳定和快速收敛。
    • 实用性:在许多实际应用中,略微的偏差可能是可以接受的,特别是如果这能显著提高收敛速度和稳定性。
  • 缺点

    • 系统性误差:由于存在偏差,最终的估计可能永远无法准确反映真实值,尤其在策略评估和优化任务中可能导致次优决策。
    • 复杂度:有偏估计的理论分析通常更复杂,需要仔细设计以确保偏差在可接受范围内。

sample

实际来看看某一个例子,如上图所示,这里有8次episode,要计算 V π ( s a ) V^\pi(s_a) Vπ(sa) V π ( s b ) V^\pi(s_b) Vπ(sb)的值

  • V π ( s b ) V^\pi(s_b) Vπ(sb):8次episode里,看到 s b s_b sb之后到游戏结束,得到的reward,6次是1,2次是0,那么 V π ( s b ) = 3 / 4 V^\pi(s_b) = 3/4 Vπ(sb)=3/4,这个很好计算。
  • V π ( s a ) V^\pi(s_a) Vπ(sa):如果是用MC,预估出来的 V π ( s a ) = 0 V^\pi(s_a) = 0 Vπ(sa)=0,而如果用TD,预估出来的 V π ( s a ) = 3 / 4 V^\pi(s_a) = 3/4 Vπ(sa)=3/4

所以即使你用同一批训练数据,用了MC或者TD,这两个计算出来的结果也有可能是不一样的。那么哪个更好呢?其实各有各的好。

  • 假如说第一个episode中,遇到 s a s_a sa之后,再跳转到 s b s_b sb,就会导致 s b s_b sb的reward是0,你如果用MC就会考虑这个情况。
  • 但如果说,遇到 s a s_a sa之后,再跳转到 s b s_b sb,得到reward为0可能只是个巧合,刚好就发生了,和前面遇到的是 s a s_a sa还是 s b s_b sb都没有关系,那么用TD就会更准确。

实践里的折中

在实践中,常常会使用一些折中方法,如混合蒙特卡洛和TD的方法,或者引入启发式策略以在有偏和无偏之间取得平衡。例如,TD( λ λ λ)方法通过引入衰减因子 λ λ λ来控制TD方法与MC方法之间的平衡,结合了两者的优点。

Q-Learning (Another Critic)

Another Critic.png

刚刚说到Critic是需要外接传入一个action的。假设我们现在的任务是每一个action都是可以穷举的,那么每一次我们都可以计算出 V π ( s t ) V^\pi(s_t) Vπ(st),使得每次都可以选最好的一个action。这个就是Q-Learning的思想。输入state和action到 Q π Q^\pi Qπ中,得到不同action的预测期望值。

Q-learning.png

完整的Q-Learning如上图所示:

  1. 初始的 π \pi π先和环境做互动,经过TD或者MC的方法,计算reward得到数据。
  2. 利用critic V π ( s ) V^\pi(s) Vπ(s)得到 π ′ \pi' π,这里有一个前提, V π ′ ( s ) > V π ( s ) V^\pi{'}(s) > V^\pi(s) Vπ(s)>Vπ(s),即新的策略 π ′ \pi' π在同样的state下,得到的期望值必须要比用策略 π \pi π高。
  3. 利用argmax计算出得到最好的 π ′ \pi' π
  4. 重复1-3的过程,policy就会越来越好

需要注意的是,Q-Learning只适合action是离散的情况。这里只是简单介绍Q-Learning的方法,后面会在其他博客中详细讲解。

Actor-Critic

最后来介绍一下Actor-Critic的方法。其实不难发现可以用Actor生成的action去探索,同时用Critic去评价这个action的好坏。两个方法本身互不影响。并且Critic给出的期望值会比环境本身给出的Reward更准确(环境是随机的,变化太大)。所以两个方法的结合就是Actor-Critic

conclude.png

### 回答1: Value-based 强化学习模型是一种将智能体的行动价值进行评估,从而决策哪个行动更有利可图的强化学习方法。 这种模型的框架如下: 1. 定义状态:确定智能体的环境状态。 2. 定义动作:确定智能体可以执行的动作。 3. 定义奖励函数:确定行动对环境状态的影响,并对每个动作进行评估。 4. 通过价值函数预测动作的价值:根据智能体的当前状态和奖励函数,估算动作的价值。 5. 基于价值函数选择动作:选择价值最高的动作。 该模型的原理是:通过不断地评估动作的价值,来决策智能体的行动。这种方法可以在不知道环境的内部状态的情况下,让智能体学会在复杂的环境中进行决策。 通过迭代不断更新价值函数,智能体可以学习到如何选择最优的行动。随着智能体对环境的了解不断深入,价值函数也会变得更加准确。 ### 回答2: Value-based强化学习模型是一种基于值函数的方法,用于解决强化学习问题。它的基本框架包括状态空间、动作空间、奖励函数和值函数。 在这个框架中,状态空间是所有可能的状态集合,动作空间是所有可能的动作集合。奖励函数用来评估在特定状态下采取某个动作的好坏程度,它为每个状态和动作对分配一个即时奖励。 值函数是定义在状态空间上的函数,用来评估状态的价值。具体而言,值函数可以分为状态价值函数和动作价值函数。状态价值函数(V函数)给出了在特定状态下能够获得多少累积奖励,而动作价值函数(Q函数)给出了在特定状态采取某个动作后能够获得多少累积奖励。 Value-based强化学习模型的原理是通过学习值函数来指导智能体的决策。这种方法的核心思想是,智能体应该选择能够使累积奖励最大化的动作。为了实现这个目标,模型通过利用当前已知的值函数来估计状态动作对的价值,并选择具有最高价值的动作。 具体来说,模型使用了通过迭代更新的方法,例如Q-learning算法或Deep Q网络(DQN)来学习值函数。这些算法通过采样和优化来不断改进值函数的估计,以此来提高智能体的决策性能。 总之,Value-based强化学习模型的框架和原理是通过学习值函数来指导智能体的决策,以实现最大化累积奖励的目标。这个框架包括状态空间、动作空间、奖励函数和值函数,原理则是通过迭代更新值函数,使其能够准确评估状态动作对的价值,从而使智能体能够做出最佳决策。 ### 回答3: value-based强化学习是一种基于值函数的强化学习模型。它的框架包括四个主要的组成部分:状态表示、行动选择、状态转移和值函数更新。 首先,状态表示是指将环境的状态进行合适的编码表示。在value-based强化学习中,通常将状态表示为一个向量或一个张量,它包含了环境中所有重要的信息。 其次,行动选择是指根据当前状态和值函数选择下一步的行动。在value-based强化学习中,行动选择通常是基于一个被称为Q值函数的值函数。Q值函数接受一个状态和一组可能的行动,并输出每个行动的值。根据Q值函数,我们可以选择具有最高Q值的行动作为下一步执行的行动。 然后,状态转移是指在环境中执行选择的行动,并观察到新的状态和获得的奖励。根据环境的动力学,我们能够了解如何从当前状态和选择的行动转移到下一个状态,并且能够获取到与该转移相关的奖励信号。 最后,值函数更新是指通过与环境交互获得的奖励信号更新值函数。在value-based强化学习中,我们使用一种迭代的方法,通过比较实际奖励和预测奖励来改进值函数的估计。常用的值函数更新算法有Q Learning和Deep Q Network(DQN)。这些算法使用经验回放和目标网络来稳定训练过程,并通过不断迭代来逼近最优的值函数。 综上所述,value-based强化学习模型的框架和原理涵盖了状态表示、行动选择、状态转移和值函数更新这四个主要的组成部分。通过这些组成部分的配合和训练,value-based强化学习模型能够学习到最优的值函数,从而能够在环境中做出最佳的决策。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值