Conservative Q-Learning(CQL)保守Q学习(三)-CQL在DDPG下的代码实现和实际应用效果

笔者对CQL进行了实现和原文章代码部分的修改,放在了下面的链接里,欢迎各位对代码提出点评和修正。
代码链接在:https://github.com/outongyiLv/CQLwithDDPG
以下对该代码进行一定的描述方便大家理解和运行。
1.首先笔者采用OnlineDDPG算法进行了训练,并得到了训练结果,模型参数存储在目录下名为DDPG_weight的文件中。
2.笔者根据OnlineDDPG得到的weight进行了大规模采样( s , a , r , s ′ s,a,r,s' s,a,r,s)对,存储样本量为100000对样本(用户可自行设置样本量大小进行采样,采样请运行Sampling_data.py文件并修改迭代轮次即可)
3.笔者使用该采样数据进行了离线DDPG和离线CQLDDPG的编写,主体模型分别在OffLineDDPG.py与OffLineCQLDDPG.py文件中。
4.用户可以直接运行OFFLineT_CQL.py与OFFLineT_QL.py两个文件来分别对应的加入了CQL的DDPG和未加入CQL的DDPG算法,得到结果并画图。
下面笔者展示一下笔者运行后的效果,均在batch=256下,跑了100*2000=20W个epoch运行得到,横坐标每1等于2000epoch。结果图如下展示:可以看出,加入了DDPG后的CQL相对较为稳定一些,但是笔者在此问题"BipedalWalker-v3"中并未发现它的明显优势,只能说在Reward的结果上,两者差距并不是很大,并且还存在着偶然性。可能是由于10W的数据集采用Batch=256来采样效果可能稍差一些并且存在一定的偶然性。欢迎各位去实现并回馈笔者。
在这里笔者跑出的两者maxreward分别是:
CQL+DDPG:22.1141
DDPG:25.9134

但是两者方差差距极大:
CQL+DDPG:251.3043
DDPG:2929.3041

Conservative Q-Learning(CQL)保守Q学习(三)-CQL在DDPG下的代码实现和实际应用效果_第1张图片

你可能感兴趣的:(Python,Basic,and,Code,学习,机器学习,人工智能,深度学习)