文章目录
- 一、强化学习问题
- 1、交互的对象
- 2、强化学习的基本要素
- 3、策略(Policy)
- 4、马尔可夫决策过程
- 5、强化学习的目标函数
- 6、值函数
- 7、深度强化学习
- 二、基于值函数的学习方法
- 三、基于策略函数的学习方法
一、强化学习问题
强化学习的基本任务是通过智能体与环境的交互学习一个策略,使得智能体能够在不同的状态下做出最优的动作,以最大化累积奖励。这种学习过程涉及到智能体根据当前状态选择动作,环境根据智能体的动作转移状态,并提供即时奖励的循环过程。
1、交互的对象
在强化学习中,有两个可以进行交互的对象:智能体和环境
-
智能体(Agent):能感知外部环境的状态(State)和获得的奖励(Reward),并做出决策(Action)。智能体的决策和学习功能使其能够根据状态选择不同的动作,学习通过获得的奖励来调整策略。
-
环境(Environment):是智能体外部的所有事物,对智能体的动作做出响应,改变状态,并反馈相应的奖励。
2、强化学习的基本要素
强化学习涉及到智能体与环境的交互,其基本要素包括状态、动作、策略、状态转移概率和即时奖励。
-
状态(State):对环境的描述,可能是离散或连续的。
-
动作(Action):智能体的行为,也可以是离散或连续的。
-
策略(Policy):智能体根据当前状态选择动作的概率分布。
-
状态转移概率(State Transition Probability):在给定状态和动作的情况下,环境转移到下一个状态的概率。
-
即时奖励(Immediate Reward):智能体在执行动作后,环境反馈的奖励。
3、策略(Policy)
策略(Policy)就是智能体如何根据环境状态 𝑠 来决定下一步的动作 𝑎(智能体在特定状态下选择动作的规则或分布)。
- 确定性策略(Deterministic Policy) 直接指定智能体应该采取的具体动作
- 随机性策略(Stochastic Policy) 则考虑了动作的概率分布,增加了对不同动作的探索。
上述概念可详细参照:【深度学习】强化学习(一)强化学习定义
4、马尔可夫决策过程
为了简化描述,将智能体与环境的交互看作离散的时间序列。智能体从感知到的初始环境 s 0 s_0 s0 开始,然后决定做一个相应的动作 a 0 a_0 a0,环境相应地发生改变到新的状态 s 1 s_1 s1,并反馈给智能体一个即时奖励 r 1 r_1 r1,然后智能体又根据状态 s 1 s_1 s1做一个动作 a 1 a_1 a1,环境相应改变为 s 2 s_2 s2,并反馈奖励 r 2 r_2 r2。这样的交互可以一直进行下去: s 0 , a 0 , s 1 , r 1 , a 1 , … , s t − 1 , r t − 1 , a t − 1 , s t , r t , … , s_0, a_0, s_1, r_1, a_1, \ldots, s_{t-1}, r_{t-1}, a_{t-1}, s_t, r_t, \ldots, s0,a0,s1,r1,a1,…,st−1,rt−1,at−1,st,rt,…,其中 r t = r ( s t − 1 , a t − 1 , s t ) r_t = r(s_{t-1}, a_{t-1}, s_t) rt=r(st−1,at−1,st) 是第 t t t 时刻的即时奖励。这个交互过程可以被视为一个马尔可夫决策过程(Markov Decision Process,MDP)。
5、强化学习的目标函数
强化学习的目标是通过学习一个良好的策略来使智能体在与环境的交互中获得尽可能多的平均回报。强化学习的目标函数 J ( θ ) J(\theta) J(θ) 定义如下: J ( θ ) = E τ ∼ p θ ( τ ) [ G ( τ ) ] = E τ ∼ p θ ( τ ) [ ∑ t = 0 T − 1 γ t r t + 1 ] J(\theta) = \mathbb{E}_{\tau \sim p_{\theta}(\tau)}[G(\tau)] = \mathbb{E}_{\tau \sim p_{\theta}(\tau)}\left[\sum_{t=0}^{T-1} \gamma^t r_{t+1}\right] J(θ)=Eτ∼pθ(τ)[G(τ)]=Eτ∼pθ(τ)[t=0∑T−1γtrt+1]其中, θ \theta θ 表示策略函数的参数, τ \tau τ 表示强化学习的轨迹, γ \gamma γ 是折扣率……
- 这个目标函数表达的是在策略 π θ \pi_{\theta} πθ 下,智能体与环境交互得到的总回报的期望。(这个期望是对所有可能的轨迹进行的)
- 总回报(Total Return)是对一个轨迹的累积奖励,引入折扣率(Discount Factor)来平衡短期和长期回报。
- 总回报:对于一次交互过程的轨迹,总回报是累积奖励的和。
- 折扣回报:引入折扣率,考虑未来奖励的权重。
6、值函数
在强化学习中,为了评估策略 π \pi π 的期望回报,引入了值函数的概念,包括状态值函数和状态-动作值函数。
值函数在强化学习中起到了桥梁的作用,连接了策略、状态和动作的关系。它们是智能体学习和改进的核心工具,使其能够在未知环境中获得最大的累积奖励。
-
状态值函数 V ( s ) V(s) V(s):表示从状态 s s s 开始,执行策略得到的期望总回报。
-
状态-动作值函数 Q ( s , a ) Q(s, a) Q(s,a):表示在状态 s s s 下执行动作 a a a 并执行策略得到的期望总回报。
7、深度强化学习
【深度学习】强化学习(五)深度强化学习
二、基于值函数的学习方法
三、基于策略函数的学习方法
强化学习的目标是通过学习一个策略 π θ ( a ∣ s ) \pi_{\theta}(a|s) πθ(a∣s) 来最大化期望回报。其中, θ \theta θ 表示策略的参数, a a a 表示动作, s s s 表示状态。一种直接的方法是在策略空间中搜索以获取最佳策略,这就是策略搜索(Policy Search)方法。
策略搜索方法是一种优化问题,其核心思想是通过调整策略参数,使得期望累积回报最大化。与基于值函数的方法相比,策略搜索方法无需显式地估计值函数,而是直接优化策略本身。该方法特别适用于处理连续状态和动作空间,因为参数化的策略可以灵活地表示复杂的策略。策略搜索方法可以分为两大类:基于梯度的优化和无梯度优化。
-
基于梯度的优化: 这类方法利用梯度信息来更新策略参数,使得期望回报增加。常见的方法包括策略梯度方法,其中通过计算目标函数关于策略参数的梯度,以梯度上升的方式更新参数。这些方法的优点在于可以灵活处理连续的参数化策略。
- 目标函数 𝒥(𝜃):
目标函数定义为期望回报的加权平均:
J ( θ ) = ∫ p θ ( τ ) G ( τ ) d τ \mathcal{J}(\theta) = \int p_\theta(\tau) G(\tau) d\tau J(θ)=∫pθ(τ)G(τ)dτ
其中 p θ ( τ ) p_\theta(\tau) pθ(τ) 是由策略函数生成轨迹 τ \tau τ 的概率, G ( τ ) G(\tau) G(τ) 是轨迹的总回报。- 目标函数关于策略参数的梯度:
计算目标函数关于策略参数的梯度,应用梯度下降或梯度上升的方法来更新参数:
∇ θ J ( θ ) = ∫ ∇ θ p θ ( τ ) G ( τ ) d τ \nabla_\theta \mathcal{J}(\theta) = \int \nabla_\theta p_\theta(\tau) G(\tau) d\tau ∇θJ(θ)=∫∇θpθ(τ)G(τ)dτ- 使用策略的概率形式:
通过链式法则,将梯度推导为策略概率的形式:
∇ θ J ( θ ) = ∫ p θ ( τ ) ∇ θ log p θ ( τ ) G ( τ ) d τ \nabla_\theta \mathcal{J}(\theta) = \int p_\theta(\tau) \nabla_\theta \log p_\theta(\tau) G(\tau) d\tau ∇θJ(θ)=∫pθ(τ)∇θlogpθ(τ)G(τ)dτ其中, ∇ θ log p θ ( τ ) \nabla_\theta \log p_\theta(\tau) ∇θlogpθ(τ) 是策略概率关于参数的梯度。
- 期望形式:
将上述梯度表示为期望形式:
∇ θ J ( θ ) = E τ ∼ p θ ( τ ) [ ∇ θ log p θ ( τ ) G ( τ ) ] \nabla_\theta \mathcal{J}(\theta) = \mathbb{E}_{\tau \sim p_\theta(\tau)} \left[ \nabla_\theta \log p_\theta(\tau) G(\tau) \right] ∇θJ(θ)=Eτ∼pθ(τ)[∇θlogpθ(τ)G(τ)]
-
无梯度优化: 无梯度的方法通常是通过直接搜索参数空间,而非使用梯度信息。这些方法包括遗传算法、随机搜索等。虽然这类方法不依赖于梯度信息,但在高维参数空间中可能会受到搜索效率的限制。
策略搜索方法具有一定的优越性,尤其在处理复杂任务和大规模状态空间时。此外,参数化的策略允许模型直接学习随机性策略,这在某些情况下是非常有用的。然而,策略搜索方法通常面临着优化问题的挑战,因为策略空间可能是高度非凸和复杂的。