我将 Unity 与 ML-Agents 及其 PPO 实现一起使用。
我有一个动作来训练我的神经网络,它的输入为 -1 到 1。当我记录动作时,我可以看到网络总是尝试 550、630、-530 等值。我怎样才能将这些限制为只使用 -1 和 1 之间的值?
我试图在 Unity 中寻找它。找不到任何选项。现在我正在尝试修改 PPO 算法,但我找不到任何可以限制我的值的东西。
我的日志是这样工作的:我的代理有 AgentStep 方法:
public override void AgentStep(float[] act){
if (brain.brainParameters.actionSpaceType == StateType.continuous) {
var actionAC = act[0];
float[] toLog = new float[2];
object.move(actionAC);
// some rewards including toLog[0] as reward log
toLog[1] = actionAC;
logger.AddLine(toLog);
}
}
Logger 是我编写的一个类,用于创建一个 csv 文件。此输出看起来不像:
-1 530.73106
-2 530.73106
...
-234.5 -631.9137
...
提前致谢。