Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在TensorFlow中的RL训练步骤中跳过多余的前向支柱_Python_Tensorflow_Machine Learning_Artificial Intelligence_Reinforcement Learning - Fatal编程技术网

Python 如何在TensorFlow中的RL训练步骤中跳过多余的前向支柱

Python 如何在TensorFlow中的RL训练步骤中跳过多余的前向支柱,python,tensorflow,machine-learning,artificial-intelligence,reinforcement-learning,Python,Tensorflow,Machine Learning,Artificial Intelligence,Reinforcement Learning,我有一个关于强化学习的Tensorflow问题。我所有的东西都在工作和训练,但有些东西感觉多余。想指出并倾听您的想法: 让我们假设一些简单的事情,比如情节强化。鉴于此标准设置: state->network->logits 当我想训练时(当一集结束时),我需要: 向TF占位符传递一组状态(从运行该集时保存) 对保存的状态进行正向传递以生成登录 计算日志问题(使用保存的操作数组) 计算损失(使用保存的优势阵列) 这个很好用。然而,第1步和第2步似乎是多余的。我更喜欢在运行该集的过程中计算该集的每个

我有一个关于强化学习的Tensorflow问题。我所有的东西都在工作和训练,但有些东西感觉多余。想指出并倾听您的想法:

让我们假设一些简单的事情,比如情节强化。鉴于此标准设置:

state->network->logits

当我想训练时(当一集结束时),我需要:

  • 向TF占位符传递一组状态(从运行该集时保存)
  • 对保存的状态进行正向传递以生成登录
  • 计算日志问题(使用保存的操作数组)
  • 计算损失(使用保存的优势阵列)
  • 这个很好用。然而,第1步和第2步似乎是多余的。我更喜欢在运行该集的过程中计算该集的每个步骤的log_probs。这样我就不必在训练中执行步骤1、2、3,向前传球只执行一次(在这一集中)。我会在这一集结束时计算我的日志问题

    但是,如果我为log_probs和advantages创建占位符,并且不传入状态(对于冗余的forward prop),那么我不知道如何让TF知道backprop的变量在哪里。我得到一个错误:

    ValueError:没有为任何变量提供渐变

    因此,我的问题是:

  • 如果我在美国传球,是不是在训练中又出现了向前的道具
  • 我可以通过我上面的方法来防止这种情况,找到一些方法来告诉TF梯度在哪里吗
  • 万一有人想看实际的代码(我尽量说得清楚,不需要它)

    编辑:我认为答案与使用
    optimizer有关。计算梯度(我可以在其中传递变量)和
    optimizer。应用梯度,但不确定如何