惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
J
Java Code Geeks
量子位
腾讯CDC
C
Check Point Blog
小众软件
小众软件
IT之家
IT之家
I
InfoQ
Hugging Face - Blog
Hugging Face - Blog
Stack Overflow Blog
Stack Overflow Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
GbyAI
GbyAI
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
博客园_首页
S
SegmentFault 最新的问题
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
Martin Fowler
Martin Fowler

博客园 - 孤独的猫咪神

通过TensorBoard进行PPO参数优化 TensorBoard PPO log 解析 macos(M4)上跑强化学习 - PyTorch LunarLander-v3 Stable-Baselines3 部分机型下,Flutter的flutter_inappwebview在使用evaluateJavascript调用postMessage失败的情况 HarmonyOS中,html 与 ets 桥接沟通 Flutter中,html 与 dart 桥接沟通 Flutter 环境变量 Mole,清理Mac的小工具 Flutter自定义主题Theme最佳实践 Ubuntu 20.04 开机自动添加git的ssh 米家 + arduino + 自定义服务器 Flutter 第三方库 Jenkins CLI 通过ssh方式链接时的证书 阿里云Ubuntu 14.04 + Nginx + .net core + MySql 移动开发网络接口 经验总结 阿里云Ubuntu 14.04 + Nginx + let's encrypt 搭建https访问 Pathoto项目:AWS+golang+beego搭建 osx开发,skport项目记录 使用Jekyll在Github上搭建博客 iOS搜索附近的位置(类似微博朋友圈位置) retrofit2中ssl的Trust anchor for certification path not found问题 Android中的Semaphore React Native 在现有项目中的探路 博客园 Linux客户端 2.0 正式发布! 博客园 Windows客户端 2.0 正式发布! 博客园 Mac客户端 2.0 正式发布!
自定义贪吃蛇环境进行PPO模型训练
孤独的猫咪神 · 2026-08-06 · via 博客园 - 孤独的猫咪神

接之前的内容通过TensorBoard进行PPO参数优化
已经基本跑通强化学习的流程后,开始尝试自定义一个环境进行训练。

项目地址 learn2

自定义环境

通过简单的环境进行尝试。
考虑过:

  • 五子棋:需要写一个五子棋的算法和ai下棋,🤔,先缓缓
  • 贪吃蛇:ai写一个贪吃蛇好像很快
  • 俄罗斯方块:会不会太复杂,考虑的内容有点多,一个M4的机器扛得住吗?不确定
  • FlappyBird:🤔,应该是一个不错的选项,但是没写过类似的游戏,没啥经验,后续可以研究研究
  • ...

综上所属:找ai写一个贪吃蛇。✌️
然后找ai写了一个CustomEnv.py

开始训练

根据之前的经验,训练了6次。
怎么说呢,感觉不是很理想。整体的训练虽然向着好的方向前进,但是有点,呃,🤔,波动感觉有点大。
如下图:

点击查看图片

40c53a41-5114-4123-8056-f3a83352cd72

虽然成功的让ep_rew_mean变成了正数,但是出现了一些问题。
测试的时候发现:

  • 一直原地转圈。最小的4个格子,疯狂的转圈圈,不去找食物。
  • 没有积极的去吃食物,会出现乱跑散步的情况。

😐,总计起来就是:训练的毫无意义。

通过检查,可以发现,最开始为了省事,使用ai生成的贪吃蛇代码,其中是有些问题的:

  • 每执行一步-0.01,吃到食物+1,这样就会出现一种情况:不停的绕圈活着比找食物冒险,获得的收益要高(这里需要注意,这个收益是指在训练过程中,随机的情况下,一只绕圈所获得的奖励会高于或等于平均每局的奖励)。所以,就会出现转圈圈苟活的情况。
  • 死亡-1,吃到食物+1,正向收益不够的时候,就会出现在初期就减少探险的行为,导致不愿意探索。(个人感觉,这个虽然可以通过加长训练时间来进行弥补,但是会让模型偏保守)。
  • 填满地图通关没有额外奖励,导致模型没有动力去追求最高分。

所以,总结一下,个人认为,进行PPO模型训练的时候,不应只是一味的调整模型参数进行训练,也要同步进行思考模型的训练环境所给的奖励反馈是否合理。