训练前馈神经网络

julien2313

我有一个前馈神经网络,他的目标是学习如何玩游戏(例如,连接4)。我想通过与自己玩游戏来训练我的神经网络。

我的问题是,我不知道如何训练我的神经网络。如果我有另一个好的算法可以确定给定板的最佳移动,那么在我看来,这会更容易,但是我不想使用这种方式。

因此,我不知道一个举动是否是一个好举动,我只知道哪个玩家赢了(神经网络同时赢得了两个玩家,但我知道是第一个还是第二个玩家赢了),而且这些举动也发挥了作用在比赛中。

此刻,我在Go中编写了一个程序来初始化神经网络,可以检查连接4板是否获胜,根据该板计算神经网络的输出,然后可以与神经网络进行对抗,或者让它与自己抗衡。对我来说,我只需要一个在比赛结束时训练我的神经网络的功能?我做了什么:https : //github.com/Julien2313/connectFour

安德普

要将神经网络(或实际上是任何有监督的学习方法)用于自主游戏,您需要确定算法可以学习的数值或分类值。

一种可能的解决方案是将游戏状态映射动作另一个方法是将游戏状态映射得分但是在某些游戏中,可能无法学习这些内容(Connect 4没有分数),或者可能无法轻松获得数据。在这种情况下,不能(或至少不应)使用监督学习算法

存在另一个称为“强化学习”的机器学习框架,该框架可以非常优雅地处理此问题。您可以训练算法来选择整个游戏中的移动(或动作),而不是提供带有标记数据的神经网络,如果算法(代理)获胜,则仅提供1;如果代理丢失,则提供-1。

Q-Learning是此框架中最受欢迎的算法(尽管可能不是最好的)。实际上,将Q学习与深度神经网络相结合来玩具有挑战性的游戏是很常见的。这与Google的Deepmind(包括David Silver)在Go上击败Lee Sedol的设置大致相同。

我建议对Richard Sutton的《强化学习:简介》进行研究,以了解更多有关该主题的知识,但是对于更快的学习体验,Wikipedia的Q学习文章可能就足够了。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

训练前馈神经网络

来自分类Dev

前馈-神经网络Keras

来自分类Dev

TensorFlow:2层前馈神经网络

来自分类Dev

如何提高前馈神经网络的准确性?

来自分类Dev

Pytorch中的任意形状前馈神经网络

来自分类Dev

为什么前馈神经网络不通用?

来自分类Dev

教授完全连接的前馈神经网络XOR函数

来自分类Dev

什么是广义前馈神经网络 (GFF)?

来自分类Dev

前馈神经网络和递归神经网络之间的根本区别?

来自分类Dev

前馈神经网络和递归神经网络之间的根本区别?

来自分类Dev

功能API链接前馈网络和卷积神经网络

来自分类Dev

神经网络在线训练

来自分类Dev

创建用于多类分类的基本前馈感知器神经网络

来自分类Dev

反向传播和前馈神经网络有什么区别?

来自分类Dev

创建用于多类分类的基本前馈感知器神经网络

来自分类Dev

使用“预测”包中的前馈神经网络时出错

来自分类Dev

注意机制可以应用于前馈神经网络这样的结构吗?

来自分类Dev

将复数值图像馈入神经网络(tensorflow)

来自分类Dev

神经网络训练期间的MSE

来自分类Dev

神经网络反向传播未训练

来自分类Dev

Encog神经网络训练Java太慢

来自分类Dev

用正弦函数训练神经网络

来自分类Dev

嘈杂的神经网络训练集

来自分类Dev

训练后适应神经网络

来自分类Dev

训练神经网络以获取更新数据

来自分类Dev

如何只训练神经网络的前端?

来自分类Dev

嘈杂的神经网络训练集

来自分类Dev

训练后适应神经网络

来自分类Dev

用正弦函数训练神经网络