如何使用强化学习教授神经网络的棋盘游戏策略?

时间:2016-01-05 11:01:07

标签: algorithm machine-learning neural-network reinforcement-learning q-learning

我需要使用强化学习来教授神经网络棋盘游戏的策略。我选择Q-learning作为特定的alghoritm。

我喜欢神经网络具有以下结构:

  1. 图层 - rows * cols + 1神经元 - 输入 - 棋盘上连续字段的值(0表示空,12表示玩家),动作(自然数) )在该州
  2. 图层 - (??)神经元 - 隐藏
  3. layer - 1 neuron - output - 给定状态下的动作值(float)
  4. 我的第一个想法是从创建状态,动作和值的地图开始,然后尝试教授神经网络。如果教学过程不成功,我可以增加神经元的数量并重新开始。

    然而,I quickly ran into performance problems。首先,我需要从简单的内存中的Python dict切换到数据库(没有足够的RAM)。现在数据库似乎是一个瓶颈(简单地说,有很多可能的状态,检索动作的值正在花费相当多的时间)。计算需要数周时间。

    我想有可能在运行中教授神经网络,而不是中间的地图层。但是我如何在隐藏层上选择正确数量的神经元呢?我怎么能弄清楚我是否失去了永久保存(学习)的数据?

0 个答案:

没有答案