我将如何剪辑演员评论家代理中的连续动作?

How would I clip a continuous action in an actor-critic agent?

假设我们有一个有一些钱和一些股份的机器人。输入是最近 30 天的价格列表。它不使用 RNN,价格是同时输入的。输出是一个连续的动作,其中正数是买入,负数是卖出股票的数量。我怎样才能限制行动 space 以便它被限制在它有多少股(下限)和它有多少钱(上限)之间?

我应该剪掉它还是仅仅惩罚违法行为?哪个选项会产生最佳结果?

AI 不能卖出它没有的股份或购买比它拥有的钱更有价值的股份,所以你根本不应该允许这种交易。但是,如果您的 AI 看趋势并且更喜欢预计在不久的将来更有价值的股票,那么第二天 属性 的总量很有可能会更高。假设 share1 的起始值为 s1,结束值为 e1,share2 的起始值为 s2,结束值为 e2,那么在

的情况下

e1/s1 > e2/s2

最好给share1一个更高的优先级。如果任何 si / ei 小于 1,则 AI 不应投资它。

另外,你要看重稳定性,如果一只股票最近几天不断上涨,那么它有上涨的趋势。如果一只股票的初始价值小于期末价值,但最近几天它的价值下降了,那么它可能是一个下降趋势,不应该是最好的股票。需要实施此类规则,当它们发生冲突时,AI 必须能够智能地选择其优先级。

你可以惩罚非法行为,但根据我的经验,它并没有显示出对 AI 有好的影响(还有一件事需要担心)。只需剪辑输出,这样如果它试图使用更多可用的钱,它就会花掉所有的钱。如果它试图卖出比现有股票更多的股票,它就会卖出所有股票。网络将了解当它尝试使用比它拥有的资源更多的资源时会发生什么,因此它不会导致性能下降。