【问题标题】:Is it possible to train a neural network with "splited" output是否可以训练具有“拆分”输出的神经网络
【发布时间】:2019-06-05 07:42:54
【问题描述】:

是否可以将一个神经网络的输出视为两组或更多组输出?

我再解释一下自己(在 q 学习环境中):

假设我在同一个环境中有两个代理,每个代理 有不同数量的可执行动作。两位经纪人 将具有包含环境变量的相同输入向量 选择他们的行动。

问题是:

我可以使用独特的神经网络来控制两个代理吗?

一个例子:

代理 1 有 3 个可执行操作,代理 2 只有 2 个可执行操作 行动。重要的是代理人必须工作 合作使回报最大化。我可以使用 1 个神经网络吗 5 个输出选择对两个代理执行的最佳操作?像 网络的前 3 个输出将是第一个的 Q 值 agent 和另外 2 个将是 agent 2 的 Q 值。我的奖励 函数将始终基于全局结果,每个代理都会 没有具体的奖励。

有可能吗?因为我没有找到任何关于这个的话题。 如果您需要更高的精度,请询问。

我也知道一个可能的解决方案应该是创建一个具有 3 * 2 输出的网络,每个输出将是几个动作(每个代理 1 个动作),但我真的想知道是否有人已经做了类似的事情我之前解释过,或者只是如果有人知道那行不通以及为什么。

【问题讨论】:

    标签: tensorflow neural-network reinforcement-learning q-learning


    【解决方案1】:

    我不知道这专门用于强化学习,但多输出神经网络在文献中很常见。

    如果您想要一个网络来控制两个代理,最好先共享网络的早期阶段,然后再将网络分成两个不同的分支,每个分支有几层。

    关于如何处理多个输出的示例,您可以查看this link

    【讨论】:

    • 谢谢你的回答,那我两个都试试!感谢您的链接
    • 如果您对答案感到满意,请将其标记为解决您的问题,以便此问题得到解决。
    • 我会等待 1 或 2 天,看看是否有人已经尝试过了,因为我发现你给我的链接有一个不同之处,那就是我将只使用一个损失,因为共同奖励
    • 如果您打算对两个代理使用单个联合损失,您实际上可以在概念上将它们视为包含两个代理状态的单个代理,然后使用两个分支不会真的有道理了。
    • 是的,这是真的,但这就是为什么我会尝试这两种想法,一种具有不同的分支和不同的奖励和损失,另一种是您定义的
    猜你喜欢
    • 2020-02-03
    • 2013-03-19
    • 1970-01-01
    • 1970-01-01
    • 2011-04-07
    • 1970-01-01
    • 1970-01-01
    • 2011-05-11
    • 1970-01-01
    相关资源
    最近更新 更多