强化学习笔记_2_价值学习_Value-Based Reinforcement Learning

0.Action-Value Function

Q π ( s t , a t ) = E [ U t ∣ S t = s t , A t = a t ] Q ∗ ( s t , a t ) = max ⁡ π Q π ( s t , a t ) \begin{aligned} Q_\pi(s_t,a_t)&=E[U_t|S_t=s_t,A_t=a_t] \\Q^*(s_t,a_t)&=\max_\pi Q_\pi(s_t,a_t) \end{aligned} Qπ(st,at)Q(st,at)=E[UtSt=st,At=at]=πmaxQπ(st,at)

1.Deep Q-Network (DQN)
  • 目标:最大化回报

    策略:在已知 Q ∗ ( s , a ) Q^*(s,a) Q(s,a)的情况下,取动作 a ∗ = arg ⁡ max ⁡ a Q ∗ ( s , a ) a^*=\arg\max_aQ^*(s,a) a=argmaxaQ(s,a),即评价价值最大的动作

    问题: Q ∗ ( s , a ) Q^*(s,a) Q(s,a)是未知的

    解决方法:DQN,通过神经网络(neural network) Q ( s , a ; w ) Q(s,a;w) Q(s,a;w) Q ∗ ( s , a ) Q^*(s,a) Q(s,a)进行近似,

  • 网络输入:状态 s s s

    网络输出:对不同动作的打分

    w w w:网络参数

image-20221016213436613

2.Apply DQN to Play Game

image-20221016213403276

3.Temporal Difference (TD) Learning
  • 算法理解:

    预测值(predict)为 q q q,实际值(target)为 y y y

    Loss: L = 1 2 ( q − y ) 2 L=\frac{1}{2}(q-y)^2 L=21(qy)2

    Gradient: ∂ L ∂ w = ∂ L ∂ q ⋅ ∂ q ∂ w = ( q − y ) ⋅ ∂ Q ( w ) ∂ w \frac{\partial L}{\partial w}=\frac{\partial L}{\partial q}·\frac{\partial q}{\partial w}=(q-y)·\frac{\partial Q(w)}{\partial w} wL=qLwq=(qy)wQ(w)

    Gradient descent: w t + 1 = w t − α ⋅ ∂ L ∂ w ∣ w = w t w_{t+1}=w_t-\alpha·\frac{\partial L}{\partial w}|_{w=w_t} wt+1=wtαwLw=wt

    以上算法需完成整个过程才能完成更新,而如果未完成整个过程,则根据已完成部分和预测值,得到一个新的预测值TD target为 y y y,将 δ = q − y \delta=q-y δ=qy定义为TD error,则为TD算法。

  • TD Learning for DQN

    将TD算法应用于DQN,在未完成整个序列的情况下进行学习。

    在TD算法中,有如下的等式:
    T A → C ≈ T A → B + T B → C T_{A\rightarrow C}\approx T_{A\rightarrow B}+T_{B\rightarrow C} TACTAB+TBC
    其中 T A → C T_{A\rightarrow C} TAC为需要估计的值, T A → B T_{A\rightarrow B} TAB为已完成部分的实际值, T B → C T_{B\rightarrow C} TBC为未完成部分的预测值。

    而在DQN中有类似的等式:
    Q ( s t , a t ; w ) = r t + γ Q ( s t + 1 , a t + 1 ; w ) Q(s_t,a_t;w)=r_t+\gamma Q(s_{t+1},a_{t+1};w) Q(st,at;w)=rt+γQ(st+1,at+1;w)
    在状态 s t s_t st下,采取动作 a t a_t at,得到状态 a t + 1 a_{t+1} at+1和reward r t r_t rt,再根据 Q Q Q函数的当前预测,计算 Q ( s t + 1 , a t + 1 ; w ) Q(s_{t+1},a_{t+1};w) Q(st+1,at+1;w),可以得到当前状态的TD target。

    其中, a t + 1 a_{t+1} at+1是根据当前 Q Q Q函数取的最优动作,即

    • TD target

    y t = r t + γ ⋅ Q ( s t + 1 , a t + 1 ; w t ) = r t + γ ⋅ max ⁡ a Q ( s t + 1 , a ; w t ) \begin{aligned} y_t&=r_t+\gamma·Q(s_{t+1},a_{t+1};w_t) \\&=r_t+\gamma·\max_a Q(s_{t+1},a;w_t) \end{aligned} yt=rt+γQ(st+1,at+1;wt)=rt+γamaxQ(st+1,a;wt)

    • Loss: L t = 1 2 [ Q ( s t , a t ; w ) − y t ] 2 L_t=\frac{1}{2}[Q(s_t,a_t;w)-y_t]^2 Lt=21[Q(st,at;w)yt]2

    • Gradient descent: w t + 1 = w t − α ⋅ L t w ∣ w = w t w_{t+1}=w_t-\alpha·\frac{L_t}{w}|_{w=w_t} wt+1=wtαwLtw=wt

    • Gradient descent: w t + 1 = w t − α ⋅ L t w ∣ w = w t w_{t+1}=w_t-\alpha·\frac{L_t}{w}|_{w=w_t} wt+1=wtαwLtw=wt

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值