作家
登录

深度强化学习入门:用TensorFlow构建你的第一个游戏AI

作者: 来源: 2017-11-21 10:53:27 阅读 我要评论

is r + gamma * max Q(s’,a’) 
  •             ""
  •             #  Here Q_sa is max_a'Q(s', a') 
  •             Q_sa = np.max(model.predict(state_tp1)[0]) 
  •              
  •             #if the game ended, the reward is the final reward 
  •             if game_over:  # if game_over is True 
  •                 targets[i, action_t] = reward_t 
  •             else
  •                 # r + gamma * max Q(s’,a’) 
  •                 targets[i, action_t] = reward_t + self.discount * Q_sa 
  •         return inputs, targets 
  • 定义模型

    如今让我们定义这个应用 Q-Learning 进修 Catch 游戏的模型。我们应用 Keras 作为 Tensorflow 的前端。我们的基准模型是一个简单的三层密集收集。这个模型在简单版的 Catch 游戏傍边表示很好。你可以在 GitHub 中找到它的完全实现过程。

    1. num_actions = 3  # [move_left, stay, move_right] 
    2. hidden_size = 100 # Size of the hidden layers 
    3. grid_size = 10 # Size of the playing field 
    4.  
    5. def baseline_model(grid_size,num_actions,hidden_size): 
    6.     #seting up the model with keras 
    7.     model = Sequential() 
    8.     model.add(Dense(hidden_size, input_shape=(grid_size**2,), activation='relu')) 
    9.     model.add(Dense(hidden_size, activation='relu')) 
    10.     model.add(Dense(num_actions)) 
    11.     model.compile(sgd(lr=.1), "mse"
    12.     return model 

    摸索

    你也可以测验测验加倍复杂的模型,测试其可否获得更好的机能。

    Q-Learning 的最后一种成分是摸索。日常生活的经验告诉我们,有时刻你得做点奇怪的工作或是随机的手段,才能发明是否有比日常动作更好的器械。

    Q-Learning 也是如斯。老是做最好的选择,意味着你可能会错过一些大年夜未摸索的门路。为了避免这种情况,进修者有时会添加一个随机项,而未必老是用最好的。我们可以将定义练习办法如下:

    1. def train(model,epochs): 
    2.     # Train 

        推荐阅读

        什么是云计算数据中心?云计算数据中心和传统IDC有何区别?

      Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 传统小IDC存活将更难,那么必>>>详细阅读


      本文标题:深度强化学习入门:用TensorFlow构建你的第一个游戏AI

      地址:http://www.17bianji.com/lsqh/39071.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)