🎳二、马尔科夫决策过程
2024-7-3
| 2024-9-7
0  |  阅读时长 0 分钟
type
status
password
date
slug
summary
category
URL
tags
icon
强化学习(reinforcement learning,RL)讨论的问题是智能体(agent)怎么在复杂、不确定的环境(environment)中最大化它能获得的奖励。如图 1.1 所示,强化学习由两部分组成:智能体和环境。在强化学习过程中,智能体与环境一直在交互。智能体在环境中获取某个状态后,它会利用该状态输出一个动作 (action),这个动作也称为决策(decision)。然后这个动作会在环境中被执行,环境会根据智能体采取的动作,输出下一个状态以及当前这个动作带来的奖励。智能体的目的就是尽可能多地从环境中获取奖励。

强化学习引入MDP

强化学习中智能体与环境的交互过程十分复杂 ,复杂到难以建模。因此我们需要对强化学习进行简化。
notion image

环境状态的隐马尔可夫假设

  • 环境状态的转变:。假设转化到下一个状态 的概率仅与上一个状态 以及动作有关,与之前的状态无关。例如,在一个走迷宫的游戏中,时刻机器人在迷宫中的位置;只由Agent 时刻在迷宫中的位置,以及时刻采取的动作有关。
    • 💡
      状态转化模型描述了在给定当前状态和采取的动作后,环境如何转变到下一个状态。如果按照真实的环境转化过程看,转化到下一个状态 的概率既与上一个状态 有关,还与上上个状态,以及上上上个状态有关。这一会导致我们的环境转化模型非常复杂,复杂到难以建模。因此我们需要对强化学习的环境转化模型进行简化。简化的方法就是假设状态转化的马尔科夫性,也就是假设转化到下一个状态 的概率仅与上一个状态 以及动作有关,与之前的状态无关。用公式表示就是:

Agent的隐马尔可夫假设

Agent策略。假设在状态 时采取动作 的概率仅与当前状态 有关。例如,在一个走迷宫的游戏中,Agent只根据当前的房间位置(状态),决策执行下一步动作。
💡
除了对于环境的状态转化模型这个因素做马尔科夫假设外,我们还对强化学习Agent的策略(policy) 也做了马尔科夫假设。即,在状态 时采取动作 的概率仅与当前状态 有关。

价值函数的隐马尔科夫假设

  • 状态价值函数:比如说,在一个迷宫游戏中,某个特定的房间位置就是一个状态,状态价值函数会告诉智能体处于这个房间位置时,未来可能获得的累积奖励的期望值。我们假设状态价值函数表示在Agent策略下从某一个状态 开始采样直到终止状态时所有奖励的有衰减的之和。
    • 💡
      其中, 代表收获(return), 是一个MDP中从某一个状态 开始采样直到终止状态时所有奖励的有衰减的之和。不仅与环境状态有关;还与时刻有关系。
  • 动作价值函数:比如说,在上述走迷宫的例子中,在某个房间位置(状态),选择向左走或者向右走就是不同的动作。动作价值函数会评估在这个房间位置选择向左走或者向右走后,所能获得的累计奖励的期望。
    • 💡
      其中, 代表收获(return), 是一个MDP中从某一个状态 采取动作开始采样直到终止状态时所有奖励的有衰减的之和。不仅与环境状态、动作有关;还与时刻有关系。

为什么使用折扣因子

第一,有些马尔可夫过程是带环的,它并不会终结,我们想避免无穷的奖励。第二,我们并不能建立完美的模拟环境的模型,我们对未来的评估不一定是准确的,我们不一定完全信任模型,因为这种不确定性,所以我们对未来的评估增加一个折扣。我们想把这个不确定性表示出来,希望尽可能快地得到奖励,而不是在未来某一个点得到奖励。

状态价值函数与动作价值函数

  • 状态价值函数:在某个特定状态 下,未来累计奖励的期望。也就是说,它反映了智能体处于状态 时,预期能够获得的长期回报。例如,在一个走迷宫的游戏中,某个特定的房间位置就是一个状态。状态价值函数会评估在处于这个房间位置时,最终能获得的平均奖励总和。
  • 动作价值函数:在状态 下采取动作 后,未来累计奖励的期望。比如说,在上述走迷宫的例子中,在某个房间位置(状态),选择向左走或者向右走就是不同的动作。动作价值函数会评估在这个房间位置选择向左走或者向右走后,所能获得的累计奖励的期望。

MDP中价值函数的转换方程

状态价值函数与动作价值函数

  • 状态价值函数:在某个特定状态 下,未来累计奖励的期望。也就是说,它反映了智能体处于状态 时,预期能够获得的长期回报。例如,在一个走迷宫的游戏中,某个特定的房间位置就是一个状态。状态价值函数会评估在处于这个房间位置时,最终能获得的平均奖励总和。
  • 动作价值函数:在状态 下采取动作 后,未来累计奖励的期望。比如说,在上述走迷宫的例子中,在某个房间位置(状态),选择向左走或者向右走就是不同的动作。动作价值函数会评估在这个房间位置选择向左走或者向右走后,所能获得的累计奖励的期望。
notion image

动作价值函数转状态价值函数

也就是说,状态价值函数是所有动作价值函数基于策略 的期望。通俗说就是某状态下所有状态动作价值乘以该动作出现的概率,最后求和,就得到了对应的状态价值。

状态价值函数转动作价值函数

通俗说就是状态动作价值有两部分相加组成,第一部分是即时奖励,即时刻采取动作获得的即时奖励;第二部分是环境所有可能出现的下一个状态的概率乘以该下一状态的状态价值,最后求和,并加上衰减

状态价值转状态价值、动作价值转动作价值

把上面两个式子互相结合起来,我们可以得到:
贝曼期望方程
贝曼期望方程

最优价值函数

使用不同的策略 可以得到不同的状态价值函数 以及不同的动作价值函数。解决强化学习问题意味着在众多策略中找一个最优的策略让个体在与环境交互过程中获得始终比其它策略都要多的奖励,其对应的状态价值函数是,动作价值函数是

MDP实例

上面的公式有点多,需要一些时间慢慢消化,这里给出一个UCL讲义上实际的例子,首先看看具体我们如何利用给定策略来计算价值函数。
notion image
 
  • 强化学习
  • huggingface的pipeline库一、强化学习基础
    Loading...
    目录