有可能在人工神经网络中将输出反馈给输入吗



我目前正在为一个衰减曲线问题设计一个人工神经网络。例如,建立一个模型来预测某些材料的耐久性。它可能包括环境条件,如温度和湿度。

然而,预测材料的耐久性是不够的。对于这样的问题,我认为最好使用以前时隙的输出耐久性作为当前输入之一来预测下一个时隙的耐久性。

此外,我不知道如何训练一个将输出反馈给输入的模型,因为其中一个输入列在训练前只有初始值。

对于这种情况,

方法1(失败(我试图将当前行的预测输出耐久性填充为下一行的输入耐久性。然而,它将防止该模型";loss.backward((";所以如果我们这样做,我们就不能计算和更新梯度;CopySlices"而不是";MSELoss";当我将预测输出复制到输入数据的下一行时。

馈送输出到输入

梯度函数-复制-

方法2";用期望的输出"填充输入列">在这种方法中,在训练模型之前,我用预期输出(第1行(填充空白输入列。用前一行的预期输出填充输入列仅用于训练。对于实际预测,我将把预测的输出馈送到输入。在这种情况下,我成功地用MSELoss训练了一个过拟合模型。

此外,我认为这不是一个正确的方法,因为无论预测多么糟糕,它都会使用预期的输出作为输入。我坚信这不是一个正确的方法。


因此,我想问在使用人工神经网络的线性回归问题中,是否可以将输出反馈给输入。

我很抱歉没有在这里上传代码,因为我不方便在这里上传完整的代码。这可能是保密的。

看起来你需要一个RNN(递归神经网络(。本教程对理解RNN非常有帮助:https://colah.github.io/posts/2015-08-Understanding-LSTMs/.

最新更新