深度强化学习(三):Policy Gradients

Policy-based RL是一种不依赖value function,直接优化策略的强化学习方法,尤其适用于连续或高维度动作空间。Policy Gradients通过神经网络近似策略函数π(s),通过梯度上升优化策略,最大化期望回报。在PG中,使用Monte-Carlo方法更新参数,并通过调整动作概率来应对不同奖励。这种方法允许生成随机策略,解决了离散动作空间的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

###一、Policy-based RL概述
####1.Policy-based RL起源
在学习Policy Gradiens(PG)之前,我们将强化学习的方法分成两类进行考虑:
这里写图片描述

  • 一类是value-based方法,需要计算价值函数(value function),根据自己认为的高价值选择行为(action)的方法,如Q Learning, sara, Deep Q Network(DQN)
  • 另一类是policy-based方法,不需要计算value function,直接计算出随机策略的方法,如PG。
  • 图中第三类方法结合了上述两者,此不详述。

深度强化学习DQN中我们提到将深度学习和强化学习结合起来,用network近似了Q函数,从而泛化强化学习方法,使之可以更广泛的应用。DQN属于一种基于value-based方法的泛化,这类方法通常采用一个Function Approximator (FA)来近似value function,然后根据计算出的value function 在动作空间内选择action。他们通常存在以下问题:

  • 这类方法通常会获得一个确定的策略(deterministic policy),但很多问题中的最优策略是随机策略(stochastic policy)。(如石头剪刀布游戏,如果确定的策略对应着总出石头,随机策略对应随机出石头、剪刀或布,那么随机策略更容易获胜)
  • value function 的微小变化对策略的影响很大,可能直接决定了这个action是否被选取
  • **在连续或高维度动作空间不适用。**因为这类算法的本质是连续化了value function,但动作空间仍然是离散的。对于连续动作空间问题,虽然可以将动作空间离散化处理,但离散间距的选取不易确定。过大的离散间距会导致算法取不到最优action,会在这附近徘徊,过小的离散间距会使得action的维度增大,会和高维度动作空间一样导致维度灾难,影响算法的速度。

那么我们很自然的联想到,既然Policy是关于状态量 s 和动作量a 的函数,是否可以直接用FA近似Policy?答案是肯定的,这就是Policy-based RL。

**Policy-based RL克服了上述问题,使得RL可以用于连续或高维度动作空间,且可以生成stochastic policy。**那么我们来看看他是如何做到的吧!

####2.Policy-based RL
这里引用Karpathy大神关于PG的小例子来说明Policy-based RL的工作过程。假设用Policy-based RL来玩 ATARI game (Pong!)游戏:让Policy-based RL操作一个拍子,维持不让小球掉下去的游戏。此处的state是每一帧的像素矩阵,action为(up or down), reward 为+1 (接球成功)和 -1 (没有接住球)。

这里写图片描述

那么可以分析其工作流程如下:
这里写图片描述

构造了一个策略神经网络(Policy Network),网络输入为像素矩阵(state), 输出为an action probability distribution π ( s ) \pi(s) π(s),此处为拍子向上运动(up) 的概率分布。实际的执行过程中,我们可以按照这个 distribution 来选择动作,或者 直接选择概率最大的那个 action。通过更新神经网络参数,增加表现好(取胜)的action出现的可能性,减小表现差(失败)的action出现的可能性。

那么如何判断生成的Policy π ( s ) \pi(s) π(s)是好是坏呢?

我们定义一个reward的期望值 J ( θ ) J(\theta) J(θ), 来表示所得策略的奖励,其中 θ \theta θ为泛化函数FA的参数,不同的 J ( θ ) J(\theta) J(θ)定义如下:
这里写图片描述
这样我们就量化了Policy的测评指标,可以看出Policy-based RL的本质是一个优化问题,需要最大化 J ( θ ) J(\theta) J(θ),但是直接确定 J ( θ ) J(\theta) J(θ) θ \theta θ的关系比较困难,可是我们可以让 J ( θ ) J(\theta) J(θ)朝着增大的方向前进。
有一种优化方法叫梯度下降法(Gradient descent)可以解决该问题,采用梯度下降法(Gradient descent)的Policy-based RL称之为Policy Grandients,下面我们详细叙述他的工作原理。

###二、Policy Gradients
####1、梯度下降法
梯度下降算法背后的原理:目标函数 J ( θ ) J(\theta) J(θ) 关于参数 θ \theta θ 的梯度 ∇ θ J ( θ ) \nabla_\theta J(\theta)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值