使用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?