繁体   English   中英

为 Snake AI 代理选择神经网络架构

[英]Choosing a neural network architecture for Snake AI Agent

我是机器学习和强化学习的新手,我正在尝试创建一个学习玩 Snake 的 AI 代理。 我在选择/开发可以与我的输入/output 向量形状配合使用的神经网络架构时遇到问题。

我的输入是一个 3x10x10 的张量,基本上是 3 层 10x10 网格,蛇在上面移动(我在整个张量中只使用 0 和 1,在第一层标记蛇身体部位的 position,在第二层标记苹果的 Z4757FE07FD492A8BE0EA6A760D683D6 ,和蛇头position 3号)。

对于我的 output,我正在寻找一个包含 4 个值的向量,对应于玩家可用的 4 个可能的移动(将方向更改为上/下/左/右)。

我将不胜感激有关如何在这种情况下选择架构的 go 的任何建议,以及有关我选择将游戏 state 编码为输入向量以供代理训练的方式的任何想法。

你可以在一开始就使用 ResNet 架构,看看会发生什么。 基本上,ResNet 将形状为 HxWxC 的图像作为输入,其中 H 高度、W 宽度、C 通道。 在您的情况下,您没有实际图像,但您仍然在 3 个通道中对环境进行编码,HxW=10x10。 所以,我认为你的编码应该可以工作。

然后您还必须更改 ResNet 的 output 以便您将仅 output 4 个值,每个值将对应一个操作。

鉴于输入空间不是很大,也许你可以从一个非常小的 ResNet 18 开始,看看会发生什么。 鉴于您是 ML 和 RL 的新手,有一篇非常古老的论文试图使用深度学习https://arxiv.org/pdf/1312.5602v1.pdf来解决 Atari 游戏,而且该方法并不难理解。 Snake 是一款与 Atari 游戏具有相似(甚至更低)复杂性的游戏,因此本文可能会提供更多见解。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM