我正在做一个小井字游戏项目来学习神经网络和机器学习(初级)。我编写了一个基于 MLP 的程序,它可以与其他基于搜索的程序一起使用,并使用游戏生成的数据进行训练。
训练和评估是严格基于策略的——输入是棋盘位置,输出是单热编码数组,代表该棋盘位置的推荐移动。我没有添加搜索算法,以便我可以理解对纯粹 MLP 方法的期望。
MLP 模型有 35 个特征和 1 个隐藏层,经过几十万场比赛,它已经学会了画出 50% 的比赛。它已经学会了一些基本的东西,比如如何阻止玩家获胜和一些好的棋盘布局。
现在,我的问题是 - 它还没有学习需要采取可能对当前行动没有那么有利但会在以后提高其机会的行动的高级策略。但是我应该期望从严格的基于 MLP 的无搜索方法中获得这一点吗?由于它所训练的只是一个棋盘和下一个推荐的棋步(即使有成千上万对),期望它学习超越“当前棋盘的最佳棋步”训练的前瞻性方法是否合乎逻辑?
换句话说,MLP 是否有可能在没有任何搜索策略的情况下提前学习?如果没有,是否有任何替代方法可以在不搜索的情况下做到这一点?