苏州全网网站建设,外地公司做的网站能备案,校园网站建设的缺陷,网络设计行业是干什么的参考
PPO算法逐行代码详解
链接
通过网盘分享的文件#xff1a;PlaneWar 链接: https://pan.baidu.com/s/1cbLKTcBxL6Aem3WkyDtPzg?pwd1234 提取码: 1234
10.17关于博客发了又改这件事
悲催的事
今天训练了一早上ppo模型#xff0c;满怀期待的检测成果时发现一点长进都…参考
PPO算法逐行代码详解
链接
通过网盘分享的文件PlaneWar 链接: https://pan.baidu.com/s/1cbLKTcBxL6Aem3WkyDtPzg?pwd1234 提取码: 1234
10.17关于博客发了又改这件事
悲催的事
今天训练了一早上ppo模型满怀期待的检测成果时发现一点长进都没有。结果查出来一件悲催的事模型一直都在输出静止指令昨晚只训练了一会刚好看到有个得了200分的模型还以为ok了的。 现在想想不知道我是运气好还是不好那个飞机就靠着随机数(dqn遗留下来的我没删)拿了个200分还把我骗过去了…只能说游戏特性造就了它静止时没子弹打他随机数又帮它躲子弹和拿buff要是在贪吃蛇活不过一秒
修改
连续换了几个关键词总算在github上找到了使用ppo的游戏ai。 这次就快很多了一顿cv甚至都不用怎么改(开源万岁)因为它是用pygame实现游戏的。 这次不敢怎么改了太多坑了。但是不改的话ai只能决定移动方向过于死板。人类玩的时候可以通过按钮的点击时长来控制飞机速度而ai只能一点点挪动。因此我将输出值由之前的4变成了13(不够还可以再加),即4*31。 0 - 静止 1 5 9 上 2 6 10 右 速度依次增大 direction actionif direction 0:distance 0else:#1 2 3 4 上 右 左 下 好别扭呀distance5*int(direction/41)directiondirection%41
10.16
静默
昨晚问了一下gpt将昨天的静默模式完善了一下(之前的贪吃蛇在训练时就是静默的同时32个一起训可惜这个项目不太好实现报“无法序列化”类似的错)。
dqn改成了ppo
效果拔群
平均分明显挺高了好多。 就是改的过程有点折磨人了。一开始想找博客没见有直接用游戏做示例的直接看又没心思。想着去问ai简单点
给的很痛快bug一堆…改了一小时后它成功帮我克服了数学恐惧症找博客看了。 将博客代码cv进去后由于本项目传进net中的是一整张图我在网上找不到啥相关了只好又跟ai斗智斗勇了一番。早上九点研究到下午五点一直在找bug。 结果吃了顿饭回来才发现可以参考dqn的代码(有时候脑袋不灵光很简单的事就是想不通)。工作量一下就缩小了好几倍后面就是将dqn中的update函数魔改成ppo的(个人感觉dqn改成ppo主要改这里就行)
有些问题实在难以解决那就只能灵活一下绕过去了。
ppo的强大
换成了ppo,画面不卡顿了模型文件变小了(dqn 600MB,现在ppo 3MB)平均分也变高了。
起始分
每次都要重新开始会导致缺少对抗boss的经验。通过设置初始分起到类似选择关卡的作用开局对战boss(200分第一个boss出现)。
10.15
奖励分
昨晚看到别的强化学习视频发现之前设计的奖惩机制太简陋了。有些奖励分重复例如角色受到的伤害与敌人造成的伤害都会给予惩罚(不知道当初咋想的)有些需要奖励的没给到位例如没有存活分。 研究了一早上关于奖励的机制后总体表现好了点却出现了新问题现在经常突然就冲进敌群里自杀。刚开始我以为是击杀分过高了导致ai过于勇猛。结果几度大砍击杀分和增强存活分(有可能造就一个怂货)反而更猛了还学会了冲到最上面去吃伤害… 不信邪的我打了几个log看了一下奖励分到底怎么变化的。无效跟我想的差不多但效果却大相径庭。
pygame卡顿
敌人过多时会导致卡住。通过装饰器测了一下时间发现游戏刷新耗废了大部分时间。 期间又是修修改改缝缝补补。又是暂停计时器又是进程中夹带线程还不小心搞成了静默模式。