Machine learning 国际象棋评价函数的训练
我将要写一个基于强化学习的国际象棋引擎。 我想训练一个评估函数,并找出董事会最重要功能的权重 我不是机器学习专家,我只是想从书本和教程中学习。在每个教程中,奖励都非常简单,通常是1,0,也许是-1,但在国际象棋中没有这样明显的奖励(不管检查伙伴的位置)。 例如,假设我在黑板上有一个情况。我做了10次(随机)移动,在这一点上我应该计算奖励,起始位置和当前位置之间的差异(或错误)。当我唯一的评估功能正在接受培训时,如何做到这一点Machine learning 国际象棋评价函数的训练,machine-learning,evaluation,chess,reinforcement-learning,reward,Machine Learning,Evaluation,Chess,Reinforcement Learning,Reward,我将要写一个基于强化学习的国际象棋引擎。 我想训练一个评估函数,并找出董事会最重要功能的权重 我不是机器学习专家,我只是想从书本和教程中学习。在每个教程中,奖励都非常简单,通常是1,0,也许是-1,但在国际象棋中没有这样明显的奖励(不管检查伙伴的位置)。 例如,假设我在黑板上有一个情况。我做了10次(随机)移动,在这一点上我应该计算奖励,起始位置和当前位置之间的差异(或错误)。当我唯一的评估功能正在接受培训时,如何做到这一点 我希望避免使用其他引擎的评分系统,因为我觉得这更像是监督学习,这不是我
我希望避免使用其他引擎的评分系统,因为我觉得这更像是监督学习,这不是我的目标。你不能直接这样做 我可以建议以下几种方法:
- 使用外部来源的评分至少可以启动您的算法。评估一个给定位置的算法是非常有限的,而你的AI单靠它是无法达到大师级的李>
- 探索使用另一种国际象棋AI(理想情况下为开源)评估位置的可能性。假设你有一个“老师”AI。您可以启动2个实例,然后从要评估的位置开始游戏。让他们从那里开始互相比赛,直到比赛结束。此举是否成功?根据结果奖励你自己的AI李>
- 要添加一些可变性(您不想比单个AI更好),请对其他AI执行相同的操作。甚至,你自己的人工智能在与自己对抗。不过,要想让后者发挥作用,可能就需要已经象棋了,而不是完全随机下棋。你可以多次重放同一个动作,完成游戏,让你的AI随机探索新的动作和策略(例如:在路上尝试第二好的动作)李>
- 使用真实玩家之间的游戏数据集为您的ML提供信息。因此,赢家和输家的每一步都可以“强化”
- 让你的AI通过与真正的玩家比赛来学习。强化你的AI动作(输赢的)和玩家的AI动作李>