定义模型
如今让我们定义这个应用 Q-Learning 进修 Catch 游戏的模型。我们应用 Keras 作为 Tensorflow 的前端。我们的基准模型是一个简单的三层密集收集。这个模型在简单版的 Catch 游戏傍边表示很好。你可以在 GitHub 中找到它的完全实现过程。
- num_actions = 3 # [move_left, stay, move_right]
- hidden_size = 100 # Size of the hidden layers
- grid_size = 10 # Size of the playing field
- def baseline_model(grid_size,num_actions,hidden_size):
- #seting up the model with keras
- model = Sequential()
- model.add(Dense(hidden_size, input_shape=(grid_size**2,), activation='relu'))
- model.add(Dense(hidden_size, activation='relu'))
- model.add(Dense(num_actions))
- model.compile(sgd(lr=.1), "mse")
- return model
摸索
你也可以测验测验加倍复杂的模型,测试其可否获得更好的机能。
Q-Learning 的最后一种成分是摸索。日常生活的经验告诉我们,有时刻你得做点奇怪的工作或是随机的手段,才能发明是否有比日常动作更好的器械。
Q-Learning 也是如斯。老是做最好的选择,意味着你可能会错过一些大年夜未摸索的门路。为了避免这种情况,进修者有时会添加一个随机项,而未必老是用最好的。我们可以将定义练习办法如下:
- def train(model,epochs):
- # Train
推荐阅读
Tech Neo技巧沙龙 | 11月25号,九州云/ZStack与您一路商量云时代收集界线治理实践 传统小IDC存活将更难,那么必>>>详细阅读
本文标题:深度强化学习入门:用TensorFlow构建你的第一个游戏AI
地址:http://www.17bianji.com/lsqh/39071.html
1/2 1