\quad
\quad
最近在读《动手学强化学习》这本书,索性结合之前看的一些书写一写笔记。佛系更新~
\quad
\quad
人生中充满选择,每次选择就是一次决策,我们正是从一次次的决策中,把自己带领到人生的下一段旅程中。
在机器学习领域,有一类重要的任务和人生的选择很相似,即序贯决策任务。决策和预测任务不同,决策往往会带来“后果”,因此决策者需要为未来负责,在未来的时间点做出进一步的决策。实现序贯决策的机器学习方法就是强化学习。而预测仅仅产生一个针对输入数据的信号,并期望它和未来可观测到的信号一致,这不会使未来情况发生任何改变。
那么,什么是强化学习呢?广泛地讲,强化学习是机器通过与环境交互来实现目标地一种计算方法。机器和环境地一轮交互是指,机器在环境的一个状态下做一个动作决策,把这个动作作用到环境当中,这个环境发生相应的改变并且将相应的奖励反馈和下一轮状态传回机器。这种交互是迭代进行的,机器的目标是最大化在多轮交互过程中获得的累积奖励的期望。强化学习中用智能体(agent)来表示做决策的机器。相比于监督学习中的“模型”,强化学习中的智能体强调机器不但可以感知周围的环境信息,还可以通过做决策来直接改变这个环境。
那为什么要学强化学习呢?监督学习一般需要一定数量的带标签的数据。在很多的应用场景中,通过人工标注的方式来给数据打标签的方式往往行不通。比如我们通过监督学习来训练一个模型可以自动下围棋,就需要将当前棋盘的状态作为输入数据,其对应的最佳落子位置(动作)作为标签。训练一个好的模型就需要收集大量的不同棋盘状态以及对应动作。这种做法实践起来比较困难,一是对于每一种棋盘状态,即使是专家也很难给出正确的动作,二是获取大量数据的成本往往比较高。对于下棋这类任务,虽然我们很难知道每一步的正确动作,但是其最后的结果(即赢输)却很容易判断。因此,如果可以通过大量的模拟数据,通过最后的结果(奖励)来倒推每一步棋的好坏,从而学习出最佳的下棋策略,这就是强化学习的思想。
和深度学习类似,强化学习中的关键问题也是贡献度分配问题,每一个动作并不能直接得到监督信息,需要通过整个模型的最终监督信息(奖励)得到,并且有一定的延时性。强化学习也是机器学习中的一个重要分支。强化学习和监督学习的不同在于,强化学习问题不需要给出正确策略作为监督信息,只需要给出策略的(延迟)回报,并通过调整策略来取得最大化的期望回报。
在强化学习中,有两个可以进行交互的对象:智能体和环境。
智能体和环境之间的交互方式如下图。在每一轮交互中,智能体感知到环境目前所处的状态,经过自身的计算给出本轮的动作,将其作用到环境中;环境得到只能话题的动作后,产生相应的即时奖励信号并发生相应的状态转移。智能体则在下一轮交互中感知到新的环境状态,依此类推。
在这里,智能体有三中关键要素,即感知、决策和奖励。
从以上分析可以看出,面向决策任务的强化学习和面向预测任务的监督学习在形式上是有很大区别的。决策任务往往涉及多轮交互,而预测任务总是单轮的独立任务。如果决策也是单轮的,那么强化学习可以转化为“潘别最优动作”的预测任务。其次,因为决策是多轮的,智能体需要在每轮做决策时考虑未来环境相应的改变,当前轮带来的最大奖励反馈的动作,在长期来看就不一定是最优的了。
强化学习的基本要素包括:
智能体的策略(Policy)就是智能体如何根据环境状态( s s s)来决定下一步的动作( a a a),通常可以分为确定性策略(Deterministic Policy)和随机性策略(Stochastic Policy)两种。
π ( a ∣ s ) ≜ p ( a ∣ s ) ∑ a ∈ A π ( a ∣ s ) = 1 \begin{aligned} \pi(a \mid s) & \triangleq p(a \mid s) \\ \sum_{a \in \mathcal{A}} \pi(a \mid s) &=1 \end{aligned} π(a∣s)a∈A∑π(a∣s)≜p(a∣s)=1
通常情况下,强化学习一般使用随机性策略。随机性策略可以有很多优点:
从上面的分析中,我们可以知道在每一轮,智能体决策的动作作用到环境中,使得环境发生相应的状态改变,而智能体接下来则需要在新的状态下进一步给出决策。这里,与面向决策任务的智能体进行交互的环境是一个动态的随机过程,其未来状态的分布由当前状态和智能体的动作来共同决定,且每一轮状态转移都伴随这两方面的随机性:
强化学习广泛应用于很多领域,比如电子游戏、棋类游戏、迷宫类游戏、控制系统、推荐等。这里举两个经典的例子:
为简单起见,我们将智能体与环境的交互看作离散的时间序列。智能体从感知到的初始环境 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}, \cdots, s_{t-1}, r_{t-1}, a_{t-1}, s_{t}, r_{t}, \cdots, 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)。马尔可夫过程是一组具有马尔可夫性质的随机变量序列 s 0 , s 1 , ⋯ , s t ∈ S s_0, s_1, \cdots,s_t \in \mathcal{S} s0,s1,⋯,st∈S,其中下一个时刻的状态 s t + 1 s_{t+1} st+1只取决于当前状态 s t s_t st,
p ( s t + 1 ∣ s t , ⋯ , s 0 ) = p ( s t + 1 ∣ s t ) p\left(s_{t+1} \mid s_{t}, \cdots, s_{0}\right)=p\left(s_{t+1} \mid s_{t}\right) p(st+1∣st,⋯,s0)=p(st+1∣st)
其中 p ( s t + 1 ∣ s t ) p(s_{t+1}|s_t) p(st+1∣st)称为状态转移概率,并且 ∑ S t + 1 ∈ S p ( s t + 1 ∣ s t ) = 1 \sum_{S_{t+1} \in \mathcal{S}} p\left(s_{t+1} \mid s_{t}\right)=1 ∑St+1∈Sp(st+1∣st)=1。
马尔可夫决策过程在马尔可夫过程中加入一个额外的变量:动作 a a a,下一个时刻的状态 s t + 1 s_{t+1} st+1不但和当前时刻的状态 s t s_t st相关,而且和动作 a t a_t at相关,
p ( s t + 1 ∣ s t , a t , ⋯ , s 0 , a 0 ) = p ( s t + 1 ∣ s t , a t ) p\left(s_{t+1} \mid s_{t}, a_{t}, \cdots, s_{0}, a_{0}\right)=p\left(s_{t+1} \mid s_{t}, a_{t}\right) p(st+1∣st,at,⋯,s0,a0)=p(st+1∣st,at)
其中 p ( s t + 1 ∣ s t , a t ) p\left(s_{t+1} \mid s_{t}, a_{t}\right) p(st+1∣st,at)为状态转移概率。下图给出了马尔可夫决策过程的图模型表示。
给定策略 π ( a ∣ s ) \pi(a|s) π(a∣s),马尔可夫决策过程的一个轨迹(Trajectory)
τ = s 0 , a 0 , s 1 , r 1 , a 1 , ⋯ , s T − 1 , a T − 1 , s T , r T \tau=s_{0}, a_{0}, s_{1}, r_{1}, a_{1}, \cdots, s_{T-1}, a_{T-1}, s_{T}, r_{T} τ=s0,a0,s1,r1,a1,⋯,sT−1,aT−1,sT,rT
的概率为
p ( τ ) = p ( s 0 , a 0 , s 1 , a 1 , ⋯ ) = p ( s 0 ) ∏ t = 0 T − 1 π ( a t ∣ s t ) p ( s t + 1 ∣ s t , a t ) \begin{aligned} p(\tau) =p\left(s_{0}, a_{0}, s_{1}, a_{1}, \cdots\right) =p\left(s_{0}\right) \prod_{t=0}^{T-1} \pi\left(a_{t} \mid s_{t}\right) p\left(s_{t+1} \mid s_{t}, a_{t}\right) \end{aligned} p(τ)=p(s0,a0,s1,a1,⋯)=p(s0)t=0∏T−1π(at∣st)p(st+1∣st,at)
在上述动态环境下,智能体和环境每次进行交互时,环境会产生相应的奖励信号。这个奖励信号一般是诠释当前状态或动作的好坏的及时反馈信号,好比在玩游戏的过程中某一个操作获得的分数值。整个交互过程的每一轮获得的奖励信号可以进行累加,形成智能体的整体回报,好比一盘游戏最后的分数值。根据环境的动态性我们可以知道,即使环境和智能体策略不变,智能体的初始状态也不变,智能体和环境交互产生的结果也很可能是不同的,对应获得的回报也会不同。因此,在强化学习中,我们关注回报的期望。并将其定义为价值,这就是强化学习中智能体学习的优化目标。价值的计算有些复杂,因为需要对交互过程中每一轮智能体采取动作的概率分布和环境相应得状态转移的概率分布做积分运算。
给定策略 π ( a ∣ s ) \pi(a|s) π(a∣s),智能体和环境一次交互过程的轨迹 τ \tau τ所收到的累积奖励为总回报(Return)。
G ( τ ) = ∑ t = 0 T − 1 r t + 1 = ∑ t = 0 T − 1 r ( s t , a t , s t + 1 ) \begin{aligned} G(\tau) &=\sum_{t=0}^{T-1} r_{t+1} =\sum_{t=0}^{T-1} r\left(s_{t}, a_{t}, s_{t+1}\right) \end{aligned} G(τ)=t=0∑T−1rt+1=t=0∑T−1r(st,at,st+1)
假设环境中有一个或多个特殊的终止状态(Terminal State),当到达终止状态时,一个智能体和环境的交互过程就结束了。这一轮交互的过程称为一个回合(Episode)。一般的强化学习任务(比如下棋、游戏)都属于这种回合式任务(Episodic Task)。
如果环境中没有终止状态(比如终身学习的机器人),即 T = ∞ T = \infty T=∞,称为持续式任务(Continuing Task),其总回报也可能是无穷大。为了解决这个问题,我们可以引入一个衰减因子来降低远期回报的权重。折扣回报(Discounted Return)定义为
G ( τ ) = ∑ t = 0 T − 1 γ t r t + 1 G(\tau)=\sum_{t=0}^{T-1} \gamma^{t} r_{t+1} G(τ)=t=0∑T−1γtrt+1
其中 γ ∈ [ 0 , 1 ] \gamma \in [0, 1] γ∈[0,1]是衰减因子。当 γ \gamma γ接近于0时,智能体更在意短期回报;而当 γ \gamma γ接近于1时,长期回报变得更重要。
由于策略 π \pi π是随机的,因此累计回报也是随机的。为了评价状态 s 1 s_1 s1的价值,我们需要去定义一个确定量来描述状态 s 1 s_1 s1的价值,很自然的想法是利用累计回报来衡量状态的价值,但累计回报也是个随机变量,不是一个确定值,因此无法描述。但其期望是一个确定值,可以作为状态值函数的定义。
因为策略和状态转移都有一定的随机性,所以每次试验得到的轨迹是一个随机序列,其收获的总回报也不一样。强化学习的目标是学习到一个策略 π θ ( a ∣ s ) \pi_{\theta}(a|s) πθ(a∣s)来最大化期望回报(Expected Return),即希望智能体执行一系列的动作来获得尽可能多的平均回报。
强化学习的目标函数为
J ( θ ) = E τ ∼ p θ ( τ ) [ G ( τ ) ] = E τ ∼ p θ ( τ ) [ ∑ t = 0 T − 1 γ t r t + 1 ] \mathcal{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 θ为策略函数的参数。
为了评估策略 π \pi π的期望回报,我们定义两个值函数:状态值函数和状态-动作值函数。
策略 π \pi π的期望回报可以分解为
E τ ∼ p ( τ ) [ G ( τ ) ] = E s ∼ p ( s 0 ) [ E τ ∼ p ( τ ) [ ∑ t = 0 T − 1 γ t r t + 1 ∣ τ s 0 = s ] ] = E s ∼ p ( s 0 ) [ V π ( s ) ] \begin{aligned} \mathbb{E}_{\tau \sim p(\tau)}[G(\tau)] &=\mathbb{E}_{s \sim p\left(s_{0}\right)}\left[\mathbb{E}_{\tau \sim p(\tau)}\left[\sum_{t=0}^{T-1} \gamma^{t} r_{t+1} \mid \tau_{s_{0}}=s\right]\right] \\ &=\mathbb{E}_{s \sim p\left(s_{0}\right)}\left[V^{\pi}(s)\right] \end{aligned} Eτ∼p(τ)[G(τ)]=Es∼p(s0)[Eτ∼p(τ)[t=0∑T−1γtrt+1∣τs0=s]]=Es∼p(s0)[Vπ(s)]
其中 V π ( s ) V^{\pi}(s) Vπ(s)称为状态值函数(State Value Function),表示从状态 s s s开始,执行策略 π \pi π得到的期望总回报
V π ( s ) = E τ ∼ p ( τ ) [ ∑ t = 0 T − 1 γ t r t + 1 ∣ τ s 0 = s ] V^{\pi}(s)=\mathbb{E}_{\tau \sim p(\tau)}\left[\sum_{t=0}^{T-1} \gamma^{t} r_{t+1} \mid \tau_{s_{0}}=s\right] Vπ(s)=Eτ∼p(τ)[t=0∑T−1γtrt+1∣τs0=s]
其中 τ s 0 \tau_{s_0} τs0表示轨迹 τ \tau τ的起始状态。
为了方便起见,我们用 τ 0 : T \tau_0:T τ0:T来表示轨迹 s 0 , a 0 , s 1 , ⋯ , s T s_0, a_0, s_1, \cdots ,s_T s0,a0,s1,⋯,sT,用 τ 1 : T \tau_1:T τ1:T来表示轨迹 s 1 , a 1 , ⋯ , s T s_1, a_1, \cdots , s_T s1,a1,⋯,sT,因此有 τ 0 ∶ T = s 0 , a 0 , τ 1 ∶ T \tau{0∶T} = s_0, a_0, \tau_{1∶T} τ0∶T=s0,a0,τ1∶T。
V π ( s ) = E τ 0 : T ∼ p ( τ ) [ r 1 + γ ∑ t = 1 T − 1 γ t − 1 r t + 1 ∣ τ s 0 = s ] = E a ∼ π ( a ∣ s ) E s ′ ∼ p ( s ′ ∣ s , a ) E τ 1 : T ∼ p ( τ ) [ r ( s , a , s ′ ) + γ ∑ t = 1 T − 1 γ t − 1 r t + 1 ∣ τ s 1 = s ′ ] = E a ∼ π ( a ∣ s ) E s ′ ∼ p ( s ′ ∣ s , a ) [ r ( s , a , s ′ ) + γ E τ 1 : T ∼ p ( τ ) [ ∑ t = 1 T − 1 γ t − 1 r t + 1 ∣ τ s 1 = s ′ ] ] = E a ∼ π ( a ∣ s ) E s ′ ∼ p ( s ′ ∣ s , a ) [ r ( s , a , s ′ ) + γ V π ( s ′ ) ] \begin{aligned} V^{\pi}(s)&=\mathbb{E}_{\tau_{0: T} \sim p(\tau)}\left[r_{1}+\gamma \sum_{t=1}^{T-1} \gamma^{t-1} r_{t+1} \mid \tau_{s_{0}}=s\right] \\ &=\mathbb{E}_{a \sim \pi(a \mid s)} \mathbb{E}_{s^{\prime} \sim p\left(s^{\prime} \mid s, a\right)} \mathbb{E}_{\tau_{1: T} \sim p(\tau)}\left[r\left(s, a, s^{\prime}\right)+\gamma \sum_{t=1}^{T-1} \gamma^{t-1} r_{t+1} \mid \tau_{s_{1}}=s^{\prime}\right] \\ &=\mathbb{E}_{a \sim \pi(a \mid s)} \mathbb{E}_{s^{\prime} \sim p\left(s^{\prime} \mid s, a\right)}\left[r\left(s, a, s^{\prime}\right)+\gamma \mathbb{E}_{\tau_{1: T} \sim p(\tau)}\left[\sum_{t=1}^{T-1} \gamma^{t-1} r_{t+1} \mid \tau_{s_{1}}=s^{\prime}\right]\right] \\ &=\mathbb{E}_{a \sim \pi(a \mid s)} \mathbb{E}_{s^{\prime} \sim p\left(s^{\prime} \mid s, a\right)}\left[r\left(s, a, s^{\prime}\right)+\gamma V^{\pi}\left(s^{\prime}\right)\right] \end{aligned} Vπ(s)=Eτ0:T∼p(τ)[r1+γt=1∑T−1γt−1rt+1∣τs0=s]=Ea∼π(a∣s)Es′∼p(s′∣s,a)Eτ1:T∼p(τ)[r(s,a,s′)+γt=1∑T−1γt−1rt+1∣τs1=s′]=Ea∼π(a∣s)Es′∼p(s′∣s,a)[r(s,a,s′)+γEτ1:T∼p(τ)[t=1∑T−1γt−1rt+1∣τs1=s′]]=Ea∼π(a∣s)Es′∼p(s′∣s,a)[r(s,a,s′)+γVπ(s′)]
这个公式也称为贝尔曼方程(Bellman Equation),表示当前状态的值函数可以通过下个状态的值函数来计算。
如果给定策略 π ( a ∣ s ) \pi(a|s) π(a∣s),状态转移概率 p ( s ′ ∣ s , a ) p(s′|s, a) p(s′∣s,a)和奖励 r ( s , a , a ′ ) r(s, a, a′) r(s,a,a′),我们就可以通过迭代的方式来计算 V π ( s ) V^{\pi}(s) Vπ(s)。由于存在折扣率,迭代一定步数后,每个状态的值函数就会固定不变。
贝尔曼方程公式中的第二个期望是指初始状态为(s)并进行动作 a a a,然后执行策略 π \pi π得到的期望总回报,称为状态-动作值函数(State-Action Value Function):
Q π ( s , a ) = E S ′ ∼ p ( s ′ ∣ s , a ) [ r ( s , a , s ′ ) + γ V π ( s ′ ) ] Q^{\pi}(s, a)=\mathbb{E}_{S^{\prime} \sim p\left(s^{\prime} \mid s, a\right)}\left[r\left(s, a, s^{\prime}\right)+\gamma V^{\pi}\left(s^{\prime}\right)\right] Qπ(s,a)=ES′∼p(s′∣s,a)[r(s,a,s′)+γVπ(s′)]
状态-动作值函数也经常称为Q函数(Q-Function)。
状态值函数 V π ( s ) V^{\pi}(s) Vπ(s)是Q函数 Q π ( s , a ) Q^{\pi}(s, a) Qπ(s,a)关于动作 a a a的期望,即
V π ( s ) = E a ∼ π ( a ∣ s ) [ Q π ( s , a ) ] V^{\pi}(s)=\mathbb{E}_{a \sim \pi(a \mid s)}\left[Q^{\pi}(s, a)\right] Vπ(s)=Ea∼π(a∣s)[Qπ(s,a)]
结合上面两个式子,Q函数可以写为
Q π ( s , a ) = E s ′ ∼ p ( s ′ ∣ s , a ) [ r ( s , a , s ′ ) + γ E a ′ ∼ π ( a ′ ∣ s ′ ) [ Q π ( s ′ , a ′ ) ] ] Q^{\pi}(s, a)=\mathbb{E}_{s^{\prime} \sim p\left(s^{\prime} \mid s, a\right)}\left[r\left(s, a, s^{\prime}\right)+\gamma \mathbb{E}_{a^{\prime} \sim \pi\left(a^{\prime} \mid s^{\prime}\right)}\left[Q^{\pi}\left(s^{\prime}, a^{\prime}\right)\right]\right] Qπ(s,a)=Es′∼p(s′∣s,a)[r(s,a,s′)+γEa′∼π(a′∣s′)[Qπ(s′,a′)]]
这是关于Q函数的贝尔曼方程。
值函数的作用:值函数可以看作对策略 π \pi π的评估,因此我们就可以根据值函数来优化策略。假设在状态 s s s,有一个动作 a ∗ a^∗ a∗使得 Q π ( s , a ∗ ) > V π ( s ) Q^{\pi}(s, a∗) > V^{\pi}(s) Qπ(s,a∗)>Vπ(s),说明执行动作 a ∗ a^∗ a∗的回报比当前的策略 π ( a ∣ s ) \pi(a|s) π(a∣s)要高,我们就可以调整参数使得策略中动作 a ∗ a^∗ a∗的概率 p ( a ∗ ∣ s ) p(a^∗ |s) p(a∗∣s)增加。
贪婪策略是一个确定性的策略,即只有在使得动作值函数 q ∗ ( s , a ) q^*(s,a) q∗(s,a)最大的动作处取概率1,选其他动作的概率为0。
π ( a ∣ s ) = { 1 i f a = arg max a ∈ A q ∗ ( s , a ) 0 otherwise \pi(a|s) = \left\{ \begin{array} {ll} {1}&{if\quad a = \arg \max\limits_{a\in A}q*(s,a)}\\ {0} & {\text{otherwise} } \end{array} \right. π(a∣s)={10ifa=arga∈Amaxq∗(s,a)otherwise
ϵ \epsilon ϵ-greedy策略
π ( a ∣ s ) = { 1 − ϵ + ϵ ∣ A ( s ) ∣ i f a = arg max a Q ( s , a ) ϵ ∣ A ( s ) ∣ i f a ≠ arg max a Q ( s , a ) \pi(a|s) = \left\{ \begin{array} {ll} {1-\epsilon+\dfrac{\epsilon}{|A(s)|}}&{if\quad a = \arg \max_aQ(s,a)}\\ {\dfrac{\epsilon}{|A(s)|}} & {if \quad a \not=\arg\max_aQ(s,a) } \end{array} \right. π(a∣s)=⎩⎪⎨⎪⎧1−ϵ+∣A(s)∣ϵ∣A(s)∣ϵifa=argmaxaQ(s,a)ifa=argmaxaQ(s,a)
ϵ \epsilon ϵ-greedy策略是强化学习最基本最常用的随机策略。其含义是选取使得动作值函数最大的动作的概率为 1 − ϵ + ϵ ∣ A ( s ) ∣ 1-\epsilon+\dfrac{\epsilon}{|A(s)|} 1−ϵ+∣A(s)∣ϵ,而其他动作的概率为等概率,都为 ϵ ∣ A ( s ) ∣ \dfrac{\epsilon}{|A(s)|} ∣A(s)∣ϵ。 ϵ \epsilon ϵ-greedy策略平衡了利用和探索,其中选取动作值函数最大的部分为利用,其他非最优动作仍有概率为探索部分。
一般高斯策略可以写成 π θ = μ θ + ε , ε ∼ N ( 0 , σ 2 ) \pi_{\theta}=\mu_{\theta}+\varepsilon, \varepsilon\sim N(0,\sigma^2) πθ=μθ+ε,ε∼N(0,σ2)。其中 μ θ \mu_{\theta} μθ为确定性部分, ε \varepsilon ε为零均值的高斯随机噪声。高斯策略也平衡了利用和探索,其中利用由确定性部分完成,探索由 ε \varepsilon ε完成。高斯策略在连续系统的强化学习中应用广泛。
对于动作空间是离散的或者动作空间并不大的情况,可采用玻尔兹曼分布作为随即策略,即:
π ( a ∣ s , θ ) = exp ( Q ( s , a ; θ ) ) Σ b exp ( Q ( s , b ; θ ) ) \pi(a|s,\theta) = \dfrac{\exp(Q(s,a;\theta))}{\Sigma_b \exp(Q(s,b;\theta))} π(a∣s,θ)=Σbexp(Q(s,b;θ))exp(Q(s,a;θ))
其中 Q ( s , a , θ ) Q(s,a,\theta) Q(s,a,θ)为动作值函数。该策略的含义是,动作值函数大的动作被选中的概率大,动作值函数小的动作被选中的概率小。
对于动作空间是离散的或者动作空间并不大的情况,可采用玻尔兹曼分布作为随即策略,即:
π ( a ∣ s , θ ) = exp ( Q ( s , a ; θ ) ) Σ b exp ( Q ( s , b ; θ ) ) \pi(a|s,\theta) = \dfrac{\exp(Q(s,a;\theta))}{\Sigma_b \exp(Q(s,b;\theta))} π(a∣s,θ)=Σbexp(Q(s,b;θ))exp(Q(s,a;θ))
其中 Q ( s , a , θ ) Q(s,a,\theta) Q(s,a,θ)为动作值函数。该策略的含义是,动作值函数大的动作被选中的概率大,动作值函数小的动作被选中的概率小。