首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我的2048游戏双DQN算法从不学习

我的2048游戏双DQN算法从不学习
EN

Stack Overflow用户
提问于 2017-07-06 07:24:42
回答 1查看 640关注 0票数 1

我试着做双DQN算法来学习玩2048游戏.如果您想检查代码,我的实现在GitHub中是可用的。(https://github.com/codetiger/MachineLearning-2048)

我的代码没有经过一个基本水平的学习。它不能达到256块以上的瓷砖。我的一些预测如下。

  1. 我正在使用一个随机玩家来训练代码。我想RL算法就是这样学习的。他们尝试一切可能的动作,从失败中吸取教训。我猜想是,因为我训练它使用随机移动,代码是学习非常有限的。
  2. 我试过的剧集最多有4000集。我如何计算出最佳的剧集数。
  3. 我的代码有问题。

我无法用我的方法来确定这个问题。想了解一下这方面的情况。

我的伪码在这里。

代码语言:javascript
复制
    for e in range(EPISODES):
        gameEnv.Reset()
        state = gameEnv.GetFlatGrid()
        state = np.reshape(state, [1, state_size])
        reward = 0.0
        prevMaxNumber = 0

        while True:
            action = agent.get_action(state)
            (moveScore, isValid) = gameEnv.Move(action + 1)

            next_state = gameEnv.GetFlatGrid()
            next_state = np.reshape(next_state, [1, state_size])

            if isValid:
                # Reward for step score
                reward += moveScore

                # Reward for New Max Number
                if gameEnv.GetMaxNumber() > prevMaxNumber:
                    reward += 10.0
                    prevMaxNumber = gameEnv.GetMaxNumber()

                gameEnv.AddNewNumber()
            else:
                reward = -50.0

            done = gameEnv.CheckGameOver()
            if done:
                reward = -100.0

            agent.append_sample(state, action, reward, next_state, done)
            agent.train_model()
            state = next_state

            if done:
                agent.update_target_model()
EN

回答 1

Stack Overflow用户

发布于 2018-02-21 00:32:06

我的两分钱

  • RL算法不是随机学习的。我建议您查看“Sutton and Barto (第二版)”,以获得对各种算法的详细描述。话虽如此,我认为您所链接的git代码并没有达到您预期的效果(为什么您有ES模块?你在用进化算法训练网络吗?)您可能希望从更简单和稳定的实现开始,比如这个https://yanpanlau.github.io/2016/07/10/FlappyBird-Keras.html
  • 对于一个简单的Q网络来说,2048年可能是一个很难学习的游戏,因为它需要长期的规划。对于DQN来说,学习玩控制/即时动作游戏要容易得多,比如Pong或but,但在需要一定时间规划的游戏中却做得不好(例如Pacman)。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44942285

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档