Reinforcement Learning an introduction (1)

基础知识

马可夫性质
  • 数学解释:
    P ( s t + 1 , r t + 1 ∣ s t , a t ) = P ( s t + 1 , r t + 1 ∣ s 0 , a 0 , s 1 , a 1 , . . . , s t , a t ) P(s_{t+1},r_{t+1}|s_t,a_t) = P(s_{t+1},r_{t+1}|s_0,a_0,s_1,a_1,...,s_t,a_t) P(st+1,rt+1st,at)=P(st+1,rt+1s0,a0,s1,a1,...,st,at)

  • 理解: 下个状态只取决于当前状态与动作,与历史无关

  • 当环境不满足马可夫性质时,称为POMDP (可能是因为部份观测造成),引入RNN网络可缓解此问题

马可夫决策过程
  • 定义了三个元素(数学形式)

    • 给定s,a下的期望收益

    r ( s , a ) = E ( r ∣ s , a ) = ∑ r r ∑ s ′ P ( s ′ , r ∣ s , a ) r(s,a) = E(r|s,a) = \sum_r r \sum_{s'} P(s',r|s,a) r(s,a)=E(rs,a)=rrsP(s,rs,a)

    • 给定s,a下到达s’概率
      P ( s ′ ∣ s , a ) = E ( s ′ ∣ s , a ) = ∑ r P ( s ′ , r ∣ s , a ) P(s'|s,a) = E(s'|s,a) = \sum_r P(s',r|s,a) P(ss,a)=E(ss,a)=rP(s,rs,a)

    • 给定s,a,s’下的期望收益
      r ( s , a , s ′ ) = E ( r ∣ s , a , s ′ ) = ∑ r r P ( s ′ , r ∣ s , a ) P ( s ′ ∣ s , a ) r(s,a,s') = E(r|s,a,s') = \frac{\sum_r r P(s',r|s,a)}{P(s'|s,a)} r(s,a,s)=E(rs,a,s)=P(ss,a)rrP(s,rs,a)

  • 理解

    • 根据马可夫模型的假设,其实我们只定义了 P ( s ′ , r ∣ s , a ) P(s',r|s,a) P(s,rs,a)。但在马可夫决策过程模型中,我们利用上面三个简单的数学表达式把 P ( s ′ , r ∣ s , a ) P(s',r|s,a) P(s,rs,a)转换成多个我们关心的期望值,并且后面我们主要都是对这些期望值操作。
    • 一开始误以为环境是由 P ( s ′ ∣ s , a ) P(s'|s,a) P(ss,a)以及 r ( s , a , s ′ ) r(s,a,s') r(s,a,s)两个元素构成,但其实是更复杂的 P ( s ′ , r ∣ s , a ) P(s',r|s,a) P(s,rs,a)
价值函数
  • 数学定义

v π ( s ) = E π [ G t ∣ S t = s ] = E π [ ∑ k = 0 ∞ γ k r t + k + 1 ∣ S t = s ] q π ( s , a ) = E π [ G t ∣ S t = s , A = a ] = E π [ ∑ k = 0 ∞ γ k r t + k + 1 ∣ S t = s , A t = a ] v_\pi(s) = E_\pi[G_t|S_t=s] = E_\pi[\sum_{k=0}^{\infty}\gamma^kr_{t+k+1}|S_t=s] \\ q_\pi(s,a) = E_\pi[G_t|S_t=s,A=a] = E_\pi[\sum_{k=0}^{\infty}\gamma^kr_{t+k+1}|S_t=s, A_t=a] vπ(s)=Eπ[GtSt=s]=Eπ[k=0γkrt+k+1St=s]qπ(s,a)=Eπ[GtSt=s,A=a]=Eπ[k=0γkrt+k+1St=s,At=a]

其中 E [ ⋅ ] E[\cdot] E[]定义为 := 当智能体根据 π \pi π行动时、随机变量的期望值

  • Bellman equation

v π ( s ) = ∑ a π ( a ∣ s ) ∑ r , s ′ P ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] q π ( s , a ) = ∑ r , s ′ P ( s ′ , r ∣ s , a ) [ r + γ ∑ a ^ π ( a ^ ∣ s ′ ) q ( s ′ , a ^ ) ] v_\pi(s) = \sum_a \pi(a|s)\sum_{r,s'} P(s',r|s,a)[r + \gamma v_\pi(s')] \\ q_\pi(s,a) = \sum_{r,s'}P(s',r|s,a)[r+\gamma\sum_{\hat a}\pi(\hat a|s')q(s',\hat a)] vπ(s)=aπ(as)r,sP(s,rs,a)[r+γvπ(s)]qπ(s,a)=r,sP(s,rs,a)[r+γa^π(a^s)q(s,a^)]

  • 理解
    • 注意 V V V是带 π \pi π的、且 π \pi π会体现在期望上
    • Bellman: v是从s出发所以先决策、环境再随机作用;而q则是a出发,所以是先环境作用再决策
最佳价值函数
  • 数学定义 (最优策略 v π ∗ ( s ) v_{\pi*}(s) vπ(s)、最优价值函数、最优行动价值函数)

v π ∗ ( s ) ≥ v π ( s ) , ∀ s , ∀ π v ∗ = m a x π v π ( s ) q ∗ = m a x π q π ( s , a ) v_{\pi*}(s)\ge v_{\pi(s)} ,\forall s,\forall\pi \\ v*=max_\pi v_\pi(s) \\ q*=max_\pi q_\pi(s,a) vπ(s)vπ(s),s,πv=maxπvπ(s)q=maxπqπ(s,a)

  • Bellman optimality equation

v ∗ ( s ) = max ⁡ a q ∗ ( s , a ) = max ⁡ a ∑ s ′ , r P ( s ′ , r ∣ s , a ) [ r + γ V ∗ ( s ′ ) ] q ∗ ( s , a ) = ∑ s ′ , r P ( s ′ , r ∣ s , a ) [ r + γ max ⁡ a ′ q ∗ ( s ′ , a ′ ) ] (1) v^*(s) = \max_{a} q^*(s,a) = \max_a\sum_{s',r}P(s',r|s,a)[r+\gamma V^*(s')] \tag{1}\\ q^*(s,a) = \sum_{s',r} P(s',r|s,a)[r+\gamma \max_{a'}q^*(s',a')] v(s)=amaxq(s,a)=amaxs,rP(s,rs,a)[r+γV(s)]q(s,a)=s,rP(s,rs,a)[r+γamaxq(s,a)](1)

  • 理解
    • 首先定义了什么是好的价值函数,然后说明最优价值函数满足贝尔曼最优方程的自我迭代关系,当已知 P ( s ′ , r ∣ s , a ) P(s',r|s,a) P(s,rs,a)、满足马可夫、算力足够大时, v ∗ v^* v可解
    • 已知 V ∗ V^* V P ( s ′ , r ∣ s , a ) P(s',r|s,a) P(s,rs,a)可用一步贪婪法得到最佳策略;已知 q ∗ q* q也能用贪婪法得到最佳策略 (q函数维度更高但是可以不用知道环境模型就能求解)
  • A ∗ A^* A算法关联 (?)
近似求解
  • 没有近似时称为tabular case
  • 常用近似:对不常见的状态采用非最优策略、对常见状态采取最优策略。在线学习RL可以轻松达到这样效果,因为他们会更常更新那些常见状态,因此常见状态逼近的更好。

动态规划

策略评价
  • iterative policy evaluation

    • 迭代公式 v k + 1 ( s ) = ∑ a π ( a ∣ s ) ∑ r , s ′ P ( s ′ , r ∣ s , a ) [ r + γ v k ( s ′ ) ] v_{k+1}(s) = \sum_{a} \pi(a|s)\sum_{r,s'} P(s',r|s,a)[r + \gamma v_k(s')] vk+1(s)=aπ(as)r,sP(s,rs,a)[r+γvk(s)]

    • 证明 { v k } \{v_k\} {vk}会收敛到 v ∗ v^* v

      • 首先证明 v ∗ v^* v v k v_k vk的不动点 (由贝尔曼最优方程可知)
      • 接着证明迭代公式收敛 (用矩阵形式)

      V k + 1 = R + γ P s ′ s V k δ k + 1 ≤ γ ⋅ ∣ ∣ P ∣ ∣ ∞ ⋅ δ k = γ ⋅ δ k V_{k+1} = R + \gamma P_{s's}V_k \\ \delta_{k+1} \leq \gamma\cdot ||P||_\infty\cdot\delta_k=\gamma\cdot\delta_k Vk+1=R+γPssVkδk+1γPδk=γδk

      第二行等式成立因为矩阵 P s ′ s P_{s's} Pss的无穷范数为1 (每列之和皆为1),其中 δ k \delta_k δk代表第k次迭代的误差

      • 最后给出误差上界

      ∣ v k + 1 − v ∗ ∣ ≤ γ 1 − γ ∣ v k − v k − 1 ∣ ≤ γ 1 − γ R m a x |v_{k+1}-v^*| \leq \frac{\gamma}{1-\gamma}|v_k-v_{k-1}|\leq\frac{\gamma}{1-\gamma}R_{max} vk+1v1γγvkvk11γγRmax

迭代公式取了期望而非采样,因此需要仿真所有后继节点,称为full_backup,后面的RL算法都是采用仿真而非真的全部走一遍

  • 算法伪代码

策略更新
  • 定理 (policy improvement theorem)
    q π ( s , π ′ ( s ) ) ≥ v π ( s ) ⇒ v π ′ ( s ) ≥ v π ( s ) (2) q_\pi(s,\pi'(s))\ge v_\pi(s) \Rightarrow v_{\pi'}(s)\ge v_\pi(s) \tag{2} qπ(s,π(s))vπ(s)vπ(s)vπ(s)(2)

    • 理解: 左边 q π ( s , π ′ ( s ) ) q_\pi(s,\pi'(s)) qπ(s,π(s))代表第一步用 π ′ \pi' π、后面用 π \pi π;右边 v π ′ ( s ) v_{\pi'}(s) vπ(s)代表每一步都用 π ′ \pi' π。证明方法很明显: 把左边从第一步推到第n步就可以
    • 数学推导

    v π ( s t ) ≤ q π ( s , π ′ ( s t ) ) = E π ′ [ R t + 1 + γ v π ( s t + 1 ) ] ≤ E π ′ [ R t + 1 + γ q π ( s t + 1 , π ′ ( s t + 1 ) ) ] = E π ′ [ R t + 1 + γ E π ′ [ R t + 2 + γ v π ( s t + 2 ) ] ] = E π ′ [ R t + 1 + γ R t + 2 + γ 2 v π ( s t + 2 ) ] =   . . . = v π ′ ( s t ) v_\pi(s_t) \leq q_\pi(s,\pi'(s_t)) \\ = E_{\pi'}[R_{t+1}+\gamma v_\pi(s_{t+1})] \\ \leq E_{\pi'}[R_{t+1}+\gamma q_\pi(s_{t+1},\pi'(s_{t+1}))] \\ = E_{\pi'}[R_{t+1}+\gamma E_{\pi'}[R_{t+2}+\gamma v_\pi(s_{t+2})]] \\ = E_{\pi'}[R_{t+1}+\gamma R_{t+2}+\gamma^2 v_\pi(s_{t+2})] =\space ... = v_{\pi'}(s_{t}) vπ(st)qπ(s,π(st))=Eπ[Rt+1+γvπ(st+1)]Eπ[Rt+1+γqπ(st+1,π(st+1))]=Eπ[Rt+1+γEπ[Rt+2+γvπ(st+2)]]=Eπ[Rt+1+γRt+2+γ2vπ(st+2)]= ...=vπ(st)

  • policy improvement
    π ′ ( s ) = a r g max ⁡ a q π ( s , a ) \pi'(s) = arg\max_a q_\pi(s,a) π(s)=argamaxqπ(s,a)

    • 只要用上述贪婪法选取动作就能保证价值函数不减

    v π ( s ) = q π ( s , π ( a ) ) ≤ max ⁡ a q π ( s , a ) = q π ( s , π ′ ( a ) ) ⇒ v π ′ ( s ) ≥ v π ( s ) v_\pi(s)=q_\pi(s,\pi(a))\leq\max_a q_\pi(s,a) = q_\pi(s,\pi'(a))\Rightarrow v_{\pi'}(s)\ge v_\pi(s) vπ(s)=qπ(s,π(a))amaxqπ(s,a)=qπ(s,π(a))vπ(s)vπ(s)

    • v π v_\pi vπ会逐渐上升直到 v π = v π ′ v_\pi=v_{\pi'} vπ=vπ,此时贝尔曼最优方程成立,即 v π = v π ′ = v ∗ v_\pi=v_{\pi'}=v^* vπ=vπ=v
  • 理解

    • 证明了使用贪婪法更新时价值函数是递增的,且不递增时代表收敛到最优,成功证明同步策略迭代收敛性
    • 得到的会是确定性策略,但当有多个最优解有相同价值时,可以采用随机策略
策略迭代
  • 算法

  • 理解: 交替进行 策略评价( v π → v π ′ v_\pi\rightarrow v_{\pi'} vπvπ, 迭代到收敛) 与 策略更新( π → π ′ \pi\rightarrow\pi' ππ)

价值迭代
  • 算法

  • 理解: 交替进行 策略评价(只迭代一次) 与 策略更新( π → π ′ \pi\rightarrow\pi' ππ)

  • 讨论

    • 策略迭代与价值迭代在光谱的两个极端,可以定义光谱为: 策略评价n次策略更新1次,靠近策略迭代那侧n较大;价值迭代那侧n较小。通常介于光谱中间时收敛较快
    • 操作上两者在策略评价时数学形式相似,只差一个 max ⁡ \max max号,可以把此类方法看成每进行n次扫描(更新),将第n次从贝尔曼方程换成贝尔曼最优方程(进行贝尔曼最优方程更新等价于评价加更新)
异步DP
  • 同步DP: 按照固定顺序扫描每个状态,让每个状态更新的次数相同
    • 同步更新: 每次扫描结束后统一更新价值函数为新值
    • 异步更新: 每步结束后马上更新价值函数,收敛更快
  • 异步DP: 不按固定顺序选取状态,且采用异步更新,收敛的条件是 { s k } \{s_k\} {sk}中当 k → ∞ k\rightarrow\infty k时,需要包含所有状态无穷多次 (异步相对同步类似高斯-赛德尔相对于雅可比)
  • 理解: 这里要表达的是顺序不影响收敛性、异步优于同步、且顺序会影响收敛速度。(即理论上计算复杂度下界不会下降但可以通过选择状态顺序加快真实收敛速度)。常见的加速方法是在线学习,用异步DP的方式去更新智能体经过的那些状态 (这些状态更值得我们关注)
GPI (Generalized policy iteration)

  • 如上图所示
    • 评价与更新是竞争关系: 两者方向不同。具体体现在: 完成评价后会让 π \pi π不是贪婪最优、完成 π \pi π更新后会让价值函数错误
    • 评价与更新是合作关系: 两者并非正交,且有交点。因此只要交替进行评价与更新就会收敛到最优价值,且最优价值是不动点,代表算法必能收敛
    • 上图所示是同步策略迭代,即每次都走到两条线上,但其实我们可以没必要每次都更新到收敛。可以每次只迭代一次(价值迭代),可以每次只更新部份状态(异步迭代),两种方法都能提升收敛速度
    • 只证明同步策略迭代、同步价值迭代的收敛性,其他的方法怎么证明收敛性?

蒙特卡洛

蒙特卡洛评价
  • 算法

    • 伪代码 (first-visit MC evaluation)

    • 数学证明 (first-visit)

      • 收敛性: 根据大数定律能收敛,且误差的方差与样本数 n n n有 $\sigma\propto\frac{1}{\sqrt{n}} $
      • 简单证一下第二部份

      X = 1 n ( X 1 + . . . + X n ) ⇒ V a r ( X ) = 1 n 2 ( V a r ( X 1 ) + . . . + V a r ( X n ) ) = V a r ( X i ) n X=\frac{1}{n}(X_1+...+X_n)\Rightarrow Var(X)=\frac{1}{n^2}(Var(X_1)+...+Var(X_n))=\frac{Var(X_i)}{n} X=n1(X1+...+Xn)Var(X)=n21(Var(X1)+...+Var(Xn))=nVar(Xi)

    • 概念

      • first-visit: 只使用episode中第一次出现的状态作为有效数据
      • every-visit: 每个出现的状态都可以拿来训练、没证明收敛性(上面证明成立条件是每次采样iid、但every-visit显然不是)
  • exploring starts

    • 解决问题: 确定性策略的探索问题
    • 定义: 随机选择起点,且所有 ( s , a ) (s,a) (s,a)都有 > 0 \gt 0 >0的概率被选为起点 (跑无限次必收敛)
    • 理解: 为何DP不用讨论探索相关问题而MC就要呢? 因为DP用所有后继状态来更新当前状态,所以他其实是超强探索(把所有状态不管好坏都跑了一遍),而MC是采样,没有探索的确定性策略就真的只会一直访问同一个状态了
蒙特卡洛更新
  • Monte Carlo with Exploring Starts

    • 伪代码 (first-visit MCES)

    • MCES (类似策略迭代)

      • 贪婪法做策略更新 (使用确定性策略)
      • 假设: 采样时满足exploring starts
      • 策略评价 q = a v g ( G t ) q=avg(G_t) q=avg(Gt) (根据GPI思想只要有目标函数靠就可以)
      • 能证明收敛
    • 此处必须使用 q q q函数:

      • 在不知道 P ( s ′ ∣ s , a ) P(s'|s,a) P(ss,a)时,只学习 v v v函数没法使用贪婪法 a r g m a x a ∑ s ′ P ( s ′ ∣ s , a ) [ r + γ V ( s ′ ) ] argmax_a\sum_{s'}P(s'|s,a)[r+\gamma V(s')] argmaxasP(ss,a)[r+γV(s)]更新策略,但使用 q q q函数可以 a r g m a x a q ( s , a ) argmax_a q(s,a) argmaxaq(s,a),因此此处需要学 q q q函数
  • ϵ \epsilon ϵ-greedy

    • 伪代码 (on-policy first-visit MC control algorithm for ϵ \epsilon ϵ-soft policies)

    • ϵ \epsilon ϵ-soft policies

      • 定义 π ( a ∣ s ) ≥ ϵ , ∀ s ∀ a \pi(a|s)\geq\epsilon, \forall s\forall a π(as)ϵ,sa
      • 理解: 把 ϵ \epsilon ϵ-soft环境理解为确定性策略+非确定性环境,仍然使用贪婪法选取动作,但 P ( s ′ , r ∣ s , a ) P(s',r|s,a) P(s,rs,a)导致每次有 ϵ \epsilon ϵ的概率会被随机传送。 ϵ \epsilon ϵ-greedy 会收敛到 ϵ \epsilon ϵ-soft意义下的最优策略,而非全局最优策略。可以理解为 ϵ \epsilon ϵ-soft环境中的最优策略与真实环境中的最优策略不同。
    • 算法: ϵ \epsilon ϵ-greedy

      • 数学形式

      π ( a ∣ s ) = { ϵ ∣ A ∣ ,   a r a n d o m 1 − ϵ + ϵ ∣ A ∣ ,   a g r e e d y \pi(a|s)= \begin{cases} \frac{\epsilon}{|A|},\space a_{random}\\ 1-\epsilon+\frac{\epsilon}{|A|},\space a_{greedy}\\ \end{cases} π(as)={Aϵ, arandom1ϵ+Aϵ, agreedy

      • 证明收敛性

      q π ( s , π ′ ( a ∣ s ) ) = ∑ a π ′ ( a ∣ s ) q π ( s , a ) = ∑ a ϵ ∣ A ∣ q π ( s , a ) + ( 1 − ϵ ) max ⁡ a ′ q π ( s , a ′ ) = ∑ a ϵ ∣ A ∣ q π ( s , a ) + ( 1 − ϵ ) ∑ a π ( a ∣ s ) − ϵ ∣ A ∣ 1 − ϵ max ⁡ a q π ( s , a ) ≥ ∑ a ϵ ∣ A ∣ q π ( s , a ) + ( 1 − ϵ ) ∑ a π ( a ∣ s ) − ϵ ∣ A ∣ 1 − ϵ q π ( s , a ) = v π ( s ) q_\pi(s,\pi'(a|s)) = \sum_a\pi'(a|s)q_\pi(s,a) \\ = \sum_a\frac{\epsilon}{|A|}q_\pi(s,a)+(1-\epsilon)\max_{a'} q_\pi(s,a') \\ =\sum_a\frac{\epsilon}{|A|}q_\pi(s,a)+(1-\epsilon)\sum_a\frac{\pi(a|s)-\frac{\epsilon}{|A|}}{1-\epsilon}\max_a q_\pi(s,a) \\ \geq\sum_a\frac{\epsilon}{|A|}q_\pi(s,a)+(1-\epsilon)\sum_a\frac{\pi(a|s)-\frac{\epsilon}{|A|}}{1-\epsilon}q_\pi(s,a) = v_\pi(s) qπ(s,π(as))=aπ(as)qπ(s,a)=aAϵqπ(s,a)+(1ϵ)amaxqπ(s,a)=aAϵqπ(s,a)+(1ϵ)a1ϵπ(as)Aϵamaxqπ(s,a)aAϵqπ(s,a)+(1ϵ)a1ϵπ(as)Aϵqπ(s,a)=vπ(s)

      第三行成立是因为 ∑ a ( ⋅ ) = 1 \sum_a(\cdot)=1 a()=1。最后额外使用式(2),得到 v v v函数不减、能收敛到最优值的结论

      • 价值函数期望更新公式

      v ( s ) = ϵ ∣ A ∣ ∑ a q π ( a ∣ s ) + ( 1 − ϵ ) max ⁡ a q π ( a ∣ s ) = ϵ ∣ A ∣ ∑ a ∑ s ′ , r P ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] + ( 1 − ϵ ) max ⁡ a ∑ s ′ , r P ( s ′ , r ∣ s , a ) [ r + γ v π ( s ′ ) ] v(s) = \frac{\epsilon}{|A|}\sum_aq_\pi(a|s) + (1-\epsilon)\max_a q_\pi(a|s) \\ = \frac{\epsilon}{|A|}\sum_a\sum_{s',r}P(s',r|s,a)[r+\gamma v_\pi(s')] + (1-\epsilon)\max_a \sum_{s',r}P(s',r|s,a)[r+\gamma v_\pi(s')] v(s)=Aϵaqπ(as)+(1ϵ)amaxqπ(as)=Aϵas,rP(s,rs,a)[r+γvπ(s)]+(1ϵ)amaxs,rP(s,rs,a)[r+γvπ(s)]

      等号成立当且仅当 π = π ′ \pi=\pi' π=π,最优策略是不动点

      • 理解: 上面证明的不减是期望效用不减,事实上on-policy通过采样得到的数据,因此实际更新公式与期望更新公式不同(在DP中是相同的)
重要性采样
  • 基本概念
    E π [ X ] = ∫ x ⋅ π ( x ) d x = ∫ x π ( x ) μ ( x ) μ ( x ) d x = E μ [ X ⋅ π ( X ) μ ( X ) ] V a r ( μ ^ q ) = 1 n ∑ i [ x i π ( x i ) μ ( x i ) − μ ^ q ] 2 E_\pi[X] = \int x\cdot\pi(x) dx = \int x\frac{\pi(x)}{\mu(x)}\mu(x) dx = E_\mu[\frac{X\cdot\pi(X)}{\mu(X)}] \\ Var(\hat\mu_q) = \frac{1}{n}\sum_i[\frac{x_i\pi(x_i)}{\mu(x_i)}-\hat\mu_q]^2 Eπ[X]=xπ(x)dx=xμ(x)π(x)μ(x)dx=Eμ[μ(X)Xπ(X)]Var(μ^q)=n1i[μ(xi)xiπ(xi)μ^q]2

    • 要求(assumption of coverage): 能使用 μ \mu μ估计 π \pi π价值函数的前提是 π ( a ∣ s ) ≥ 0 ⇒ μ ( a ∣ s ) ≥ 0 \pi(a|s)\ge 0\Rightarrow \mu(a|s)\ge 0 π(as)0μ(as)0

      数学理解: 分母不为零、直观理解: 没看过的状态无法估计出来

    • 其中 π \pi π是确定性策略、而 μ \mu μ是带有随机性的(能探索)、且要求 π / μ \pi/\mu π/μ不能太大否则方差爆炸

  • importance-sampling ratio

    ρ t T = Π k = t T − 1 π ( a ∣ s ) P ( s ′ ∣ s , a ) μ ( a ∣ s ) P ( s ′ ∣ s , a ) = Π k = t T − 1 π ( a ∣ s ) μ ( a ∣ s ) \rho_t^T = \Pi_{k=t}^{T-1}\frac{\pi(a|s)P(s'|s,a)}{\mu(a|s)P(s'|s,a)} = \Pi_{k=t}^{T-1}\frac{\pi(a|s)}{\mu(a|s)} ρtT=Πk=tT1μ(as)P(ss,a)π(as)P(ss,a)=Πk=tT1μ(as)π(as)

    理解: 实际出现该轨迹的概率/采样出现该轨迹的概率

  • 两种MC估计

    • ordinary importance sampling

    v ( s ) = ∑ ρ i G i N v(s) = \frac{\sum \rho_i G_i}{N} v(s)=NρiGi

    • weighted importance sampling

    v ( s ) = ∑ ρ i G i ∑ ρ v(s) = \frac{\sum \rho_i G_i}{\sum \rho} v(s)=ρρiGi

    • 优劣: IS是无偏估计但方差随 ρ \rho ρ增大而增大(无上界)、WIS有偏但方差有上界(更常被使用),下面证明WIS方差有上界

    ∣ v ∣ = ∣ ∑ i w i G i ∣ ≤ C ∣ ∑ i w i ∣ = C 其 中 w i = ρ i ∑ i ρ i ≤ 1 , C = max ⁡ i ∣ G i ∣ ∣ v ∣ ≤ C ⇒ V a r ∣ v ∣ ≤ C 2 4 |v|=|\sum_i w_iG_i|\leq C|\sum_i w_i|= C \\ 其中w_i = \frac{\rho_i}{\sum_i\rho_i}\leq 1, C=\max_i |G_i|\\ |v|\leq C\Rightarrow Var|v|\leq \frac{C^2}{4} v=iwiGiCiwi=Cwi=iρiρi1,C=imaxGivCVarv4C2

off-policy MC control
  • 伪代码 (off-policy every-visit MC control algorithm)

  • 理解

    • Q Q Q函数使用递增更新, Q ← Q + W C [ G − Q ] Q\leftarrow Q+\frac{W}{C}[G-Q] QQ+CW[GQ]
    • 需要注意。一、t=T-1,T-2… 是从后往前更新的;二、W ← \leftarrow W/ μ \mu μ是不包含 π \pi π的;三、for any soft policy μ \mu μ即此处没有规定 μ \mu μ如何选;四、 π \pi π是确定性策略 μ \mu μ是soft策略
    • 当时刻 t t t选择探索动作后,因为 π t = 0 \pi_t=0 πt=0,因此 W W W归零, t t t时刻以前的所有动作都没用了,所以如果太长探索会降低收敛速度(数据利用率)
    • 此处 W W W更新公式不包含 π \pi π应该是漏写了,有两种改法。一、把 π \pi π加回去即 w ← W π μ w\leftarrow W\frac{\pi}{\mu} wWμπ;二、在此行前面加一行if $A_t\neq \pi(S_t) $ then ExitForLoop。此处用1代替 π \pi π是因为 π \pi π是确定性策略通常都是1。
    • 可以理解为Exploring Starts的一种变形,这样改的好处是,每次起点都是 S 0 S_0 S0。如果可以从指定的 S i S_i Si出发我感觉其实用on-policy的Exploring Starts方法会比较高效
折扣因子与重要性采样
  • 数学推导

G ˉ h = R 0 + R 1 + . . . + R h G = R 0 + R 1 + . . . + R T = ( 1 − γ ) G ˉ 0 + γ ( 1 − γ ) G ˉ 1 + γ 2 ( 1 − γ ) G ˉ 2 + . . . + γ T G ˉ T G = γ T G ˉ T + ∑ h = 0 T − 1 γ h ( 1 − γ ) G ˉ h v ( s ) = ∑ [ γ T ρ T G ˉ T + ∑ h = 0 T − 1 γ h ( 1 − γ ) ρ h G ˉ h ] ∑ [ γ T ρ T + ∑ h = 0 T − 1 γ h ( 1 − γ ) ρ h ] \bar G^h = R_0 + R_1 + ... + R_h \\ G = R_0 + R_1 + ... + R_T = (1-\gamma)\bar G^0 + \gamma(1-\gamma)\bar G^1 + \gamma^2(1-\gamma)\bar G^2 +...+\gamma^{T}\bar G^T \\ G = \gamma^T\bar G^T+\sum_{h=0}^{T-1}\gamma^h(1-\gamma)\bar G^h \\ v(s) = \frac{\sum[\gamma^T\rho^T\bar G^T+\sum_{h=0}^{T-1}\gamma^h(1-\gamma)\rho^h\bar G^h]}{\sum[\gamma^T\rho^T+\sum_{h=0}^{T-1}\gamma^h(1-\gamma)\rho^h]} Gˉh=R0+R1+...+RhG=R0+R1+...+RT=(1γ)Gˉ0+γ(1γ)Gˉ1+γ2(1γ)Gˉ2+...+γTGˉTG=γTGˉT+h=0T1γh(1γ)Gˉhv(s)=[γTρT+h=0T1γh(1γ)ρh][γTρTGˉT+h=0T1γh(1γ)ρhGˉh]

  • 理解
    • 前面讨论的重要性采样都是在 γ = 1 \gamma=1 γ=1时,此节讨论 γ ≤ 1 \gamma\leq 1 γ1时的处理方法
    • γ \gamma γ从折扣因子想成随机终止概率。即每步会有 γ \gamma γ的概率提前结束这个episode,因此 G = G ˉ 1 G=\bar G^1 G=Gˉ1的概率是 γ ( 1 − γ ) \gamma(1-\gamma) γ(1γ),即第一步判定失败且第二步判定成功
    • 怎么用?

时序差分

算法
  • TD更新法

V ( S t ) ← V ( S t ) + α [ R t + 1 + γ V ( S t + 1 ) − V ( S t ) ] V(S_t) \leftarrow V(S_t) + \alpha[R_{t+1}+\gamma V(S_{t+1})-V(S_t)] V(St)V(St)+α[Rt+1+γV(St+1)V(St)]

  • SARSA (on-polcy) (策略迭代)

Q ( S t , A t ) ← Q ( S t , A t ) + α [ R t + 1 + γ Q ( S t + 1 , A t + 1 ) − Q ( S t , A t ) ] Q(S_t,A_t) \leftarrow Q(S_t,A_t) + \alpha[R_{t+1}+\gamma Q(S_{t+1},A_{t+1})-Q(S_t,A_t)] Q(St,At)Q(St,At)+α[Rt+1+γQ(St+1,At+1)Q(St,At)]

  • Q-learning (off-policy) (价值迭代)

Q ( S t , A t ) ← Q ( S t , A t ) + α [ R t + 1 + γ max ⁡ a Q ( S t + 1 , a ) − Q ( S t , A t ) ] Q(S_t,A_t) \leftarrow Q(S_t,A_t) + \alpha[R_{t+1}+\gamma\max_a Q(S_{t+1},a)-Q(S_t,A_t)] Q(St,At)Q(St,At)+α[Rt+1+γamaxQ(St+1,a)Q(St,At)]

  • 收敛性: 在DP那章已经讨论过,与 q , π q,\pi q,π的选取有关
  • 与MC相似: 都使用采样;与DP相似: 都是用自举、更新公式基本相同
TD优势
  • 每步骤都能更新更适合在线学习
  • 适用于没有episode的场景
  • 在batch-updating中使用TD更新结果等价于MLE(最大似然估计)MDP模型 (这是一篇论文)
  • 在batch-updating中使用 α − M C \alpha-MC αMC更新结果与TD结果不相等,但能使得均方误差最小化
After State
  • 当只知道部份 P ( s ′ , r ∣ s , a ) P(s',r|s,a) P(s,rs,a)时,把此概率分解为两部份: 已知部份与未知部份,已知部份作用后到达的状态称为After State
  • 减少状态数

资格迹

n-step TD
  • 数学定义:

G t t + n = R t + 1 + γ R t + 2 + . . . + γ n − 1 R t + n + γ n V ( S t + n ) Δ t = α [ G t t + n − V ( S t ) ] G_t^{t+n} = R_{t+1} + \gamma R_{t+2} + ...+\gamma^{n-1}R_{t+n} + \gamma^n V(S_{t+n}) \\ \Delta_t = \alpha[G_t^{t+n} - V(S_t)] Gtt+n=Rt+1+γRt+2+...+γn1Rt+n+γnV(St+n)Δt=α[Gtt+nV(St)]

  • 收敛性 (误差递减 -> 收敛)

max ⁡ s ∣ E π [ G t t + n ] − v π ( s ) ∣ ≤ γ n max ⁡ s ∣ v ( s ) − v π ( s ) ∣ \max_s|E_\pi[G_t^{t+n}]-v_\pi(s)| \leq \gamma^n \max_s|v(s)-v_\pi(s)| smaxEπ[Gtt+n]vπ(s)γnsmaxv(s)vπ(s)

​ 以下简单证明
max ⁡ s ∣ E π [ G t t + n ] − v π ( s ) ∣ = max ⁡ s ∣ E π [ γ R t + 2 + . . . + γ n − 1 R t + n + γ n V ( S t + n ) ] − E π [ γ R t + 2 + . . . + γ n − 1 R t + n + γ n ∑ k γ k R t + n + k ] ∣ ≤ γ n max ⁡ s ∣ E π [ V ( S t + n ) − ∑ k γ k R t + n + k ] ∣ = γ n max ⁡ s ∣ v ( s ) − v π ( s ) ∣ \max_s|E_\pi[G_t^{t+n}]-v_\pi(s)| \\ = \max_s|E_\pi[ \gamma R_{t+2} + ...+\gamma^{n-1}R_{t+n} + \gamma^n V(S_{t+n})] - E_\pi[ \gamma R_{t+2} + ...+\gamma^{n-1}R_{t+n} + \gamma^n \sum_k \gamma^kR_{t+n+k}]| \\ \leq \gamma^n \max_s|E_\pi[V(S_{t+n})-\sum_k \gamma^kR_{t+n+k}]| = \gamma^n \max_s|v(s)-v_\pi(s)| smaxEπ[Gtt+n]vπ(s)=smaxEπ[γRt+2+...+γn1Rt+n+γnV(St+n)]Eπ[γRt+2+...+γn1Rt+n+γnkγkRt+n+k]γnsmaxEπ[V(St+n)kγkRt+n+k]=γnsmaxv(s)vπ(s)

最后一个等号可以理解为变量替换: 把 S t + n S_{t+n} St+n换成 S t S_t St

  • 理解
    • 证明了n-step TD误差上界会以 γ n \gamma^n γn的速度减小,因此无论 n n n取值多少的TD更新式都可以用 (因此后面用 T D ( λ ) TD(\lambda) TD(λ)把任意 n n n取平均仍然可以收敛)
    • 需要假设最终状态是一个不断回到自己的状态且奖励为零 (这样后面 T D ( λ ) TD(\lambda) TD(λ)才是无穷等比数列,否则遇到终点会提前终止而多一项)
前向传播
  • λ − r e t u r n \lambda-return λreturn

L t = ( 1 − λ ) ∑ n ∞ λ n − 1 G t t + n = G t λ Δ t λ = α [ L t − V ( S t ) ] L_t = (1-\lambda)\sum_n^\infty\lambda^{n-1}G_t^{t+n}=G_t^\lambda \\ \Delta_t^\lambda = \alpha[L_t-V(S_t)] Lt=(1λ)nλn1Gtt+n=GtλΔtλ=α[LtV(St)]

  • online: 马上更新 (前向传播无法online更新,因为此时还不知道后面的值)

    offline: 每个episode结束时更新

后向传播
  • 资格迹

E t ( s ) = { γ λ E t − 1 ( s ) , s ≠ s t γ λ E t − 1 ( s ) + 1 , s = s t E_t(s) = \begin{cases} \gamma\lambda E_{t-1}(s), s\neq s_t \\ \gamma\lambda E_{t-1}(s) + 1, s=s_t\\ \end{cases} Et(s)={γλEt1(s),s=stγλEt1(s)+1,s=st

  • 变形

E t ( s ) = { 1 , ( r e p l a c i n g _ t r a c e ) γ λ E t − 1 ( s ) + 1 , ( a c c u m u l a t i n g _ t r a c e ) ( 1 − α ) γ λ E t − 1 ( s ) + 1 , ( d u t c h _ t r a c e ) , s = s t E_t(s) = \begin{cases} 1 ,(replacing\_trace) \\ \gamma\lambda E_{t-1}(s) + 1 ,(accumulating\_trace) \\ (1-\alpha)\gamma\lambda E_{t-1}(s) + 1 ,(dutch\_trace) \\ \end{cases} , s=s_t Et(s)=1,(replacing_trace)γλEt1(s)+1,(accumulating_trace)(1α)γλEt1(s)+1,(dutch_trace),s=st

  • T D ( λ ) TD(\lambda) TD(λ)

δ t = R t + 1 + γ V ( S t + 1 ) − V ( s t ) Δ t T D ( λ ) = α δ t E ( s ) \delta_t = R_{t+1} + \gamma V(S_{t+1}) - V(s_t) \\ \Delta_t^{TD(\lambda)} = \alpha\delta_tE(s) \\ δt=Rt+1+γV(St+1)V(st)ΔtTD(λ)=αδtE(s)

  • 伪代码

  • 优缺点
    • 需要额外内存记录资格迹(|S|)、每次需要更新需要同时对所有状态更新(但其实多数状态资格迹为零可以不管)、使用函数近似时大约增加两倍的时间&空间
    • 可以在 M C MC MC T D TD TD中间任意切换(即 T D ( 1 ) 到 T D ( 0 ) TD(1)到TD(0) TD(1)TD(0)),且 T D ( 1 ) TD(1) TD(1)可以适用在没有episode的情景( M C MC MC不行)
前后向等价
  • 教科书证明

Δ λ = G t λ − V t = − V t + ( 1 − λ ) λ 0 ( R t + 1 + γ V t + 1 ) + ( 1 − λ ) λ 1 ( R t + 1 + γ R t + 2 + γ 2 V t + 1 ) + . . . = − V t + ( λ γ ) 0 ( R t + 1 + γ V t + 1 − λ γ V t + 1 ) + ( λ γ ) 1 ( R t + 2 + γ V t + 2 − λ γ V t + 2 ) + . . . = ( λ γ ) 0 ( R t + 1 + γ V t + 1 − V t ) + ( λ γ ) 1 ( R t + 2 + γ V t + 2 − V t + 1 ) + . . . = δ t + γ λ δ t + 1 + ( γ λ ) 2 δ t + 2 = Δ T D \Delta^\lambda = G_t^\lambda - V_t \\ = - V_t + (1-\lambda)\lambda^0 (R_{t+1} +\gamma V_{t+1}) + (1-\lambda)\lambda^1 (R_{t+1} +\gamma R_{t+2} + \gamma^2 V_{t+1}) + ... \\ = - V_t + (\lambda\gamma)^0(R_{t+1} + \gamma V_{t+1} - \lambda\gamma V_{t+1}) + (\lambda\gamma)^1(R_{t+2} + \gamma V_{t+2} - \lambda\gamma V_{t+2}) + ... \\ = (\lambda\gamma)^0(R_{t+1} + \gamma V_{t+1} - V_{t}) + (\lambda\gamma)^1(R_{t+2} + \gamma V_{t+2} - V_{t+1}) + ... \\ = \delta_t + \gamma\lambda\delta_{t+1} + (\gamma\lambda)^2\delta_{t+2} = \Delta^{TD} Δλ=GtλVt=Vt+(1λ)λ0(Rt+1+γVt+1)+(1λ)λ1(Rt+1+γRt+2+γ2Vt+1)+...=Vt+(λγ)0(Rt+1+γVt+1λγVt+1)+(λγ)1(Rt+2+γVt+2λγVt+2)+...=(λγ)0(Rt+1+γVt+1Vt)+(λγ)1(Rt+2+γVt+2Vt+1)+...=δt+γλδt+1+(γλ)2δt+2=ΔTD

第二个等式: 先处理 R t + 1 R_{t+1} Rt+1的所有项,发现和为1, R t + 2 . . . R_{t+2}... Rt+2...同理。再把剩下的所有 t + n t+n t+n的项凑在一起

第三个等式: 把 − V t -V_t Vt代进去,然后 − λ γ V t + 1 -\lambda\gamma V_{t+1} λγVt+1被移到下一项,依此类推

  • 另一个角度证明

    首先定义 δ t n \delta_t^n δtn代表从t时刻开始的 n − s t e p n-step nstep T D TD TD更新、以下证明$\delta_t^n = \delta_t1+\gamma\delta_{t+1}1+\gamma2\delta_{t+2}1+… $
    δ t 1 = R t + 1 + γ V t + 1 − V t δ t 2 = R t + 1 + γ R t + 2 + γ 2 V t + 2 − V t δ t + 1 1 = R t + 2 + γ V t + 2 − V t + 1 δ t 2 = [ R t + 1 + γ V t + 1 − V t ] + [ γ R t + 2 + γ 2 V t + 2 − γ V t + 1 ] = δ t 1 + γ δ t + 1 1 \delta_t^1 = R_{t+1} + \gamma V_{t+1} - V_t \\ \delta_t^2 = R_{t+1} + \gamma R_{t+2} + \gamma^2 V_{t+2} - V_t \\ \delta_{t+1}^1 = R_{t+2} + \gamma V_{t+2} - V_{t+1} \\ \delta_t^2 = [R_{t+1} + \gamma V_{t+1} - V_t] + [\gamma R_{t+2} + \gamma^2 V_{t+2} - \gamma V_{t+1}] = \delta_t^1 + \gamma\delta_{t+1}^1 δt1=Rt+1+γVt+1Vtδt2=Rt+1+γRt+2+γ2Vt+2Vtδt+11=Rt+2+γVt+2Vt+1δt2=[Rt+1+γVt+1Vt]+[γRt+2+γ2Vt+2γVt+1]=δt1+γδt+11
    以下证明 Δ λ = Δ T D \Delta^\lambda=\Delta^{TD} Δλ=ΔTD

Δ λ = ( 1 − λ ) [ δ t 1 + λ δ t 2 + λ 2 δ t 3 + . . . ] = ( 1 − λ ) [ ( δ t 1 ) + ( λ δ t 1 + λ γ δ t + 1 1 ) + ( λ 2 δ t 1 + λ 2 γ δ t + 1 1 + λ 2 γ 2 δ t + 2 1 ) + . . . ] = δ t 1 + ( λ γ ) δ t + 1 1 + ( λ γ ) 2 δ t + 2 1 + . . . = Δ T D \Delta^\lambda = (1-\lambda)[\delta_t^1+ \lambda\delta_t^2 + \lambda^2\delta_t^3+...]\\ =(1-\lambda)[(\delta_t^1) + (\lambda\delta_t^1 + \lambda\gamma\delta_{t+1}^1) + (\lambda^2\delta_t^1 + \lambda^2\gamma\delta_{t+1}^1 + \lambda^2\gamma^2\delta_{t+2}^1)+...] \\ = \delta_t^1 + (\lambda\gamma)\delta_{t+1}^1 + (\lambda\gamma)^2\delta_{t+2}^1+... = \Delta^{TD} Δλ=(1λ)[δt1+λδt2+λ2δt3+...]=(1λ)[(δt1)+(λδt1+λγδt+11)+(λ2δt1+λ2γδt+11+λ2γ2δt+21)+...]=δt1+(λγ)δt+11+(λγ)2δt+21+...=ΔTD

最后一个等号: 把 δ t 1 \delta_t^1 δt1的项全部加起来发现是等比数列且和为1、之后把 ( λ γ ) n (\lambda\gamma)^n (λγ)n提出来后对 δ t + n \delta_{t+n} δt+n有同样的处理方式

  • 理解
    • 上面证明只有在offline时成立,原因是:当online算法走到 t + 1 t+1 t+1时刻时 δ t + 1 t \delta_{t+1}^t δt+1t已经改变,之前的等式不再成立。online要成立有两种可能: 第一、当学习率足够小,可以近似相等,第二、需要对算法做改进,具体参考论文 True online TD
    • 后向的核心思想有二。第一、用一步的 T D TD TD误差取代 n n n步的 T D TD TD误差。第二、后向的更新思想。第一的好处是每次都只要计算该步的单步 T D TD TD误差,而不用每次都对所有过去经过的状态 S S S n n n步误差,减少重复计算。第二的好处是,前向是不可能实现online的,而后向思想可以。
  • 其他
    • S A R S A ( λ ) SARSA(\lambda) SARSA(λ)就是 Q ← Q + α δ E Q\leftarrow Q + \alpha\delta E QQ+αδE Q ( λ ) Q(\lambda) Q(λ)在选择探索动作时把 E E E归零,其他都跟原本相同
    • λ \lambda λ也可以不是定值,当该状态置信度高时,让 λ = 0 \lambda=0 λ=0也就是在这个状态去估计后面的值

模型

model-base
  • distribution models = P ( s ′ , r ∣ s , a ) P(s',r|s,a) P(s,rs,a)

    sample models = 游戏模拟器

  • planning: 使用distribution models给出的经验训练

    learning: 使用sample models得到的真实数据训练

  • model-base算法: 与sample_model交互,用得到的数据估计distribution models,用distribution models生成数据,以planning方法得到最终策略

DynQ
  • 核心算法: 采样->RL更新->模型更新->用模型生成数据更新( × \times ×n次)
  • DynQ+: 太久没见过的轨迹需要重新采样,所以model给出的 R ′ = R + k r R' = R + k\sqrt{r} R=R+kr ,其中 r r r随时间递增
算法对比
  • 均匀采样: 太浪费

    on-policy采样: 收敛更快效果可能较糟(多次重复访问状态、但重复的状态误差不大没有更新意义)

    backward focusing: 优先关注那些会使得价值函数变化大的采样点 ( S , A ) (S,A) (S,A)、可以用 T D − e r r o r TD-error TDerror评估重要性

    启发式搜索: 使用人为设计估值函数估计(不更新)

  • 期望与采样算法关联

    v π v_\pi vπ v ∗ v_* v q π q_\pi qπ q ∗ q_* q
    期望策略迭代价值迭代q-策略迭代q-价值迭代
    采样 T D ( 0 ) TD(0) TD(0)x S A R S A SARSA SARSA Q − l e a n r i n g Q-leanring Qleanring

    期望backup: 更慢、(方法误差更小)更准

    采样backup:更快、且其子节点更准确(累积误差可能小)、当分支因子大的时后应该用采样

### 回答1: 《强化学习导论》是由Richard S. Sutton和Andrew G. Barto合著的一本经典教材。该书详细介绍了强化学习的基本概念、算法和应用。 强化学习是一种机器学习方法,通过让智能体与环境进行交互学习来解决决策问题。与其他机器学习方法不同,强化学习强调在面对动态环境时基于反馈机制进行学习和优化。智能体通过与环境的交互,通过试错学习来获取最佳行为策略。 该书首先介绍了强化学习的基本概念,包括马尔可夫决策过程、值函数、策略和模型等。然后详细介绍了著名的强化学习算法,如蒙特卡洛方法、时序差分学习、动态规划等。这些算法通过不同的方式来优化智能体的策略或值函数,以实现最优决策。 此外,书中还对探索与利用、函数近似、策略梯度和深度强化学习等重要主题进行了深入讨论。这些主题对了解和解决实际应用中的强化学习问题非常重要。 《强化学习导论》还涵盖了一些实际应用,如机器学习人工智能领域的自适应控制、机器人学、游戏和金融等。这些实际应用案例有助于读者将强化学习的概念和算法应用于实际问题,并了解其在不同领域的应用情况。 总的来说,《强化学习导论》是学习和了解强化学习领域必不可少的一本书。它详细介绍了强化学习的基本概念、算法和应用,并通过实际案例帮助读者更好地理解和应用强化学习。无论是对学术研究者还是工程师来说,这本书都是一份极具价值的参考资料。 ### 回答2: 《强化学习简介》是Richard S. Sutton和Andrew G. Barto编写的一本经典教材,旨在介绍强化学习的基本理论和方法。本书详细阐述了强化学习中的关键概念,包括马尔可夫决策过程(MDP),值函数、动作值函数和策略等。 在《强化学习简介》中,作者首先介绍了强化学习的背景和定义,并提出了马尔可夫决策过程作为强化学习问题建模的基础。马尔可夫决策过程包括状态、动作、奖励和转移概率这四个主要要素,通过定义系统状态空间、动作空间、奖励函数和状态转移概率函数,可以将强化学习问题转化为一个数学模型。 书中还介绍了强化学习的两种核心学习方法:值函数学习和策略搜索。值函数学习通过估计状态或状态-动作对的值函数,来指导智能体在不同状态下采取最优动作,并通过迭代更新值函数来提高策略的质量。策略搜索则是直接搜索和优化策略本身,通过改进策略来达到最优操作。 此外,本书还介绍了重要的强化学习算法,包括Temporal Difference Learning(TD-Learning)、Q-Learning和策略梯度方法等。这些算法通过巧妙地利用奖励信号和经验数据,来指导智能体学习最佳策略。 《强化学习简介》不仅深入浅出地介绍了强化学习的基本概念和方法,还提供了大量的实例和案例分析,帮助读者更好地理解和应用强化学习。无论是对强化学习感兴趣的研究人员、学生,还是从业者,这本书都是一本不可或缺的参考读物。 ### 回答3: 《强化学习导论》是一本介绍强化学习的重要著作。该书由Richard S. Sutton和Andrew G. Barto合著,共分为十章,全面介绍了强化学习的概念、方法和应用。 在书中,作者首先介绍了强化学习的基本概念,包括马尔科夫决策过程(MDP),状态、动作和奖励的定义以及强化学习中的基本问题,如策略选择和价值函数估计。 接下来,书中介绍了各种强化学习算法,包括值迭代、策略迭代和蒙特卡洛方法等。这些算法分别用于解决不同类型的强化学习问题,如预测、控制和学习价值函数。 此外,书中还介绍了基于模型的强化学习方法,如动态规划和强化学习中的基于模型的规划。这些方法利用对环境的模型进行规划,以改进策略和价值函数的学习效果。 在进一步讨论强化学习的高级主题时,作者介绍了函数逼近和深度强化学习。这些技术允许在复杂环境中处理高维状态和动作空间,并在估计价值函数和优化策略方面取得更好的性能。 最后,书中还包括了对强化学习的应用领域的概述,包括游戏、机器人和交通等。这些应用展示了强化学习在解决实际问题中的潜力和成功案例。 总的来说,《强化学习导论》全面而深入地介绍了强化学习的基本原理、算法和应用。它适合作为学习和研究强化学习的入门材料,并为读者提供了理解和掌握强化学习的基础。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值