深度强化学习制作4399小游戏ai
概述
这博主绝对是疯了才会想到制作4399小游戏的ai
首先这篇博客是篇我的日常总集以及计划安排
希望这篇能够为后来者制作某个小游戏ai的起到指导意义
下面三部分前期可以同时进行
游戏环境搭建
简述
训练游戏首先要有游戏是吧,接着算法要有它的输入输出是吧
这部分是用来为算法提供输入输出的
深度强化学习算法设计有几块需要注意的:
- 环境感知(游戏屏幕)
- 奖惩机制(游戏分数)
- 行为决策输出(游戏控制)
- 重置状态(重启游戏)
在这一部分里,我们就只考虑环境对于算法需要处理的部分
流程
- 从4399爬取游戏本体到电脑上 这部分可有可无,但我不希望网络成为影响我算法训练的一个因素
- 后台获取小游戏的窗口屏幕信息 算法的输入就是游戏屏幕了
- 向程序发送键盘控制命令 这边负责游戏的输出
- 试着联通算法与游戏
理论上不管训练,有了输入输出,这个时候算法应该能有随机输出控制游戏,虽然不可能收敛就是了 - 从小游戏窗口屏幕获取当前游戏状态
作为后面奖励函数设计的基石 - 在游玩状态下获取当前操作的分数
奖励函数设计的基石x2 - 游戏状态转移
当游戏胜利或游戏失败或超时时,重置游戏状态并用于进行下一轮训练
后面还缺什么就再补上吧
深度强化学习算法搭建
流程
- 观察别人的深度强化学习源码
- 改造源码
理解代码各部分的作用,调整奖励函数,输入输出,网络结构等 - 训练
看到第三步就是训练就能看出来我基本对深度强化学习了解不深了,这一块基本是空的,后续再添加要做的事情吧
搭建深度强化学习服务器
简述
这部分目的是在后面训练代码的时候不要伤害自己的电脑
之前为了毕设,电脑跑训练整整几个月基本没关过机
后来我花1.2k+修电脑了
这部分主要是在整个算法完成后才更会接触,然而现在算法还遥遥无期——2021.6.10
流程
- 研究各种服务器的区别
- 尝试搭建服务器
- 配环境