python - 使用神经网络将旧系统更新为 Q-learning

标签 python machine-learning tensorflow artificial-intelligence reinforcement-learning

最近,我阅读了很多关于使用神经网络进行 Q 学习的文章,并考虑更新发电厂锅炉中现有的旧优化系统,该系统由一个简单的前馈神经网络组成,可以近似许多感官输入的输出。然后将输出链接到基于线性模型的 Controller ,该 Controller 以某种方式再次输出最佳操作,以便整个模型可以收敛到所需的目标。

识别线性模型是一项耗时的任务。我考虑过用 Q 函数的神经网络逼近来整修无模型 Q 学习。我画了一张图问你我走对不对。

model

我的问题:如果你认为我很好地理解了这个概念,我的训练集是否应该由一侧的状态特征向量Q_target - Q_current组成(这里我'我假设奖励越来越多)以迫使整个模型朝着目标前进,还是我遗漏了什么?

注意:该图显示了上半部分的旧系统与下半部分我建议的更改之间的比较。

编辑:状态神经网络是否保证体验重播?

最佳答案

您可能只使用当前状态下所有 Action 的所有 Q 值作为网络中的输出层。一张画得不好的图是 here

因此,您可以利用 NN 一次输出多个 Q 值的能力。然后,使用 Q(s, a) <- Q(s, a) + alpha * (reward + discount * max(Q(s', a')) - Q(s, a) 导出的损失来支持 prop , 其中max(Q(s', a'))可以很容易地从输出层计算出来。

如果您还有其他问题,请告诉我。

关于python - 使用神经网络将旧系统更新为 Q-learning,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40158232/

相关文章:

python - 模型无法在 tensorflow 中学习

tensorflow - tf.contrib.lookup.index_table_from_tensor 的选项

python - URL 重写 - Google App Engine (Python)

python - Django REST Framework POST 嵌套对象

python - 我可以用 python 连接到 pixhawk 吗?

python - 无法通过在 django admin 中替换 django 的默认日期时间小部件来使自定义小部件正常工作

javascript - TensorFlow.js 中用于颜色预测的最佳模型类型?

python - 在 scikit-learn 中为新数据保存特征向量

gpu - TensorFlow 可以自动将操作调度到所有可用的 GPU 上吗?

python - 如何使 TensorFlow RNN 训练更加稳健?