强化学习笔记_1_基本概念_Deep Reinforcement Learning

前段时间学习了强化学习和深度强化学习相关的内容,整理了一些笔记,未来几天会陆续将这些笔记整理上传。
主要学习了ShuSen Wang的视频课程,原视频发布在YouTube上:https://youtu.be/vmkRMvhCW5c
在GitHub上也有对应的课程资料:课程资料:https://github.com/wangshusen/DRL
如果YouTube不方便的话,在B站也有朋友进行了视频搬移:https://www.bilibili.com/video/BV12o4y197US?p=1&vd_source=8d653ed89bcdb0eb6cd2a2b188704789

1.概率论相关知识

  • 随机变量 Random Variable

    随机变量 X X X,一个随机事件的结果;

    X X X的观测值 x x x,不具有随机性。

  • 概率密度函数,Probability Density Function(PDF)

    概率密度函数 p ( x ) p(x) p(x),随机变量 X X X的定义域为 X \mathcal{X} X

    • 概率积分或加和为1
      ∫ X p ( x ) d x = 1 ∑ x ∈ X p ( x ) = 1 \begin{aligned} \int_\mathcal{X}p(x)dx&=1 \\\sum_{x\in\mathcal{X}}p(x)&=1 \end{aligned} Xp(x)dxxXp(x)=1=1

    • 期望,Expectation
      E [ f ( X ) ] = ∫ X p ( x ) f ( x ) d x E [ f ( X ) ] = ∑ x ∈ X p ( x ) f ( x ) \begin{aligned} E[f(X)]&=\int_\mathcal{X}p(x)f(x)dx \\E[f(X)]&=\sum_{x\in\mathcal{X}}p(x)f(x) \end{aligned} E[f(X)]E[f(X)]=Xp(x)f(x)dx=xXp(x)f(x)

    • 随机抽样,Random Sampling

2.专业术语,terminology

  • Agent,智能体

  • State,s

  • Action,a

  • Policy, π \pi π,概率密度函数
    π ( a ∣ s ) = P ( A = a ∣ S = s ) \pi(a|s)=P(A=a|S=s) π(as)=P(A=aS=s)

  • Reward,r

  • State transition,状态转移

    在action下,状态从old state转移到new state;状态转移一般是随机的。
    p ( s ′ ∣ s , a ) = P ( S ′ = s ′ ∣ S = s , A = a ) p(s'|s,a)=P(S'=s'|S=s,A=a) p(ss,a)=P(S=sS=s,A=a)

  • agent environment interactoin,交互

    • 通过Environment,观测确定状态 s t s_t st
    • Agent得到状态后,给出动作 a t a_t at
    • Environment根据动作,更新状态为 s t + 1 s_{t+1} st+1,并给出Agent的奖励 r t r_t rt

    最终生成轨迹trajectory:
    s 1 , a 1 , r 1 , s 2 , a 2 , r 2 , ⋅ ⋅ ⋅ , s T , a T , r T s_1,a_1,r_1,s_2,a_2,r_2,···,s_T,a_T,r_T s1,a1,r1,s2,a2,r2,⋅⋅⋅,sT,aT,rT

强化学习笔记_1_基本概念_Deep Reinforcement Learning_第1张图片

3.Randomness in Reinforcement Learning

强化学习中随机性来源:

  • 动作Action的随机性,根据Policy π \pi π随机抽样;
  • 状态转移State transitions的随机性,给定动作 a a a后,根据状态转移函数 p p p随机抽样,得到新的状态。
  1. Returns

    • Return, aka cumulative future reward(累积奖励)

      Discounted return, aka cumulative Discounted future reward(折扣累积回报)

      γ \gamma γ, discount rate
      U t = R t + γ R t + 1 + γ 2 R t + 2 + ⋅ ⋅ ⋅ U_t=R_t+\gamma R_{t+1}+\gamma ^2R_{t+2}+··· Ut=Rt+γRt+1+γ2Rt+2+⋅⋅⋅

    • Return and Reward

      Reward为某一状态的回报,以 R R R表示该随机变量;若游戏已经结束(采样结束),已经得到了一组回报,这组回报数值以 r r r表示;

      Return为当前时刻向后的累计回报,以 U t U_t Ut表示。

    • Randomness in Returns

      任意一个时刻的奖励 R i R_i Ri取决于 S i S_i Si A i A_i Ai,故Return随机性的两个来源为:未来所有时刻的动作和状态的随机性。

      Actions are random: P [ A = a ∣ S = s ] = π ( a ∣ s ) P[A=a|S=s]=\pi(a|s) P[A=aS=s]=π(as)

      States are random: P [ S ′ = s ′ ∣ S = s , A = a ] = p ( s ′ ∣ s , a ) P[S'=s'|S=s,A=a]=p(s'|s,a) P[S=sS=s,A=a]=p(ss,a)

    4.Value Function,价值函数

    • Action-Value Function,行动价值函数 Q ( s , a ) Q(s,a) Q(s,a),对某个行动进行打分

      问题: U t U_t Ut依赖于未来时刻的动作和状态,故 t t t时刻无法获知 U t U_t Ut,无法对当前时刻进行评估。

      解决方法:对 U t U_t Ut求期望,通过积分消除未来状态和动作的随机性,仅保留当前状态和动作,得到一个实数。
      Q π ( s t , a t ) = E [ U t ∣ S t = s t , A t = a t ] Q_\pi(s_t,a_t)=E[U_t|S_t=s_t,A_t=a_t] Qπ(st,at)=E[UtSt=st,At=at]
      行动价值函数 Q π ( s t , a t ) Q_\pi(s_t,a_t) Qπ(st,at)与Policy π ( a ∣ s ) \pi(a|s) π(as)有关,对当前策略 π \pi π下不同行动 a a a进行打分。

      Optimal action-value function,在无数种策略下,取最优的一种:
      Q ∗ ( s t , a t ) = max ⁡ π Q π ( s t , a t ) Q^*(s_t,a_t)=\max_\pi Q_\pi(s_t,a_t) Q(st,at)=πmaxQπ(st,at)

    • State-Value Function,状态价值函数 V ( s ) V(s) V(s),对某个状态和策略进行评估

      当前状态下,对不同动作的行动价值函数求期望:
      V π ( s t ) = E A [ Q π ( S t , A ) ] V_\pi(s_t)=E_A[Q_\pi(S_t,A)] Vπ(st)=EA[Qπ(St,A)]

      V π ( s t ) = E A [ Q π ( S t , A ) ] = ∑ a π ( a ∣ s t ) ⋅ Q ( s t , a ) V π ( s t ) = E A [ Q π ( S t , A ) ] = ∫ π ( a ∣ s t ) ⋅ Q ( s t , a ) d a \begin{aligned} V_\pi(s_t)=E_A[Q_\pi(S_t,A)]&=\sum_a\pi(a|s_t)·Q(s_t,a) \\V_\pi(s_t)=E_A[Q_\pi(S_t,A)]&=\int\pi(a|s_t)·Q(s_t,a)da \end{aligned} Vπ(st)=EA[Qπ(St,A)]Vπ(st)=EA[Qπ(St,A)]=aπ(ast)Q(st,a)=π(ast)Q(st,a)da

    5.How does AI control the agent

    强化学习思路下,控制agent的方法:

    • 策略学习,给定决策 π ( a ∣ s ) \pi(a|s) π(as),在状态 s t s_t st下随机抽样得到 a t a_t at

    • 价值学习,给定最优行动价值 Q ∗ ( s , a ) Q^*(s,a) Q(s,a),在状态 s t s_t st下对各个动作进行评价,取最优的动作 a t = arg ⁡ max ⁡ a Q ∗ ( s t , a ) a_t=\arg\max_aQ^*(s_t,a) at=argmaxaQ(st,a)

    • 策略学习,给定决策 π ( a ∣ s ) \pi(a|s) π(as),在状态 s t s_t st下随机抽样得到 a t a_t at

    • 价值学习,给定最优行动价值 Q ∗ ( s , a ) Q^*(s,a) Q(s,a),在状态 s t s_t st下对各个动作进行评价,取最优的动作 a t = arg ⁡ max ⁡ a Q ∗ ( s t , a ) a_t=\arg\max_aQ^*(s_t,a) at=argmaxaQ(st,a)

你可能感兴趣的:(强化学习,机器学习,人工智能)