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

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
人人都是产品经理
人人都是产品经理
爱范儿
爱范儿
aimingoo的专栏
aimingoo的专栏
博客园 - 叶小钗
H
Help Net Security
Microsoft Security Blog
Microsoft Security Blog
The Cloudflare Blog
S
SegmentFault 最新的问题
小众软件
小众软件
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 司徒正美
The GitHub Blog
The GitHub Blog
量子位
H
Hackread – Cybersecurity News, Data Breaches, AI and More
V
V2EX
Martin Fowler
Martin Fowler
博客园 - 【当耐特】
J
Java Code Geeks
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
F
Fortinet All Blogs
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI

博客园 - 孤独的猫咪神

通过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模型训练的时候,不应只是一味的调整模型参数进行训练,也要同步进行思考模型的训练环境所给的奖励反馈是否合理。