task01:绪论、马尔可夫过程、动态规划

发布时间 2023-11-15 16:10:59作者: 红茶加冰五分糖

绪论

1.强化学习

1.1强化学习定义

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题

1.2强化学习的应用

游戏和机器人领域,强化学习在金融领域也有所应用,例如股票交易、期货交易、外汇交易等。在股票交易中,我们的目标是通过买卖股票来最大化我们的资产。在这个过程中,我们需要不断地观测当前的股票价格,然后根据当前的价格来决定买入或卖出股票的数量,最后通过股票价格的变化来更新我们的资产。在这个过程中,我们的资产会随着股票价格的变化而变化,这就是奖励或惩罚,每次的买卖就是决策。当然,强化学习的应用还远远不止如此,例如自动驾驶、推荐系统、交通派单、广告投放以及近来大火的ChatGPT等,这些都是。

1.3强化学习方向概述

1.3.1多智能体强化学习

多智能体强化学习就是在多个智能体的环境下进行强化学习。与单智能体环境不同,在多智能体环境中通常存在非静态问题,即环境的状态不仅由智能体的动作决定,还受到其他智能体的动作的影响。用自己的话来说就是多个环境和单个环境的区别,同时可能还会收外界的干扰

1.3.2从数据中学习

从数据中学习就是在一些专家数据中进行学习策略,比较典型的代表有逆强化学习和离线强化学习、世界模型等,都是采用了数据来辅助强化学习,而在强化学习的过程中涉及到的两个最为突出的问题是探索策略和实时环境以及多任务强化学习

  • 探索策略:在强化学习中,智能体要通过在探索和利用之间做出权衡。在探索时,由于未知,智能体可能会使用未知的动作,这可能会得到奖励,也可能会得到惩罚;而在利用时,利用自己的已知动作,这让不会受到惩罚,但是奖励比较少,所以如何平衡这两者之间的关系就显得尤为重要。同时我们应该明确提高探索的本质也是为了避免局部最优问题,从而提高智能体的鲁棒性。
  • 实时环境:简单理解实时环境是可变的,这导致智能题面对不断变化的环境时产生安全隐患以及效率降低等问题,而离线强化学习则能较好的解决这一问题,但是里离线环境和在线环境可能存在着分布漂移(个人理解应该是时间差或者一些突发状况)这就导致了训练好的模型在在线环境中可能会出现意外
  • 多任务强化学习:这个问题在深度学习中也较为常见,在实际应用中,智能体往往需要同时解决多个任务,例如机器人需要同时完成抓取、搬运、放置等任务,而不是单一的抓取任务。在这种情况下,如何在多个任务之间做出权衡是一个难题。目前比较常用的方法有联合训练和分层强化学习等等。

马尔可夫过程

1.马尔可夫决策过程

  • 马尔可夫决策过程是强化学习的基本问题模型之一,它能够以数学的形式来描述智能体在与环境交互的过程中学到一个目标的过程(目标通常是以最大化累积的奖励来呈现的)。在这里要区分智能体和环境,智能体充当的是作出决策或动作,并且在交互过程中学习的角色,环境指的是智能体与之交互的一切外在事物,不包括智能体本身。
  • 马尔可夫决策过程中智能体与环境的交互过程:智能体每一时刻都会接收环境的状态,并执行动作,进而接收到环境反馈的奖励信号和下一时刻的状态。

2.马尔可夫性质

在给定历史状态的情况下,某个状态的未来只与当前状态有关,与历史的状态无关。
每个状态的转移只依赖于之前的n个状态,这个过程被称为1个n阶的模型,其中n是影响转移状态的数目。最简单的马尔可夫过程就是一阶过程,每一个状态的转移只依赖于其之前的那一个状态.

3.回报

马尔可夫决策过程中智能体的目标最大化累积的奖励,通常我们将这个累积的奖励叫做回报(return)
Gt=rt+1+γrt+2+γ2rt+3+γ3rt+4+…+γT−t−1rT
T是最终时刻,γ 是折扣因子,越往后得到的奖励,折扣越多。这说明我们更希望得到现有的奖励,对未来的奖励要打折扣。当我们有了回报之后,就可以定义状态的价值了,就是状态价值函数。
使用折扣因子的原因:

  • 有些马尔可夫过程是带环的,并不会终结,这样就会避免无穷的奖励
  • 我们并不能建立一个完美的模拟环境的模型,同时不一定完全信任模型,所以我们就提前希望得到奖励,而不是在未来的某一节点
  • 第三,如果奖励是有实际价值的,我们可能更希望立刻就得到奖励,而不是滞后的奖励

3.1马尔可夫奖励过程价值的迭代算法

我们可以将迭代的算法用于马尔可夫的奖励过程,比如:动态规划方法、蒙特卡洛方法、时序差分学习方法。

3.2马尔可夫决策过程和马尔可夫过程/马尔可夫奖励过程的区别

马尔可夫过程/马尔可夫奖励过程的状态转移是直接决定的。但是马尔可夫决策过程中多了一层动作a,当他到达一个黑色节点之后 ,此时智能体进入未来的状态其实也是一个概率分布,在当前状态与未来状态转移过程中多了一层决策性,这是马尔可夫决策过程与之前的马尔可夫过程/马尔可夫奖励过程很不同的一点。

4.状态转移矩阵

强化学习过程中的环境并不是静止不动的,他也可以是其他的智能体,有时智能体和环境的角色是能相互对调的,只要能各自建模成马尔可夫决策过程即可。
状态转移矩阵类似于条件概率(conditional probability),它表示当我们知道当前我们在状态st时,到达下面所有状态的概率。所以它的每一行描述的是从一个节点到达所有其他节点的概率。

动态规划

解决马尔可夫决策过程的方法我们统称为强化学习算法。动态规划并不是强化学习领域中的独有算法,动态规划具体指的是在某些复杂问题中,将问题转化为若干个子问题,并在求解每个子问题的过程中保存已经求解的结果,以便后续使用。

1.动态规划的编程思想

动态规划的解法主要有几个步骤:确定状态,写出状态转移方程和寻找边界条件。
动态规划问题有三个性质,最优化原理、无后效性和有重叠子问题。
无后效性:指的是即某阶段状态一旦确定,就不受这个状态以后决策的影响,即马尔可夫性质。
最优化原理:如果问题的最优解所包含的子问题的解也是最优的,就称该问题具有最优子结构,即满足最优化原理。

2.状态价值函数和动作价值函数

价值函数是强化学习中最常用的理论类型之一,用于评估状态或行动的价值。价值函数包括状态价值函数和动作价值函数。
状态价值函数(V)定义了某个状态的长期价值,动作价值函数(Q)定义了某个状态下采取某个动作的长期价值。这些函数可以通过贝尔曼方程计算,贝尔曼方程定义了一个状态的长期价值与后续状态的价值之间的关系。通过使用贝尔曼方程,可以计算出每个状态和动作的长期价值并优化行动策略。
贝尔曼方程的重要意义就在于前面所说的满足动态规划的最优化原理,即将前后两个状态之间联系起来,以便于递归地解决问题。
策略迭代和价值迭代是在决策分析和优化中常用的两种方法。它们都是通过迭代的方式来逐步改进决策或优化结果,但在具体应用和目标上有一些区别。
联系:

  • 迭代思想:策略迭代和价值迭代都基于迭代思想,通过多次迭代来逐步逼近最优值或最优策略。
  • 基于价值函数:两种方法都借助了价值函数的概念,用于衡量决策结果的好坏。
  • 相关领域:策略迭代和价值迭代都被广泛应用于强化学习领域,尤其是在解决马尔可夫决策过程(MDP)问题中。
    区别:
  • 目标不同:策略迭代的目标是找到最优策略,它通过交替进行策略评估和策略改进来达到最优化;而价值迭代的目标是找到最优值函数,它通过反复迭代更新值函数来逼近最优值。
  • 迭代顺序不同:策略迭代按照策略评估和策略改进的顺序进行迭代,每次迭代都会得到一个新的策略;价值迭代则在每次迭代中直接更新值函数,不需要显式地估计和改进当前的策略。
  • 算法不同:策略迭代通常使用策略评估算法(如迭代法求解贝尔曼方程)和策略改进算法(如贪心法)的组合;价值迭代则使用值迭代算法,通过迭代性地更新值函数直至收敛。
    总的来说,策略迭代和价值迭代都是通过迭代的方式来逐步改进问题的解答,但它们的目标和迭代方式有所不同。具体使用哪种方法取决于问题的性质和需要解决的具体目标。