通过强化学习进行回归

时间:2018-08-09 19:00:54

标签: python neural-network reinforcement-learning

我正在尝试构建一个可以使用RL打口袋坦克的特工。我现在面临的问题是如何训练神经网络以输出正确的功率和角度。因此,而不是动作分类。我想要回归。

1 个答案:

答案 0 :(得分:0)

为了输出正确的功率和角度,您需要做的就是进入神经网络体系结构并更改最后一层的激活。

在您的问题中,您指出您当前正在使用动作分类输出,因此很可能是softmax输出层。我们可以在这里做两件事:

  1. 如果幂和角度有严格的约束,例如角度不能大于360°,或者功率不能超过700 kW,我们可以将softmax输出更改为TanH输出(双曲正切),然后将其乘以功率/角度约束。因为tanh的输出在-1和1之间,所以将产生“缩放效果”。将tanh的输出乘以功率/角度的约束可以确保始终满足约束,并且输出是正确的功率/角度。

  2. 如果您的问题没有任何限制。我们可以简单地一起删除softmax输出。删除softmax可以使输出不再被限制在0和1之间。神经网络的最后一层将简单地充当线性映射,即y = Wx + b。

我希望这会有所帮助!

编辑:在两种情况下,训练神经网络的奖励功能都可能只是MSE损失。示例:损失=(real_power-估计功率)^ 2 +(real_angle-估计角度)^ 2