当前位置:   article > 正文

深度Q学习——从入门到实践

深度Q学习——从入门到实践

一.Q-learning

q学习是强化学习中一种很经典的算法。

核心公式

Q(S,A)是当前状态下选择A的Q值。\alpha是学习率,这决定了Q值更新的快慢,一般我们都取1。\gamma是折扣因子,表示未来对现在的影响多少。

算法过程:

Q-learning在训练的时候,ϵ−greedy策略被用来选择动作。机器随机生成一个数,如果这个数超过ϵ, 那么就随机选择一个动作。反之,就选择当前Q值最大的动作,更新Q表。

得到Q表之后,当我们选择动作的时候,都是选择Q值最大的动作。

Q学习是一种长期决策,这一种长期而非贪心的思想就体现在gama上,他的Q值,不仅包括现在的Q值,得到的奖赏,还有选择这个动作之后的状态的未来最大动作Q值。

误区与重点

1.我在学习q-learning的时候,最容易迷惑的是怎么表示q表,我翻阅了很多网站,发现很少有人画出来。Q值表示的不是状态,还是这个状态下选择的动作。

Q值动作一动作二动作三动作四
状态一
状态二
状态三

2.q学习和马尔科夫决策过程是不同的。

q学习是基于马尔科夫过程的,但是又不完全一样。因为马尔科夫决策是必须知道状态转移概率的,不知道状态转移概率的马尔科夫叫部分可观察马尔科夫,这种问题传统的方法是很难求解的。但是dqn不需要状态转移概率,这也就导致dqn能解决的问题更多。

 3.误认为q学习能解决所有的问题。

当状态比较多的时候,q表需要的内存就很大,收敛也会缓慢,这就导致q学习被深度q学习替代。

二.deep Q-learning

 深度q学习就是用神经网络去替代q表。现在的dqn的种类很多,同时也衍生出很多不同的深度强化学习模型。这里我们介绍最简单的模型:

神经网络代替q表,计算出不同的q值。

 有兴趣的可以直接看我的代码:

https://github.com/Jinweiwei1997/AoI_NOMA.git

如果有需要,我会截图附上代码的流程。

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Gausst松鼠会/article/detail/468867
推荐阅读
相关标签
  

闽ICP备14008679号