能否在每个时间步使用其连续预测输出作为输入来训练 RNN?

问题描述 投票:0回答:0

我正在尝试使用 RNN 组件训练序列模型,该组件迭代训练序列的每个时间步长,并以一定概率 p 决定是使用先前的模型预测还是地面实况目标作为当前时间步长的输入.这样做的原因是试图在训练和测试时匹配数据分布,后者在每次规划迭代时仅使用其预测输出作为输入(即,模型预计在“闭环”或“完全自回归”模式)。据我所知,这种以一定概率决定使用模型预测输出或地面实况目标作为输入的策略在文献中称为计划采样https://arxiv.org/pdf/1506.03099 .pdf).

然而,这种预定采样策略似乎通常应用于自然语言处理任务的上下文中,其中优化的目标通常类似于处理离散输入(例如,单词词典)的交叉熵损失。然而,就我而言,我的模型的输出是连续的,因此我的训练损失是处理此类输出的损失,特别是标准均方误差 (MSE) 损失。

我找不到任何将计划采样应用于产生连续输出的模型的论文,因此我想知道将这种方法应用于我的问题是否有意义,这本质上是试图减轻训练和训练之间的分布变化由于在训练期间暴露于模型的状态而导致的测试时间。换句话说,我可以使用它自己的连续预测输出作为输入来训练模型以模仿测试时间条件,从而产生更健壮/通用的模型吗?

如果有人可以就此提供任何见解或直觉,以及我的用例是否可行,我将不胜感激。如有必要,我很乐意提供更多详细信息。

我已经实施了这样一种预定采样方法来训练我的模型,其中在整个训练过程中调整概率 p,但是结果似乎比简单地使用自己的预测输出作为输入来训练模型更糟糕。

deep-learning recurrent-neural-network sequence-modeling
© www.soinside.com 2019 - 2024. All rights reserved.