美文网首页AI快速入门
期末作业:使用深度神经网络学习俄罗斯方块游戏的策略

期末作业:使用深度神经网络学习俄罗斯方块游戏的策略

作者: 红茶绅士 | 来源:发表于2017-06-24 15:32 被阅读161次

    建立工程,导入相关工具包

    import tensorflow as tf
    import cv2
    import sys
    sys.path.append("game/")
    import dummy_game 
    import tetris_fun as game
    import random
    import numpy as np
    from collections import deque
    

    主要修改导入的游戏程序:import tetris_fun as game

    设置超参数

    GAME = 'tetris' # 设置游戏名称
    ACTIONS = 5 # 设置游戏动作数目
    GAMMA = 0.99 # 设置增强学习更新公式中的累计折扣因子
    OBSERVE = 10000. # 观察期
    EXPLORE = 200000. # 探索期
    FINAL_EPSILON = 0.0001 # 设置epsilon的最终最小值
    INITIAL_EPSILON = 0.1 # 设置epsilon贪心策略中的设置epsilon贪心策略中的初始值
    REPLAY_MEMORY = 50000 # 设置Replay Memory的容量
    BATCH = 32 # 设置每次网络参数更新时用的样本数目
    FRAME_PER_ACTION = 1 # 设置几帧图像进行一次动作
    

    俄罗斯方块动作有:上下左右旋转五种操作,所以设置ACTIONS = 5
    其余设置与flappy_bird基本相似.

    解决程序未响应的问题

    问题描述

    训练环境:Mac OS Python3.5.2
    进行训练时游戏画面空白,进程显示未响应.

    在讨论区看到的解决方法:

    frame_step(self,input)函数中加入一句代码pygame.event.pump()

    训练结果

    总共进行了两次训练,设置epsilon的最终最小值FINAL_EPSILON = 0.01 和 FINAL_EPSILON = 0.0001,迭代次数分别为700000次和560000次.
    结果并不是很理想,还是不停的在Game Over

    游戏源码

    相关文章

      网友评论

        本文标题:期末作业:使用深度神经网络学习俄罗斯方块游戏的策略

        本文链接:https://www.haomeiwen.com/subject/bpjkcxtx.html