Tensorflow 如何使用tf会话根据网络输出更新游戏状态以进行强化学习
我确信这个问题已经得到了回答,但我找不到任何能解决我的具体问题的东西 我想在玩具游戏中玩一些强化学习算法。给定一个特定的游戏状态,我希望网络预测动作a。给定动作a,我将更新游戏状态,并在这个新的游戏状态下再次调用网络。这将重复,直到游戏结束 然而,我不知道如何通过网络的所有预测反向传播梯度。下面是我的(非常粗略的)tensorflow伪代码,用于描述我的设想:Tensorflow 如何使用tf会话根据网络输出更新游戏状态以进行强化学习,tensorflow,reinforcement-learning,Tensorflow,Reinforcement Learning,我确信这个问题已经得到了回答,但我找不到任何能解决我的具体问题的东西 我想在玩具游戏中玩一些强化学习算法。给定一个特定的游戏状态,我希望网络预测动作a。给定动作a,我将更新游戏状态,并在这个新的游戏状态下再次调用网络。这将重复,直到游戏结束 然而,我不知道如何通过网络的所有预测反向传播梯度。下面是我的(非常粗略的)tensorflow伪代码,用于描述我的设想: for game_step in range(max_game_steps): action = sess.run(predic
for game_step in range(max_game_steps):
action = sess.run(predict_action, feed_dict={game_state: current_state})
current_state = update_state(current_state, action)
backpropagate_error_through_all_actions()
在这个公式中,梯度只有一个动作的背景,我不能把它们发送到所有的状态。不过,我不能连续30次运行网络,因为我需要执行状态更新。。。我错过了什么
我需要在tensorflow图中为整个玩具游戏建模吗?这似乎不合理
谢谢 在强化学习中,不要在tensorflow图中对环境建模。为了方便起见,我将写下tensorflow图中应该包含的内容
这个功能
始终使用tf.get_default_session()对,这或多或少是我在伪代码中写的。不过,我的问题仍然存在。我如何将预测动作A_t、应用动作A_t以获得新状态和预测动作A_t(t+1)之间的梯度连接起来?如果我必须不断地从图表中弹出以应用预测,我如何通过时间反向传播?意识到这是一个重复:。谢谢你的帮助。