【发布时间】:2018-03-09 08:56:45
【问题描述】:
关注此example 和此article 进行强化学习。我终于设法创建了一个类似的 Q-learning 来学习玩另一个游戏环境。我唯一的问题是神经网络的最后一个输出层,它代表了游戏的输入动作。
游戏环境的机制/逻辑与此问题无关,但游戏环境需要为每个给定动作同时输入 2 种类型的输入:
- 输入数字 1 表示在 3 个可能之间的单个按键 键。所以基本上这个层应该输出3个概率总和为1的类。然后我会选择最高的类 这三个中的概率。
- 输入数字 2 表示从 0 到 1 的百分比。并且应该独立于前三个类。
我真的不知道如何创建最后一个输出层,以便它总共有 4 个输出类。前 3 类应给出彼此之间的概率,总和为 1。最后一类应独立于前 3 类,取值范围为 0 到 1。
有人可以为我指出如何实现这一目标的正确方向吗?我如何构建这样一个层?
我正在为第一个输入考虑这样的事情:
model.add(Dense(output_dim=3))
model.add(Activation("softmax"))
model.compile(loss='categorical_crossentropy', optimizer="adam")
然后对于第二个输入类似这样的内容
model.add(Dense(output_dim=1))
model.add(Activation("sigmoid"))
model.compile(loss='binary_crossentropy', optimizer='adam')
但我如何将它们组合成一个输出层?
也许您想到了另一种结构?
【问题讨论】:
-
文档准确地描述了您的用例:keras.io/getting-started/functional-api-guide/…
标签: tensorflow neural-network deep-learning keras reinforcement-learning