王树森《深度强化学习》学习笔记

基本概念

马尔可夫决策过程(MDP)

  • 智能体(agent):强化学习的主体,由谁做动作或决策,谁就是智能体

  • 环境(environment):与智能体交互的对象,可以抽象的理解为交互过程中的规则或机理

  • 状态(state):每个时刻,环境都有一个状态,即对当前时刻环境的概括。状态是做决策的依据

  • 状态空间(state space):所有可能存在状态的集合

  • 动作(action):智能体基于当前状态所做出的决策

  • 动作空间(action space):所有可能动作的集合

  • 奖励(reward):智能体执行一个动作之后,环境返还给智能体的一个数值,由我们自己来定义

  • 状态转移(state transition):智能体从当前 t t t 时刻的状态 s s s 转移 到下一个时刻状态 s ′ s' s 的过程

  • 状态转移概率函数(state transition probability function):通常来说,状态转移是随机的,随机性来自于环境,我们用状态转移函数来描述状态转移
    P t ( s ′ ∣ s , a ) = P ( S t + 1 ′ = s ′ ∣ S t = s , A t = a ) P_t(s'|s,a)=P(S'_{t+1}=s'|S_t=s,A_t=a) Pt(ss,a)=P(St+1=sSt=s,At=a)

策略

  • 策略(policy):根据观测到的状态(state),如何做出决策,即如何从动作空间中选取一个动作,通常分为随机策略和确定策略:
    • 随机策略:把状态记作 s s s ,动作记作 a a a ,随即策略函数 π ( a ∣ s ) = P ( A = a ∣ S = s ) \pi(a|s) =P(A=a|S=s) π(as)=P(A=aS=s) ,策略函数的输入是状态s和动作a,输出是一个0到1之间的概率值,可以告诉我状态空间中每个动作的概率值
    • 确定策略:它把状态s作为输出,直接输出动作 a = μ ( s ) a = \mu(s) a=μ(s), 而不是输出概率值。对于给定的状态s,做出的决策a是确定的,没有随机性
  • 智能体与环境交互:智能体观测到环境的状态 s s s ,做出动作 a a a ,动作会改变环境的状态,环境反馈给智能体奖励 r r r 以及新的状态 s ′ s' s
  • 回合(episodes):智能体从游戏开始到通关或结束的过程

回报与折扣回报

  • 回报(return):当前时刻开始到本回合(episodes)结束的所有奖励的总和,也叫累计奖励。把 t t t 时刻的回报记作随机变量 U t U_t Ut。如果一回合游戏结束,已经观测到所有奖励,那么就把回报记作 u t u_t ut
    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):对未来的奖励做折扣

U t = R t + γ R t + 1 + γ 2 R t + 2 + ⋯ U_t = R_t+\gamma R_{t+1}+\gamma ^{2}R_{t+2} + \cdots Ut=Rt+γRt+1+γ2Rt+2+

  • 回报中的随机性:Ut的随机性来自于 S A t , S t + 1 , A t + 1 , ⋯ S n , A n SA_t,S_{t+1},A_{t+1}, \cdots S_n, A_n SAt,St+1,At+1,Sn,An

价值函数

  • 动作价值函数(action-value function):假设我们已经观测到状态 s t s_t st,做完决策选中动作 a t a_t at,那么 U t U_t Ut的随机性来自于 t + 1 t+1 t+1时刻起的所有状态,我们对 U t U_t Ut关于 S t + 1 , A t + 1 , ⋯ S n , A n S_{t+1},A_{t+1}, \cdots S_n, A_n St+1,At+1,Sn,An求条件期望,得到
    Q π ( s t , a t ) = E S t + 1 , A t + 1 , ⋯   , S n , A n [ U t § t = s t , A t = a t ] Q_{\pi}(s_t,a_t)=E_{S_{t+1},A_{t+1},\cdots ,S_n,A_n}[U_t\S_t=s_t,A_t=a_t] Qπ(st,at)=ESt+1,At+1,,Sn,An[Ut§t=st,At=at]
    Q π ( s t , a t ) Q_{\pi}(s_t,a_t) Qπ(st,at)依赖于 s t 和 a t s_t和a_t stat,而不依赖于t+1时刻之后的状态和动作;同时,由于动作 A t + 1 , A t + 2 , ⋯ A_{t+1},A_{t+2},\cdots At+1,At+2,都依赖于策略函数 π \pi π,因此不同的 π \pi π求出的期望也不同,所以 Q π ( s t , a t ) Q_{\pi}(s_t,a_t) Qπ(st,at)依赖于 π \pi π

    综上所述: Q π ( s t , a t ) Q_{\pi}(s_t,a_t) Qπ(st,at)依赖于 s t , a t , π s_t,a_t,\pi st,at,π

  • 最优动作价值函数(optimal action-value function):消除策略 π \pi π的影响,只评价当时状态和动作的好坏
    Q ⋆ ( s t , a t ) = m a x π   Q π ( s t , a t ) Q_{\star}(s_t,a_t)=\mathop{max} \limits_{\pi}\:Q_{\pi}(s_t,a_t) Q(st,at)=πmaxQπ(st,at)

状态价值函数

  • 状态价值函数(state-value function):只根据当前的状态判断棋局的好坏
    V π ( s t ) = E A t , S t + 1 , A t + 1 , ⋯   , S n , A n [ U t ∣ S t = s t ] V_{\pi}(s_t)=E_{A_t,S_{t+1},A_{t+1},\cdots,S_n,A_n}[U_t|S_t=s_t] Vπ(st)=EAt,St+1,At+1,,Sn,An[UtSt=st]
    也可以如下定义:
    V π ( s t ) = E A t ∼ π ( ⋅ ∣ s t ) [ Q π ( s t , A t ) ] = ∑ a ∈ A Q π ( a ∣ s t ) ⋅ Q π ( s t , a ) V_{\pi}(s_t)=E_{A_t \sim \pi(\centerdot | s_t)}[Q_{\pi}(s_t,A_t)]=\sum _{a \in \mathcal{A}} Q_{\pi}(a|s_t) \centerdot Q_{\pi}(s_t,a) Vπ(st)=EAtπ(st)[Qπ(st,At)]=aAQπ(ast)Qπ(st,a)

你可能感兴趣的:(学习)