使用pytorch的序列到序列模型

Posted

技术标签:

【中文标题】使用pytorch的序列到序列模型【英文标题】:sequence to sequence model using pytorch 【发布时间】:2022-01-23 15:07:53 【问题描述】:

我有数据集(序列到序列),每个样本输入是租船人的序列(组合来自 20 个字符和最大长度 2166),输出是租船人列表(三个字符 G、H、B 的组合)。例如 OIREDSs-s-rTTT ----> GGGHHHHBHBBB 我想做一个在那种类型的数据集中工作的简单 pytorch 模型。可以预测类序列的模型。我将不胜感激任何有关简单模式的建议或链接?

谢谢

【问题讨论】:

【参考方案1】:

如果输出序列始终与输入序列具有相同的长度,您可能需要使用transformer encoder,因为它基本上会根据上下文转换输入。您也可以尝试使用任何用于标记的东西:BiLSTM、BiGRU 等。

如果您希望您的模型能够预测不同长度的序列(不必与输入长度相同),请查看一些编码器-解码器模型,例如 vanilla 转换器。

【讨论】:

【参考方案2】:

您可以从 PyTorch 教程https://pytorch.org/tutorials/beginner/nlp/sequence_models_tutorial.html 中的序列标记模型开始。

正如@Ilya Fedorov 所说,您可以迁移到转换器模型以获得更好的性能。

【讨论】:

以上是关于使用pytorch的序列到序列模型的主要内容,如果未能解决你的问题,请参考以下文章

PyTorch 使用 nn.Transformer 和 TorchText 进行序列到序列的建模

PyTorch-19 使用 nn.Transformer 和 TorchText 进行序列到序列的建模

如何使用具有多维序列到序列的 PyTorch Transformer?

如何修复 Pytorch-Forecasting 模型拟合关于序列元素的 ValueError

Pytorch基础——使用 RNN 生成简单序列

PyTorch搭建GNN-LSTM和LSTM-GNN模型实现多变量输入多变量输出时间序列预测