【问题标题】:How do I implement a cost function that requires all outputs at once如何实现一次需要所有输出的成本函数
【发布时间】:2018-04-16 12:02:27
【问题描述】:

假设我有一个成本函数,它需要神经网络的所有输出(即在某个训练时间步长范围内)才能计算其成本。

这方面的一个例子是网络对未来训练数据的行为会影响成本。例如。网络可能会被训练在赛道上驾驶模拟汽车,成本是完成时间或碰撞时间。

在tensorflow中实现这一点的方法是什么?

【问题讨论】:

  • 所有输出是指网络中每一层的输出,还是在某些时间步长内不同输入的组合输出?你的例子似乎指向后者。
  • @layog 后者
  • 我很遗憾提出这个问题,因为它非常广泛。我已投票结束。

标签: tensorflow


【解决方案1】:

标准方法是使用循环神经网络(序列数据,您可以在其中计算部分或所有序列步骤的损失函数),或使用强化学习,您在未来某个不确定的点只有奖励(例如,在课程结束时,您会因为速度更快而获得更好的奖励)。

这里有一个很好的关于在 tensorflow 中实现 RNN 的教程:

https://github.com/aymericdamien/TensorFlow-Examples/blob/master/notebooks/3_NeuralNetworks/dynamic_rnn.ipynb

这是我发现的强化学习简介:

https://medium.com/@curiousily/getting-your-feet-rewarded-deep-reinforcement-learning-for-hackers-part-0-900ca5bb83e5

这两种模型都是您可以用来解决问题的模型类型,具体取决于您希望如何构建问题。 Tensorflow 是一个通用数学库,提供自动微分和 GPU 支持,您可以在 tensorflow 之上构建任何这些模型。

【讨论】:

  • 谢谢大卫,不过我仍然不明白如何使用 tensorflow 进行强化学习。
  • 是的,这本身就是一本书或一门课程。关于它的具体问题可以在 SO 上回答,但学习如何实现它需要拿起一本书、课程或至少一个 youtube 视频系列。但希望这能给你一些方向。
  • 谢谢大卫。稍后我会尝试提出这个问题的更好版本。
  • 我试着在这里问一个更好的版本:stackoverflow.com/questions/49888935/…
猜你喜欢
  • 2018-01-08
  • 2016-10-16
  • 1970-01-01
  • 2015-04-10
  • 1970-01-01
  • 2021-08-11
  • 1970-01-01
  • 2019-09-15
  • 2022-01-01
相关资源
最近更新 更多