在投资组合优化的深度强化学习中,许多研究人员(例如 Xiong 等人)使用历史市场数据进行模型训练。由此产生的 MDP 动态当然是完全确定的(如果将历史价格用作状态)并且不涉及真正的顺序性。
虽然我无法评论具体的财务模型,但我认为这些研究人员不太可能在没有序列的情况下应用 RL。
在我看来,历史数据馈送更有可能构成环境的主要部分,但仍然存在时间步长和取决于代理行为的状态。例如,在交易模拟中,如果交易价值低于会显着改变市场本身的水平,使用价格历史和其他像记录一样进展的事实信息可能是一个合理的近似值,并且状态包括代理人当前的投资和营运资金组合。
当用于训练的底层 MDP 具有确定性动态时,使用 DDPG 减少方差有什么意义?为什么不简单地使用 Reinforce 算法呢?
由于随机动态(如果存在)和行为策略,会出现收益差异。您不能使用任何具有确定性行为策略的RL控制算法*。它永远不会获得任何允许它评估替代行为的数据。
所以在 REINFORCE 中,它是 on-policy(行为策略和目标策略是相同的),并且通常从接近等概率的动作选择开始,存在很大的方差。在具有许多动作选择的长剧集中进行测量时,它可能非常高。在基本 REINFORCE 中,方差不受控制,并且训练使用单独的 Monte Carlo 样式返回。
在off-policy(目标策略是确定性的**,行为策略是随机的)的DDPG中,仍然存在方差,但是通过actor-critic机制减少了很多,并且可以通过噪声函数的选择来约束将行为策略与目标策略相关联。此外,策略和价值函数的更新可以独立于情节结束进行,这可以显着加快学习速度。
要确定这对任何实验有什么不同,您需要在同一任务上比较两种算法。在实践中,DDPG 将在许多任务上显着优于 REINFORCE,包括那些具有确定性环境的任务。但是,可能存在一些特定组合,其中 REINFORCE 的简单性胜出,这仅仅是因为需要调整的超参数较少。
有一点:
在几乎确定性的政策下,我们的方差将非常小
这是真的,但是你如何通过 REINFORCE 进入那个训练阶段?这是通过测试和处理更多随机策略,这需要时间。您的陈述仅在控制问题几乎完成时适用于 REINFORCE,或者如果您采取捷径并将策略功能强制为您希望接近最优的策略。在这种情况下,您正在采用一种减少方差的形式——它甚至可能适用于某些场景,但可能不如应用 Actor-Critic 算法那么普遍。
* 实际上,从技术上讲,如果环境以正确的方式是随机的,那么您可以有效地探索所有状态/动作组合。但是我们在这里谈论的是确定性环境,显然随机环境会引入收益的差异。
** 目标策略会随着时间的推移而变化,这会引入非平稳性和偏差,以供批评者组件处理,但不会在技术上产生差异。