# 强化学习期中作业_对DQN进行改进 **Repository Path**: zzj_rs/RL_homework_DQN ## Basic Information - **Project Name**: 强化学习期中作业_对DQN进行改进 - **Description**: 2022年中山大学强化学习期中作业,通过不同的方法改进DQN如:Double DQN、 Dueling DQN、 优先级回放、 并行训练 小组成员:赵子健、林梓健 代码改进基于: https://gitee.com/goluke/dqn-breakout - **Primary Language**: Python - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2022-11-11 - **Last Updated**: 2023-11-05 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 项目说明 项目名称:2022强化学习与博弈论期中作业 任务简介:采用不同的方法对DQN进行改进 小组成员:赵子健、林梓健 ## 代码改进基础: 本仓库中代码均基于[Luke/dqn-breakout (gitee.com)](https://gitee.com/goluke/dqn-breakout)进行改进或添加新功能 ## 代码运行方式: 通过cd命令进入一个文件夹后,执行bash run.sh 训练结果会展示在reward.txt中,中间模型保存与models文件夹,通过display.ipynb可以进行可视化 ## 文件说明: ### DQN, Double DQN, Dueling DQN 将DQN改进为DQN和Dueling DQN,执行main.py后可以根据提示选择三种策略中的一种进行学习 此外可以选择是否使用延迟帧策略,如果使用该策略会将连续的3帧合并成1帧 可以选择是否需要stablize paddle,如果使用该策略,在train时会为不动的action额外加分0.05(当然在evaluate时没有这一加分),从而使paddle移动更加稳定 ### Prioritized Experience Replay 此模型采用优先级回放的方式进行步骤抽取,基于DQN的学习策略 ### Asynchronous Methods 此模型采用Asynchronous one-step Q-learning - pseudocode for each actor-learner thread的方法,由于python进程并行对于内存共享支持有限且代码框架已经提供,所以在代码实现中采用了线程并发的方式代替