当前位置: 首页 > news >正文

[实践记录]强化学习训练实录——2048实战

在学习了一段时间基础之后,也就想进行一些工程实践

之前一直在倒立摆这个最简单的环境中进行学习和实践

有一说一是有点太简单了

上学期还在flappy bird环境中实现了一下简单的dqn和策略梯度

这不,马上要做个项目,于是就想在稍微复杂一点的环境里实现一下强化学习,顺便试试看ppo啥的效果

于是,想起了寒假整了老半天的小项目——经典游戏2048

那就按照我的实践步骤一点一点介绍吧

0.环境准备

我想弄2048的原因之一就是,Flappy_Bird和CatePole环境都在gym这个集成环境中封装好了

我想自己定义一下环境返回的奖励值(虽说实在是没啥必要吧,但是还是想自己实践一下)

于是乎,在github上找了一个简单的2048实践(对不起当时忘了star,找不到了)

它定义了简单的环境和奖励函数

就在这个环境里上dqn了

但是当时的效果并不好,就搁置了

后来就自己(用ai),用pygame库实现了一个小环境,添加了一些信息和接口。

返回信息主要是

  • 最大块数字
  • 空格数量
  • 总得分
  • 是否结束

(好吧其实跟gym返回的没啥区别)

然后就开整吧

1.强化学习改造

这部分分了三步,我最开始的想法是,先在最简单的dqn中实现一个看起来收敛的东西

然后再改策略梯度,再改ppo

那就改环境吧,把接口什么的改一改,超参数改一改

最主要的还是奖励函数和网络结构

不改不知道,一改吓一跳

网络结构这一块,首先把输入改为16个头

我把棋盘展平为一个1维向量,然后塞进网络中

接下来是两个全连接层

这一块问题不是很大

奖励函数这一块真是头大

最一开始,我觉得很简单,就是:每一步最大块取个2log,空格数乘个小系数,总得分乘一个小系数,加在一起

之后,每一局游戏把每一步的得分加在一起,得到一局的总奖励

然后就练吧,这能不收敛么

接下来吧,dqn的大方差,还有奖励函数不照气

导致loss和奖励开始极大震荡,没几轮就震荡到了几万,根本受不了

吸取了一些经验之后,发现是单步奖励太大,于是对单步奖励进行了一个clip,约束到2

还是不收敛

接下来是一个大改(在ai的帮助下)

最终的单步奖励改成了:

合并奖励:总得分,取一个log

最大奖励:上一次出现的最大块与本轮最大快做减法并取log

 

http://www.jsqmd.com/news/561650/

相关文章:

  • 双轨制新零售系统模式开发解析
  • 如何在7天内掌握实时媒体AI开发?从入门到产品落地的完整路径
  • k8s网络 - 小镇
  • 如何快速掌握Blender 3MF插件:面向3D打印的完整指南
  • 往MySQL数据库插入很长一段文本,提示报错:Data truncation: Data too long for column ‘name‘ at row 1
  • 2026年高压管件相关中低压管件厂,实力与口碑兼具,正规的高压管件尚恒管道引领行业标杆 - 品牌推荐师
  • 《计算理论导论》笔记
  • Linux利用三块新硬盘在Linux中构建LVM
  • 安徽美术艺考“烧钱”指南:怎样才算花在刀刃上? - 品牌企业推荐师(官方)
  • Wan2.1-UMT5技能提升:AI编程思维在提示词工程中的实践
  • 工牌心率操控:让焦虑值永保“安全区间“
  • 打破游戏画质壁垒:OptiScaler终极指南 - 免费解锁AMD/Intel/NVIDIA显卡超采样技术
  • 2026年3月研磨液厂家推荐:金刚石/水性金刚石/油性金刚石/氧化铝/二氧化硅/钢铁/无芯/振动/五金工具研磨液,高精度低损耗稳定研磨之选 - 品牌企业推荐师(官方)
  • 【计算机组成原理】深入解析I/O接口与I/O控制方式:从基础到实战
  • Adams 2024新功能实战指南:从仿真优化到工程应用
  • 2026年3月机械设备去油剂厂家推荐,工业清洗剂、金属去油剂、环保水基清洗剂实力源头厂商 - 品牌企业推荐师(官方)
  • 颠覆式镜像烧录工具:Balena Etcher如何重新定义安全与效率
  • 菏泽家电清洗培训:专业机构教你轻松掌握清洗技能
  • 计算机毕业设计:Python二手车智能定价与数据可视化平台 Django框架 随机森林 可视化 数据分析 汽车 车辆 大数据 hadoop(建议收藏)✅
  • Paste开源项目完全指南:从核心价值到实战配置
  • 直播内容捕获利器:DouyinLiveRecorder全方位技术指南
  • 新疆和田玉原石优质店铺推荐指南 - 第三方测评
  • Ubuntu环境下Qt5.12.10离线安装与配置全攻略
  • Go + Vue 打包成一个单二进制的后台系统,我做了个后台脚手架
  • 2026降AI率工具红黑榜:降AI率软件怎么选?用过才敢说!
  • 三、formily的字段联动实战:基于vue3+JsonSchema+ant-design-vue的动态表单设计
  • Windows系统,pytest 参数化中文乱码(显示 \u 编码)解决方案
  • SecGPT-14B镜像免配置:内置模型路径固定,便于Docker volume持久化备份
  • 如何解决多设备电量焦虑?Mac全设备电量监控方案
  • 从课堂实验到小项目:用Multisim仿真一个简易智能表决器(74LS138实战)