当前位置: 首页 > news >正文

强化学习数学基础学习(三)

前言

这次是蒙特卡洛方法

正文

蒙特卡洛方法(Monte Carlo,MC)

在强化学习(Reinforcement Learning, RL)中,蒙特卡洛方法是一类基于采样的学习方法,主要用于解决那些状态空间或动作空间过大,以至于无法使用动态规划方法的问题。蒙特卡洛方法通过模拟大量的随机经验(即,遵循某种策略与环境互动的序列),来估计价值函数。

换句话说,求解rl问题的时候,我们要么需要模型,要么需要数据,这次的mc就是基于数据的无模型方法(这个实际上可以可以分为蒙特卡洛方法和时序差分学习)

所以我们能列出:

蒙特卡洛方法的特点

  • 全回报(Episodic):通常用于具有明确开始和结束的情境(即,episodic tasks)。
  • 不需要知道环境的转移概率和奖励分布:蒙特卡洛方法是一种model-free的强化学习方法,这意味着它不需要事先知道环境的动态特性,即不需要知道状态转移概率和奖励分布。

  • 通过大数据量的样本采样来进行估计:这种方法依赖于从实际的经验(即,episode)中收集大量的样本数据。通过这些样本,可以估计出价值函数或策略。

  • 本质上是大数定律的应用:蒙特卡洛方法基于大数定律,该定律指出,当独立同分布的随机变量样本数量足够大时,样本均值会趋近于这些随机变量的真实期望值。在这里,每个episode可以看作是一个随机样本,而通过大量episode的平均回报来估计状态的价值。

  • 将策略迭代中依赖于model的部分替换为model-free:在传统的动态规划(DP)方法中,需要知道环境模型来进行策略迭代。蒙特卡洛方法则通过采样来绕过这一需求,使得强化学习可以在没有环境模型的情况下进行。

蒙特卡洛算法步骤

  1. 初始化

    • 设置初始的价值函数V(s) 对于所有状态 s。
    • 设置一个策略 π,可以是随机的或基于某些启发式的。
  2. 互动与采样

    • 使用策略 π 与环境互动,生成多个完整的episode(即,从开始状态到终止状态的序列)。
    • 对于每个episode,记录状态、动作、奖励和后续状态。
  3. 回报计算

    • 对于每个episode,计算从每个状态开始到episode结束的回报 Gt​。
    • Gt​ 可以是简单回报(只考虑最终奖励),或者是折现回报(考虑未来奖励的折现和)。
  4. 更新价值函数

    • 对于episode中的每个状态 st​,更新价值函数 V(st​)。
    • 更新规则通常是:

      V(st​)←V(st​)+α(Gt​−V(st​))

    • 其中 α 是学习率。

MC Exploring Starts

MC Exploring Starts 是蒙特卡洛强化学习中的一个概念,它是一种解决策略评估问题的方法,特别是在没有明确探索策略的情况下。这个方法的名称来源于它假设在每个episode的开始,智能体都以非零概率选择所有可能的动作,即“探索性起始”(Exploring Starts)。

基本思想

  • 探索性起始:假设在每个episode的开始,智能体随机选择一个动作,而不是遵循某个特定的策略。这意味着所有状态-动作对都有机会被选中,从而确保了充分的探索。

  • 策略评估:MC Exploring Starts 的目标是评估给定策略的价值函数,即计算在该策略下每个状态或状态-动作对的期望回报。

工作原理

  1. 初始化:为每个状态或状态-动作对初始化一个回报的计数器和一个回报的总和。

  2. 生成episodes:使用探索性起始生成多个episodes。在每个episode中,智能体从初始状态开始,根据当前策略和探索性起始的条件选择动作,直到达到终止状态。

  3. 记录回报:对于每个episode,记录从每个状态或状态-动作对开始的回报。

  4. 更新价值:当一个episode结束时,使用该episode中的回报来更新对应状态或状态-动作对的价值估计。具体来说,对于每个访问过的状态或状态-动作对,将其回报加到回报的总和中,并将计数器加一。然后,将回报的总和除以计数器得到平均回报,这作为该状态或状态-动作对的价值估计。

优势

  • 不需要明确的探索策略:由于假设了探索性起始,因此不需要额外的探索机制,如ε-greedy策略。

局限

  • 实际应用中的限制:在实际应用中,确保探索性起始可能是不现实的,因为这意味着智能体必须在每个episode的开始完全随机地选择动作,这在某些环境中可能是不安全的或不合适的。

  • 收敛性:MC Exploring Starts 要求所有状态-动作对都有非零概率被选中,这对于确保算法的收敛性是必要的。如果某些状态-动作对从未被探索,那么它们的价值将无法被准确估计。

MC Exploring Starts 是蒙特卡洛方法的一个理想化版本,它为理解蒙特卡洛算法提供了一个理论框架,但在实际应用中,通常会采用其他探索策略来确保对所有可能的状态-动作对的探索。

MC ε-Greedy

MC ε-Greedy 是一种结合了蒙特卡洛(Monte Carlo, MC)方法和ε-Greedy 探索策略的强化学习算法。它主要用于解决强化学习中的策略评估和策略改进问题。

MC ε-Greedy 算法步骤

  1. 初始化

    • 对于所有的状态s和动作a,初始化一个计数器N(s, a)来记录(s, a)对被选中的次数,以及一个累加器Q(s, a)来记录在状态s下采取动作a所获得的总回报。
    • 设置一个参数ε(通常是一个较小的正数,如0.1),用于控制探索和利用的比例。
  2. 生成Episodes

    • 对于每个episode,从初始状态开始,使用ε-Greedy策略选择动作:
      • 以ε的概率随机选择一个动作。
      • 以1-ε的概率选择当前估计的最优动作(即Q值最大的动作)。
    • 执行选定的动作,观察环境反馈的下一个状态和奖励,直到达到终止状态。
  3. 记录回报

    • 对于每个episode,记录从开始到结束的每一步的状态、动作和奖励。
  4. 更新价值函数

    • 当一个episode结束后,使用该episode中的经验来更新动作值函数Q(s, a)。
    • 对于episode中出现的每个(s, a)对,计算从该(s, a)对开始直到episode结束的回报G。
    • 更新Q(s, a)的值为:Q(s, a) = Q(s, a) + (G - Q(s, a)) / N(s, a)。
    • 同时,更新N(s, a)的计数:N(s, a) = N(s, a) + 1。
  5. 策略改进

    • 在每个状态s下,根据更新的Q值来选择最优动作,即贪婪地选择Q(s, a)最大的动作。
    • 随着Q值的更新,策略也会逐渐改进。

尾声

这个挺好理解的


http://www.mrgr.cn/news/62815.html

相关文章:

  • 港岛迎火箭,斯诺克新天。文化交融处,情谊续前缘。
  • HTTP与RPC
  • 右键以vscode打开目录的时候出现找不到应用程序
  • Chromium127编译指南 Linux篇 - 额外环境配置(五)
  • 62.不同路径 63.不同路径ii
  • Mongodb使用视图连接两个集合
  • 【随笔】为什么transformer的FFN先升维后降维FFN的作用
  • 搜维尔科技:Manus数据手套在水下捕捉精确的手指动作, 可以在有水的条件下使用
  • 全面解析云渲染:定义、优势、分类与发展历程
  • java-参数传递与接收
  • 基于SSM+小程序的宿舍管理系统(宿舍1)
  • 【VM实战】VMware迁移到VirtualBox
  • 【c++篇】:模拟实现string类--探索字符串操作的底层逻辑
  • vite构建Vue3项目:封装公共组件,发布npm包,自定义组件库
  • 利用GATK对RNA-seq数据做call SNP 或 INDEL分析
  • VScode + PlatformIO 了解
  • 案例精选 | 石家庄学院大日志场景下的实名审计实践
  • Rust: 加密算法库 ring 如何用于 RSA 数字签名?
  • 罗马仕、西圣、安克充电宝哪款品牌更好?综合测评对比谁是TOP.1
  • 为Meta Spark准备3D模型
  • vue简介
  • 从0开始学习shell脚本
  • JS面试八股文(四)
  • windows环境下,使用docker搭建redis集群
  • java程序打包为一个exe程序
  • Python import package