作为一个新手,写这个强化学习-基础知识专栏是想和大家分享一下自己学习强化学习的学习历程,希望对大家能有所帮助。这个系列后面会不断更新,希望自己在2021年能保证平均每日一更的更新速度,主要是介绍强化学习的基础知识,后面也会更新强化学习的论文阅读专栏。本来是想每一篇多更新一点内容的,后面发现大家上CSDN主要是来提问的,就把很多拆分开来了(而且这样每天任务量也小一点哈哈哈哈偷懒大法)。但是我还是希望知识点能成系统,所以我在目录里面都好按章节系统地写的,而且在github上写成了书籍的形式,如果大家觉得有帮助,希望从头看的话欢迎关注我的github啊,谢谢大家!另外我还会分享深度学习-基础知识专栏以及深度学习-论文阅读专栏,很早以前就和小伙伴们花了很多精力写的,如果有对深度学习感兴趣的小伙伴也欢迎大家关注啊。大家一起互相学习啊!可能会有很多错漏,希望大家批评指正!不要高估一年的努力,也不要低估十年的积累,与君共勉!
首先是我们是我们需要决定是用两个网络分别去拟合Actor网络和Critic网络还是分别去拟合:
使用两个网络的优势是容易训练且稳定,缺点是没有共享feature,导致参数量增大,计算量也增大。而使用一个网络解决了两个网络的优势,但是有可能会出现两个部分冲突的问题
其次就是选择online模式还是batch模式:
如果是连续的state形成的batch,state之间会存在很强的相关性;但是一般情况下,采用batch模式都会更有效地帮助我们降低方差。
在采样数据的时候我们一般有两种方式:第一种是同步采样,在多个worker上采集样本,等到达到一定数量后,进行更新,等待更新完毕,在获取新的模型参数,进行下一个batch的采样。第二种则是异步采样,在各个worker上采集样本后,计算梯度后,将梯度传给learner,进行更新,learner在更新后分发新的参数。目前大型的学习系统通常是采用异步的模式,主要似乎因为速度比较快,但是这种方式可能会出现梯度延迟或者对于on-policy方法带来样本off-policy的问题,后面有许多算法都在解决这个问题。
上一篇:强化学习的学习之路(三十八)_2021-02-07: Actor Critic - Discount factor
下一篇:强化学习的学习之路(四十)_2021-02-09: Actor Critic -Critics as baselines