Skip to content

关于LSTM自编码器中时间步维度设置为1的设计考量 #1

Description

@zhouzhiwen2000

尊敬的作者,

首先非常感谢您开源这项工作,您的工作对我理解中毒样本检测非常有帮助。

在研读您的代码时,我注意到一个设计细节,希望能了解您的设计考量。在train_autoencoder函数中,输入数据被reshape为形状(-1, 1, s),其中时间步维度(sequence_length)被设置为1:
_, pred = net(X_train.view(-1, 1, s))
同样地,在解码器部分也使用了单时间步处理:
output1, (h_n1, c_n1) = self.rnn_2(encoder.view(-1, 1, self.d))

这种设置意味着每个样本被视为独立的单时间步序列,而非利用LSTM处理多时间步序列数据的天然优势。我想请教:

  • 这种单时间步设计是出于特定的模型考量还是应用场景需求?
  • 是否考虑过将多个连续点作为真正的时间序列输入(sequence_length > 1),性能上有何变化吗?
    非常期待您的见解,这将帮助我更好地理解您的工作。感谢您抽出宝贵时间解答。

祝研究顺利!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions