Machine learning 俄罗斯方块强化学习

Machine learning 俄罗斯方块强化学习,machine-learning,reinforcement-learning,Machine Learning,Reinforcement Learning,我明白了怎么做的要点,但我似乎不明白我是如何保存状态的,因为俄罗斯方块有太多不同的状态,所以使用哈希映射不应该在本地工作,因为内存问题。也许你可以把不同的州映射到一个州,或者有其他的窍门吗?还是我只是有错误的想法 基于表的RL不能扩展到大的状态空间-你完全正确。这就是为什么要使用近似,既非常简单,如将状态映射到值的线性模型,又非常复杂,如深度-有时是递归神经网络-深度Q-网络等。。换句话说,您不需要映射状态->值,而是通过将Q值Qstate | parameters=value作为示例,对这两者

我明白了怎么做的要点,但我似乎不明白我是如何保存状态的,因为俄罗斯方块有太多不同的状态,所以使用哈希映射不应该在本地工作,因为内存问题。也许你可以把不同的州映射到一个州,或者有其他的窍门吗?还是我只是有错误的想法

基于表的RL不能扩展到大的状态空间-你完全正确。这就是为什么要使用近似,既非常简单,如将状态映射到值的线性模型,又非常复杂,如深度-有时是递归神经网络-深度Q-网络等。。换句话说,您不需要映射状态->值,而是通过将Q值Qstate | parameters=value作为示例,对这两者之间的函数依赖性进行建模,并优化参数以最适合观察到的实际状态/值对。值得注意的是,这不仅仅与内存有关,如果您使用表格方法,您实际上需要观察所有状态以获得一个好的模型,而使用函数/近似方法,您可能能够找到可以利用的状态空间的实际结构

所以我使用观察到的状态/值对作为训练数据来拟合函数的参数?在俄罗斯方块游戏中,奖赏应该是在每一场游戏结束时,还是在一块棋子落地后?我会在每一篇文章之后思考,因为在俄罗斯方块中,相对容易看到一个糟糕的动作。有关如何进行近似的详细信息,请参考萨顿的书,因为有一些小问题,这取决于你使用的rl方法。就奖励而言,这取决于你想要实现什么,你只是想要玩俄罗斯方块的东西吗?然后你可以根据你的专业知识来决定你的奖励。我会在两者之间争论——根据分数给予奖励。无论是在每一块砖块之后还是在胜利之后,都不会给出分数——当你划清界线时,就会给出分数,这应该足够好了。