Artificial intelligence 经典bp神经网络与TD学习在棋盘游戏中的应用
我想问,在棋盘游戏中使用标准反向传播神经网络和TD学习方法是否有意义 我的方法如下所示:Artificial intelligence 经典bp神经网络与TD学习在棋盘游戏中的应用,artificial-intelligence,neural-network,reinforcement-learning,Artificial Intelligence,Neural Network,Reinforcement Learning,我想问,在棋盘游戏中使用标准反向传播神经网络和TD学习方法是否有意义 我的方法如下所示: 玩一局。Net有时扮演贪婪策略和随机移动的玩家 对于每个存储的游戏位置(从终端1开始并移动到起始位置),计算估计位置值和期望位置值,例如 boards_values[i]['desired_value'] = boards_values[i]['estimated_value'] + 0.4 * ( boards_values[i+1]['estimated_value'] - boards_values[
boards_values[i]['desired_value'] = boards_values[i]['estimated_value'] + 0.4 * ( boards_values[i+1]['estimated_value'] - boards_values[i]['estimated_value'] )
NN.train([pattern], iterations=1, N=0.001, M=0.000001)
(19134275),(159102239),(350136514)-新鲜净水
(427,21,52),(312,16172),(739,37224)-在+50k游戏之后 输入为18个神经元,格式为:
对于x的每个板单元组(1,0),空单元组(0,0)和o的板单元组(0,1)。输出为-1,1范围内的一个单位赢/输概率估计
Tic tac toe只是在测试沙盒,当我成功完成后,我将转向更复杂的纸牌游戏(“失落的城市”)。是的,这是相对标准的。这是特萨罗在他的程序中所采取的方法,该程序训练了一个人工神经网络,使其能够比最好的人类玩家更好地玩双陆棋(经过150万场比赛的自举训练) 然而,有许多警告:
- 众所周知,人工神经网络很难正确使用。通过在一些简单的监督学习问题上进行测试,您是否确保了您的实现按预期执行
- TDGammon使用神经网络为每个游戏状态提供启发式实用程序,并将其与2层alpha/beta修剪算法相结合。在现代计算机上,可以使用更深入的前瞻性(例如,我最近编写了一个代码,可以轻松管理分支因子为7的游戏上的10层搜索,在解释(非编译)代码上,并且在考虑启发式之前)
- TD学习并不是唯一的强化学习算法。我在过去成功地应用了SARSA和Q-Learning,它们通过优先探索看起来有希望的策略而忽略看起来不好的策略来加速搜索。您需要将它们与an结合起来,以确保它们有时会探索看起来不好的策略,以避免陷入局部极小值。ε=0.1的简单策略通常效果良好
- 是强化学习算法中加快学习速度的有效方法。使用合格性跟踪的算法包括TD(λ)、SARSA(λ)和Q(λ)。不过,您需要小心——现在有另一个参数需要拟合,这意味着在训练模型时更重要的是要小心。使用测试集