策略梯度方法是一种强化学习算法,它通过调整策略的参数来直接优化策略——代理用于选择动作的策略——以最大化预期奖励。与基于价值的方法(首先估计状态或动作的价值,然后导出策略)不同,策略梯度通过梯度上升来调整策略本身。策略通常表示为参数化函数(例如,神经网络),该函数输出在给定状态下采取动作的概率。例如,在玩游戏代理中,策略可能会根据当前屏幕像素来决定向左或向右移动的概率。
核心思想围绕计算预期奖励相对于策略参数的梯度。 此梯度告诉算法如何调整参数以增加高奖励动作的可能性。 在训练期间,代理与环境交互,收集轨迹(状态、动作和奖励的序列),并使用这些轨迹来估计梯度。 例如,如果特定状态下的动作导致高奖励,则策略会更新,使该动作在类似的未来状态中更可能发生。 此过程通常依赖于“策略梯度定理”,该定理提供了一个数学框架来有效地计算梯度,即使环境的动态是未知的。 蒙特卡罗采样或演员-评论家方法等技术通常用于减少梯度估计中的方差,从而使训练更稳定。
一个众所周知的策略梯度方法的例子是 REINFORCE,这是一种简单的算法,它将整个 episode 的奖励乘以所采取动作的对数概率的梯度。 更高级的变体,如近端策略优化 (PPO),引入约束或替代目标,以防止可能破坏训练的策略的大规模更新。 策略梯度在具有连续动作空间的环境(例如,机器人控制,其中动作可能表示电机扭矩)中特别有用,因为它们可以直接对随机策略进行建模。 但是,它们通常需要仔细调整超参数,例如学习率和折扣因子,并且可能难以处理奖励信号中的高方差。 尽管存在这些挑战,但它们的灵活性和直接优化方法使它们成为复杂强化学习任务中的热门选择。