【DL】强化学习

强化学习是机器学习的一个领域,它主要关注如何使智能体(Agent)在环境(Environment)中学会采取行动(Action)以最大化某种累积奖励(Reward)。强化学习与其他类型的机器学习(如监督学习和无监督学习)的主要区别在于,它不依赖于预先标记的输入/输出对,而是通过智能体与环境的交互来学习。以下是这些概念的详细介绍:

  1. 智能体(Agent)

    • 智能体是强化学习中的决策者,它通过观察环境来学习如何采取行动。智能体的目标是通过这些行动来最大化其长期奖励。它可以是任何能够感知其环境并根据这些观察做出决策的实体,如机器人、软件程序等。
  2. 环境(Environment)

    • 环境是智能体所处并与之互动的系统或问题域。环境接收智能体的行动并根据这些行动提供状态的反馈和奖励。环境的反馈可以是非常简单的,也可以是极其复杂且动态变化的。
  3. 状态(State)

    • 状态是对环境在某一时刻的描述。它可以是环境的完整描述,也可以只是环境的一部分。状态为智能体提供了决策的上下文,在给定状态下采取行动可以导致环境状态的变化。
  4. 动作(Action)

    • 动作是智能体在给定状态下可以采取的决策或步骤。智能体的动作空间可以是离散的(如左转、右转)或连续的(如加速的量)。智能体的行动会影响环境,并导致状态的变化和奖励的给予。
  5. 奖励(Reward)

    • 奖励是环境对智能体采取特定行动的即时评价。奖励通常是一个标量值,指示智能体的行动对于达成其目标的有用程度。智能体的目标是最大化在整个学习过程中获得的累积奖励。
  6. 策略(Policy)

    • 策略是从状态到动作的映射,它定义了智能体在给定状态下应该采取什么行动。策略可以是简单的静态规则,也可以是复杂的动态函数,取决于智能体的学习算法和环境的性质。智能体的目标是学习一个最优策略,这个策略能在长期内最大化累积奖励。

强化学习的过程过程可以通过多种算法来通常涉及智能体不断地通过与环境互动来尝试不同的策略,评估这些策略带来的奖励,并根据这些奖励来调整其策略,以学习如何最优地行动。这个实现,如Q学习、深度Q网络(DQN)、策略梯度方法等。

常见算法

动态规划

动态规划(Dynamic Programming, DP)在强化学习中扮演着基础而重要的角色,尤其是在处理具有完全已知的环境模型(即状态转移概率和奖励函数已知)的问题时。DP方法依赖于贝尔曼方程,这是一组递归方程,用于描述状态值函数或动作值函数(即Q函数)之间的关系。在强化学习中,动态规划法主要用于两个方面:策略评估(Policy Evaluation)和策略提升(Policy Improvement),这两个步骤循环交替执行以找到最优策略。

策略评估(Policy Evaluation)

策略评估的目标是计算某策略下的状态值函数,即在遵循特定策略的条件下,从某状态开始所能获得的预期回报。通过迭代地应用贝尔曼期望方程,我们可以评估当前策略的效果:

Vπ(s)=aAπ(as)s,rP(s,rs,a)[r+γVπ(s)]V^{\pi}(s) = \sum_{a \in A} \pi(a|s) \sum_{s', r} P(s', r | s, a)[r + \gamma V^{\pi}(s')]

其中,$$ V^{\pi}(s) $$ 是在状态 ( s ) 下遵循策略 ( \pi ) 所得到的价值,( \pi(a|s) ) 是在状态 ( s ) 下采取动作 ( a ) 的概率,( P(s', r | s, a) ) 是从状态 ( s ) 采取动作 ( a ) 转移到状态 ( s' ) 并得到奖励 ( r ) 的概率,( \gamma ) 是折扣因子,用于计算未来奖励的现值。

策略提升(Policy Improvement)

策略提升的目标是生成一个新策略,该策略在每个状态下都可以选择使动作价值最大化的动作。通过这个过程,我们可以从当前策略产生一个更好的策略。策略提升通常使用贝尔曼最优方程:

Qπ(s,a)=s,rP(s,rs,a)[r+γVπ(s)]Q^{\pi}(s, a) = \sum_{s', r} P(s', r | s, a)[r + \gamma V^{\pi}(s')]

然后,新的策略 ( \pi' ) 在每个状态下选择最大化 ( Q^{\pi}(s, a) ) 的动作:

π(s)=argmaxaQπ(s,a)\pi'(s) = \arg\max_a Q^{\pi}(s, a)

策略迭代(Policy Iteration)

策略迭代结合了策略评估和策略提升,通过迭代这两个步骤直到策略收敛到最优策略。每次迭代包括完全评估当前策略(直到值函数收敛),然后进行策略提升。

值迭代(Value Iteration)

值迭代是策略迭代的一种简化形式,它结合了策略评估的一步操作和策略提升。值迭代直接迭代更新每个状态的最大动作价值,直到价值函数收敛:

V(s)=maxas,rP(s,rs,a)[r+γV(s)]V(s) = \max_a \sum_{s', r} P(s', r | s, a)[r + \gamma V(s')]

动态规划方法在理论上可以得到最优策略,但其应用受限于环境模型的已知性以及状态和动作空间的规模。当状态和动作空间非常大或环境模型未知时,直接应用动态规划变得不可行,这时通常会

马尔可夫

蒙特卡洛

蒙特卡洛方法在强化学习中的应用提供了一种在不完全知道环境模型(即转移概率和奖励函数未知)的情况下学习最优策略的方法。与动态规划不同,蒙特卡洛(MC)方法不需要知道环境的具体动态,而是通过从环境中采样完成的序列(或称为“情节”)来学习。这些方法特别适用于具有高度不确定性或模型未知的环境。MC方法的关键特点是它们依赖于经验平均来估计值函数,这些平均值是从一系列完整情节中获得的。

MC策略评估

在策略评估过程中,MC方法通过对从当前策略生成的一系列完整情节的回报进行平均来估计状态的值。每个情节包含一系列的状态、动作和奖励,以及情节的最终结果。通过对同一状态多次访问得到的回报进行平均,MC方法可以估计该状态的值,即该状态的长期回报期望。

MC控制

为了找到最优策略,MC方法采用了一种称为MC控制的方法。MC控制通常涉及两个主要步骤:探索和利用。一个常见的策略是使用ε-贪婪策略,其中智能体大部分时间选择当前最佳动作(利用),但有时也随机选择其他动作(探索),以确保长期学习。

MC控制方法通过不断交替执行策略评估和策略提升来工作。在策略评估阶段,智能体使用其当前策略在环境中执行动作,并记录下来每个情节的结果。接着,使用这些情节的结果来更新值函数。在策略提升阶段,智能体根据估计的值函数更新其策略,通常是通过选择使得估计值函数最大化的动作。

优点与局限

MC方法的一个主要优点是它们不依赖于环境的先验知识,使其适用于模型未知的情况。此外,MC方法直接从最终回报中学习,而不依赖于其他状态的值估计,这有助于减少累积的估计误差。

然而,MC方法也有其局限性。首先,它们只适用于情节性任务,即那些有明确开始和结束的任务。其次,MC方法可能需要很多情节才能获得可靠的值估计,尤其是在回报信号稀疏或噪声很大的情境中。此外,MC方法只在情节结束时更新值函数和策略,这可能导致学习速度较慢。

总的来说,蒙特卡洛方法在强化学习中提供了一种强大的工具,尤其是在那些模型未知或难以精确建模的情况下。通过适当的策略和技巧(如重要性采样)的改进,可以进一步增强MC方法的应用范围和效率。

时序差分法

Q-Learning

赞赏