目录
强化学习中reinforce
强化学习中的"reinforce"算法是一种经典的策略梯度算法,用于解决马尔可夫决策过程(Markov Decision Process,MDP)问题。在强化学习中,MDP是一种数学框架,用于描述一个智能体与环境进行交互的过程。
"Reinforce"算法的核心思想是使用蒙特卡洛采样来估计策略梯度,并根据采样得到的回报来更新策略参数,使得预期的回报最大化。
"Reinforce"算法的一个重要特点是它是一个无模型算法,因为它不需要对环境的转移概率建模。而是通过与环境交互获取采样的回报来进行更新。然而,由于使用蒙特卡洛采样估计梯度,它可能在高方差的情况下收敛较慢。为了改进其性能,可以采用一些改进的技术,如基线调整、重要性采样等。
需要指出的是,虽然"Reinforce"是一个基本的强化学习算法,但在实践中,可能会采用更复杂的策略梯度算法,如Actor-Critic、Proximal Policy Optimization(PPO)等,以提高算法的效率和稳定性
蒙特卡罗采样MC(Monte Carlo)
一种基于随机抽样的方法,用于估计函数的值或期望。
例子1-求圆形的面积
蒙特卡罗采样是一种基于随机抽样的方法,用于估计函数值或期望。这种方法得名于蒙特卡罗赌场,因为它涉及到使用随机性来获得结果,而不是依赖于确定性计算。
举一个简单的例子来说明蒙特卡罗采样:
假设你想计算圆的面积,但你不知道圆的方程。你可以使用蒙特卡罗采样来估计圆的面积。
- 假设有一个正方形,边长为2个单位,它恰好包围住了一个圆,该圆的半径为1个单位,因此圆的直径也是2个单位。
- 在这个正方形内部随机均匀采样一个大量的点。
- 统计在这些随机采样的点中有多少点落在了圆内(落在圆的直径范围内),记为"N"。
- 计算落在圆内的点占总采样点数的比例,即"N"除以总采样点数。
- 用这个比例乘以正方形的面积(4个单位平方),得到圆的面积的估计值。
例子2-强化学习--估计策略的价值函数或策略梯度。
MC蒙特卡罗采样的基本思想是通过对随机样本进行平均来估计所需的值。在强化学习中,智能体与环境交互产生的轨迹(trajectory)通常用来进行采样。
步骤:
- 初始化:根据当前的策略或价值函数的初始估计,开始采样之前的状态。
- 采样:从起始状态开始,使用当前策略执行动作,与环境交互,直到达到终止状态,形成一条完整的轨迹(episode)。
- 更新:根据采样得到的轨迹,计算累积回报,将其用于更新状态值函数、动作值函数或策略的参数。
- 重复:重复上述步骤多次,以获得对目标函数更准确的估计。
价值评估
1)在策略评估中,MC蒙特卡罗采样用于估计给定策略的状态值函数V(或动作值函数Q)。智能体与环境进行多次交互,记录每个状态的回报,并对所有回报进行平均,从而得到状态值函数的估计值。
假设在第 t 条轨迹中,智能体在状态 s_t 处获得回报 R_t,则状态值函数 V(s) 的估计公式为:
V(s) ≈ (1 / N) * Σ(R_t)
其中,N 是采样的轨迹数,Σ 表示对所有 t 的轨迹进行求和。V(s) 的估计值是通过将所有采样轨迹中 s 状态处的回报 R_t 进行平均得到的。
策略梯度估计
2)在策略梯度方法中,MC蒙特卡罗采样用于估计策略梯度。智能体通过与环境交互生成轨迹,梯度的估计值= 每个状态-动作对的回报计算相应动作的概率*回报的对数。这样的估计可以帮助智能体更新策略参数,使得策略在预期回报方面有所改进。
策略 π(a|s;θ),其中 θ 是策略的参数;
对于状态-动作对 (s, a) 的策略梯度估计公式为:
∇θ π(a|s;θ) ≈ (1 / N) * Σ(G_t * ∇θ log π(a|s;θ))
N 是采样的轨迹数,Σ 表示对所有 t 的轨迹进行求和,G_t 是从时间步 t 开始的回报序列,计算方法可以是累积回报或使用折扣因子来加权回报。∇θ log π(a|s;θ) 是策略对参数 θ 的梯度。