深度强化学习(一)(基本概念)

深度强化学习(一)(基础概念)

一.马尔可夫决策过程

Agent:智能体,动作或决策对象

Environment: 与智能体交互的对象,可随时间变化

State:对某一时刻的环境的概括

State space( S \mathcal S S:所有可能存在的状态集合。(可以是有限也可以是无限)

Action:智能体对于当前状态做出的决策。(可以是确定的,也可以是随机的)

Action space( A \mathcal A A:所有可能的动作集合。

RewardAgent执行某一动作之后环境的回报。通常记作 r ( s , a , s ′ ) r(s,a,s') r(s,a,s)(与当前状态,下一刻状态,当前动作都有关),或 r ( s , a ) r(s,a) r(s,a)(与下一刻状态无关)

State transitionAgent从当前时刻 t t t从状态 s s s转移至 s ′ s' s状态的过程。状态转移通常是随机的,我们用状态转移概率函数来描述随机性,在当前状态 s s s,智能体执行动作 a a a,环境的状态变成 s ′ s' s。(第一个随机性
p t ( s ′ ∣ s , a ) = P ( S t + 1 ′ = s ′ ∣ S t = s , A t = a ) p_t(s'|s,a)=\Bbb P(S'_{t+1}=s'|S_t=s,A_t=a) pt(ss,a)=P(St+1=sSt=s,At=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 ) = P ( S t + 1 ∣ S 1 , A 1 , S 2 , A 2 , ⋯   , S t , A t ) \mathbb{P}\left(S_{t+1} \mid S_t, A_t\right)=\mathbb{P}\left(S_{t+1} \mid S_1, A_1, S_2, A_2, \cdots, S_t, A_t\right) P(St+1St,At)=P(St+1S1,A1,S2,A2,,St,At)
状态转移也可以是确定性的。给定当前的状态 s s s,智能体执行动作 a a a,下一刻的状态已经确定。

实际中,通常假设状态转移概率函数是平稳的,即函数不会随着时刻 t t t变化。

二.策略

强化学习的目标就是得到一个策略函数,在每个时刻根据观测到的状态做出决策。 策略可以是确定性的,也可以是随机性的。

随机策略:把状态记作 S S S s s s, 动作记作 A A A a a a, 随机策略函数 π : S × A ↦ [ 0 , 1 ] \pi: \mathcal{S} \times \mathcal{A} \mapsto[0,1] π:S×A[0,1]是一个概率函数(第二个随机):
π ( a ∣ s ) = P ( A = a ∣ S = s ) \pi(a \mid s)=\mathbb{P}(A=a \mid S=s) π(as)=P(A=aS=s)
确定策略:确定策略记作 μ : S ↦ A \mu: \mathcal{S} \mapsto \mathcal{A} μ:SA, 它把状态 s s s 作为输入, 直接输出动作 a = μ ( s ) a=\mu(s) a=μ(s),而不是输出概率值。对于给定的状态 s s s, 做出的决策 a a a 是确定的, 没有随机性。可以把确定策略看做随机策略的一种特例,即概率全部集中在一个动作上。

智能体与环境交互 (agent environment interaction) :是指智能体观测到环境的状态 s s s, 做出动作 a a a, 动作会改变环境的状态, 环境反馈给智能体奖励 r r r 以及新的状态 s ′ s^{\prime} s

三.回报与折扣回报

回报(return) 是从当前时刻开始到本回合结束的所有奖励的总和, 所以回报也叫做累计奖励 (cumulative future reward) 。把 t t t 时刻的回报记作随机变量 U t U_t Ut 。如果一回合游戏结束, 已经观测到所有奖励, 那么就把回报记作 u t u_t ut 。设本回合在时刻 n n n 结束。定义回报为:
U t = R t + R t + 1 + R t + 2 + R t + 3 + ⋯ + R n . U_t=R_t+R_{t+1}+R_{t+2}+R_{t+3}+\cdots+R_n . Ut=Rt+Rt+1+Rt+2+Rt+3++Rn.

折扣回报 (discounted return) 给未来的奖励做折扣,其中 γ ∈ [ 0 , 1 ] \gamma \in [0,1] γ[0,1]叫做折扣率
U t = R t + γ ⋅ R t + 1 + γ 2 ⋅ R t + 2 + γ 3 ⋅ R t + 3 + ⋯ U_t=R_t+\gamma \cdot R_{t+1}+\gamma^2 \cdot R_{t+2}+\gamma^3 \cdot R_{t+3}+\cdots Ut=Rt+γRt+1+γ2Rt+2+γ3Rt+3+

符号约定

A t A_t At: t t t时刻的动作(随机变量) a t a_t at: t t t时刻观察到的动作(具体值)
S t S_t St: t t t时刻的状态(随机变量) s t s_t st: t t t时刻的状态观测值(具体值)
R t R_t Rt: t t t时刻奖励(随机变量) r t r_t rt: t t t时刻奖励观测值(具体值)
U t U_t Ut: t t t时刻的回报(随机变量) u t u_t ut: t t t时刻观测到的回报(具体值)

四.价值函数

4.1 动作价值函数

假设我们已经观测到状态 s t s_t st,而且做完决策选中动作 a t a_t at。我们想知道这一行为能为我们带来多少收益 U t U_t Ut。一个很自然的想法是对 U t U_t Ut求期望
Q π ( s t , a t ) = E S t + 1 , A t + 1 , ⋯   , S n , A n [ U t ∣ S t = s t , A t = a t ] Q_\pi\left(s_t, a_t\right)=\mathbb{E}_{S_{t+1}, A_{t+1}, \cdots, S_n, A_n}\left[U_t \mid S_t=s_t,A_t=a_t\right] Qπ(st,at)=ESt+1,At+1,,Sn,An[UtSt=st,At=at]
不难看出 Q π ( s t , a t ) Q_\pi\left(s_t, a_t\right) Qπ(st,at)取决于三元组 ( π , s t , a t ) (\pi,s_t,a_t) (π,st,at),除了与状态 s t s_t st,动作 a t a_t at有关,还与所采用的策略有关

4.2 最优动作价值函数

为了排除掉策略 π \pi π的影响,只评价当前状态和动作的好坏,由此产生最优动作价值函数(optimalaction-value function)
Q ⋆ ( s t , a t ) = max ⁡ π Q π ( s t , a t ) , ∀ s t ∈ S , a t ∈ A Q_{\star}\left(s_t, a_t\right)=\max _\pi Q_\pi\left(s_t, a_t\right), \quad \forall s_t \in \mathcal{S}, \quad a_t \in \mathcal{A} Q(st,at)=πmaxQπ(st,at),stS,atA
最好的策略函数则为
π ⋆ = argmax ⁡ Q π ( s t , a t ) , ∀ s t ∈ S , a t ∈ A \pi^{\star}=\operatorname{argmax} Q_\pi\left(s_t, a_t\right), \quad \forall s_t \in \mathcal{S}, \quad a_t \in \mathcal{A} π=argmaxQπ(st,at),stS,atA

4.3 状态价值函数

为排除动作 a t a_t at的影响,仅评价当前状态和策略,我们有状态价值函数(state-value function)
V π ( s t ) = E A t ∼ π ( ⋅ ∣ s t ) [ Q π ( s t , A t ) ] = ∑ a ∈ A π ( a ∣ s t ) ⋅ Q π ( s t , a ) = E A t [ Q π ( s t , A t ) ∣ S t = s t ] \begin{aligned} V_\pi\left(s_t\right) & =\mathbb{E}_{A_t \sim \pi\left(\cdot \mid s_t\right)}\left[Q_\pi\left(s_t, A_t\right)\right] \\ & =\sum_{a \in \mathcal{A}} \pi\left(a \mid s_t\right) \cdot Q_\pi\left(s_t, a\right) \\ & = \Bbb E_{A_{t}}\left[ Q_{\pi}(s_{t},A_{t})|S_t=s_{t}\right] \end{aligned} Vπ(st)=EAtπ(st)[Qπ(st,At)]=aAπ(ast)Qπ(st,a)=EAt[Qπ(st,At)St=st]
或者也可写成
V π ( s t ) = E A t , S t + 1 , A t + 1 , ⋯   , S n , A n [ U t ∣ S t = s t ] V_\pi\left(s_t\right)=\mathbb{E}_{A_t, S_{t+1}, A_{t+1}, \cdots, S_n, A_n}\left[U_t \mid S_t=s_t\right] Vπ(st)=EAt,St+1,At+1,,Sn,An[UtSt=st]

  • 16
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值