Q-learning时序差分强化学习算法

Q-learning是基于价值迭代的强化学习算法。

在Q-learning中要定义策略的动作价值函数 Q Q Q,以表示不同状态下不同动作的价值。记策略 π \pi π的动作价值函数为 Q π ( s t , a t ) Q^{\pi}(s_t,a_t) Qπ(st,at),表示在状态 s t s_t st下,执行动作 a t a_t at带来的累积奖励 G t G_t Gt的期望值。计算流程如下:

Q π ( s t , a t ) Q^{\pi}(s_t,a_t) Qπ(st,at) = E [ G T ∣ s t , a t ] E[G_T|s_t,a_t] E[GTst,at] = E [ r t + γ r t + 1 + γ 2 r t + 2 + . . . ∣ s t , a t ] E[r_t+\gamma r_{t+1}+\gamma ^2r_{t+2}+...|s_t,a_t] E[rt+γrt+1+γ2rt+2+...st,at] = E [ r t + γ Q π ( s t + 1 , a t + 1 ) ∣ s t , a t ] E[r_t+\gamma Q^{\pi}(s_{t+1},a_{t+1})|s_t,a_t] E[rt+γQπ(st+1,at+1)st,at](公式1)

公式1是马尔科夫决策过程中Bellman方程的基本形式,累积奖励 G t G_t Gt的计算,不仅考虑当下时刻 t t t的动作 a t a_t at的奖励 r t r_t rt,还会累积计算对之后决策带来的影响,公式1中的 γ \gamma γ是后续奖励的衰减因子。从公式上看,当前状态的动作价值 Q π ( s t , a t ) Q^{\pi}(s_{t},a_{t}) Qπ(st,at),与当前时刻的动作的奖励 r t r_t rt以及下一状态的动作价值 Q π ( s t + 1 , a t + 1 ) Q^{\pi}(s_{t+1},a_{t+1}) Qπ(st+1,at+1)有关,因此,动作价值函数的计算通过动态规划算法实现,但在状态转移未知或大规模问题时不能使用。

Q-learning使用浅层的时序分差采样学习在计算累积奖励时,基于当前的策略 π \pi π预测接下来发生的 n n n步操作并计算其奖励值。具体来说,假设在状态 s t s_t st下选择了动作 a t a_t at并得到了奖励 r t r_t rt,此时的状态转移到 s t + 1 s_{t+1} st+1,如果此时的状态策略选择了动作 a t + 1 a_{t+1} at+1,则 Q π ( s t , a t ) Q^{\pi}(s_t,a_t) Qπ(st,at)可以表示为:

Q π ( s t , a t ) Q^{\pi}(s_t,a_t) Qπ(st,at)= E s t + 1 , a t + 1 [ r 1 + γ A π ( s t + 1 , a t + 1 ) ∣ s t , a t ] E_{s_{t+1},a_{t+1}}[r_1+\gamma A^{\pi}(s_{t+1},a_{t+1})|s_t,a_t] Est+1,at+1[r1+γAπ(st+1,at+1)st,at]

由于强化学习的目标是求最大的奖励值,因此最优策略 π ∗ \pi^* π对应的动作价值函数 Q ∗ ( s t , a t ) Q^{*}(s_t,a_t) Q(st,at)满足:

Q ∗ ( s t , a t ) Q^{*}(s_t,a_t) Q(st,at)= m a x π Q π ( s t , a t ) max_{\pi}Q^{\pi}(s_t,a_t) maxπQπ(st,at)= E s t + 1 [ r 1 + γ m a x a t + 1 Q ( s t + 1 , a t + 1 ) ∣ s t , a t ] E_{s_{t+1}}[r_1+\gamma max_{a_{t+1}}Q(s_{t+1},a_{t+1})|s_t,a_t] Est+1[r1+γmaxat+1Q(st+1,at+1)st,at]

在更新的时候使用梯度下降方法,并至最终收敛。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值