强化学习笔记

本文概述了强化学习中的关键概念,包括状态、动作、策略、状态转移概率、即时奖励、马尔可夫决策过程、目标函数(特别是总回报和折扣回报)、以及价值函数(状态值函数和Q函数)和贝尔曼方程。文章介绍了如何用策略最大化期望回报,以及如何通过状态-动作值函数来评估智能体的决策性能。
摘要由CSDN通过智能技术生成

定义

这些定义均来自于《神经网络与深度学习》这本书

强化学习基本要素

  1. 状态s是对环境的描述,可以是离散的或连续的,其状态空间 S \mathcal{S} S
  2. 动作a是对智能体行为的描述,可以是离散的或连续的,其动作空间 A \mathcal{A} A
  3. 策略 π ( a ∣ s ) \pi(a|s) π(as)使智能体根据环境状态s来决定下一步动作a的函数
  4. 状态转移概率 p ( s ′ ∣ s , a ) p(s'|s,a) p(ss,a)使在智能体根据当前状态s做出一个动作a之后,环境在下一个时刻转变为状态s’的概率
  5. 即时奖励 r ( s , a , s ′ ) r(s,a,s') r(s,a,s)是一个标量函数,即智能体根据当前状态s做出动作a之后,环境会反馈给智能体的一个奖励,这个奖励也经常和下一个时刻的状态s’有关

确定性策略是从状态空间到动作空间的映射函数 π : S → A \pi : \mathcal{S} \rightarrow \mathcal{A} π:SA随机性策略表示在给定环境状态时,智能体选择某个动作的概率分布。
π ( a ∣ s ) ≜ p ( a ∣ s ) ∑ a ∈ A π ( a ∣ s ) = 1 \pi(a|s) \triangleq p(a|s) \\ \sum_{a\in \mathcal{A}} \pi(a|s) = 1 π(as)p(as)aAπ(as)=1

马尔可夫决策过程

给定策略 π ( a ∣ s ) \pi(a|s) π(as),马尔可夫决策过程的一个轨迹
τ = 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,,sT1,aT1,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 ) p(\tau) = p(s_0,a_0,s_1,a_1,\cdots) \\ =p(s_0)\prod_{t=0}^{T-1}\pi(a_t|s_t)p(s_{t+1}|s_t,a_t) p(τ)=p(s0,a0,s1,a1,)=p(s0)t=0T1π(atst)p(st+1st,at)
在这里插入图片描述

目标函数

给定策略 π ( a ∣ s ) \pi(a|s) π(as),智能体和环境一次交互过程的轨迹 τ \tau τ所收到的累积奖励为总回报
G ( τ ) = ∑ t = 0 T − 1 r t + 1 = ∑ t = 0 T − 1 r ( s t , a t , s t + 1 ) G(\tau) = \sum_{t=0}^{T-1} r_{t+1} \\ =\sum_{t=0}^{T-1} r(s_t,a_t,s_{t+1}) G(τ)=t=0T1rt+1=t=0T1r(st,at,st+1)

如果环境中没有终止状态(比如终身学习的机器人),即 T = ∞ T=\infty T=,称为持续式任务,其总汇报可能是无穷大。为了解决这个问题,引入一个折扣率来降低远期回报的权重。折扣回报定义为
G ( τ ) = ∑ t = 0 T − 1 γ t r t + 1 G(\tau)=\sum_{t=0}^{T-1}\gamma^t r_{t+1} G(τ)=t=0T1γtrt+1
其中 γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ[0,1]折扣率。当 γ \gamma γ接近于0时,智能体更在意短期汇报;而当 γ \gamma γ接近于1时,长期回报变得更重要。

强化学习的目标是学习到一个策略 π θ ( a ∣ s ) \pi_\theta(a|s) πθ(as)来最大化期望回报,即希望智能体执行一系列的动作来获得尽可能多的平均回报。强化学习的目标函数为
J ( θ ) = E τ ∼ p θ ( τ ) [ G ( τ ) ] = E τ ∼ p θ ( τ ) [ ∑ t = 0 T − 1 γ t r t + 1 ] \mathcal{J}(\theta)=E_{\tau \sim p_\theta (\tau)}[G(\tau)]=E_{\tau \sim p_\theta (\tau)}[\sum_{t=0}^{T-1}\gamma^t r_{t+1}] J(θ)=Eτpθ(τ)[G(τ)]=Eτpθ(τ)[t=0T1γtrt+1]
其中 θ \theta θ为策略函数的参数。

值函数

状态值函数 V π ( s ) V^\pi (s) Vπ(s)表示从状态s开始,执行策略 π \pi π得到的期望总回报
V π ( s ) = E τ ∼ p ( τ ) [ ∑ t = 0 T − 1 γ t r t + 1 ∣ τ s 0 = s ] V^\pi(s) = E_{\tau \sim p(\tau)}[\sum_{t=0}^{T-1}\gamma^t r_{t+1}|\tau_{s_0}=s] Vπ(s)=Eτp(τ)[t=0T1γtrt+1τs0=s]
其中 τ s 0 \tau_{s_0} τs0表示轨迹 τ \tau τ的起始状态。

初始状态为s并进行动作a,然后执行策略 π \pi π得到的期望总回报,称为状态-动作值函数
Q π ( s , a ) = E s ′ ∼ p ( s ′ ∣ s , a ) [ r ( s , a , s ′ ) + γ V π ( s ′ ) ] Q^{\pi}(s,a)=E_{s'\sim p(s'|s,a)} [r(s,a,s') + \gamma V^\pi(s')] Qπ(s,a)=Esp(ss,a)[r(s,a,s)+γVπ(s)]
状态-动作值函数也经常称为Q函数

公式

贝尔曼方程

根据马尔可夫性质, V π ( s ) V^\pi(s) Vπ(s)可展开得到贝尔曼方程,表示当前状态的值函数可以通过下个状态的值函数来计算
V π ( s ) = E a ∼ π ( a ∣ s ) E s ′ ∼ p ( s ′ ∣ s , a ) [ r ( s , a , s ′ ) + γ V π ( s ′ ) ] V^\pi(s) = E_{a\sim \pi(a|s)}E_{s'\sim p(s'|s,a)}[r(s,a,s')+\gamma V^\pi (s')] Vπ(s)=Eaπ(as)Esp(ss,a)[r(s,a,s)+γVπ(s)]

Q函数

状态值函数 V π ( s ) V^\pi (s) Vπ(s)是Q函数 Q π ( s , a ) Q^\pi (s,a) Qπ(s,a)关于动作a的期望,即
V π ( s ) = E a ∼ π ( a ∣ s ) [ Q π ( s , a ) ] V^\pi (s)=E_{a\sim \pi(a|s)}[Q^\pi (s,a)] Vπ(s)=Eaπ(as)[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) = E_{s'\sim p(s'|s,a)}[r(s,a,s')+\gamma E_{a'\sim \pi (a'|s')}{Q^\pi (s',a')}] Qπ(s,a)=Esp(ss,a)[r(s,a,s)+γEaπ(as)Qπ(s,a)]

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值