【问题标题】:PyTorch LSTM - using word embeddings instead of nn.Embedding()PyTorch LSTM - 使用词嵌入而不是 nn.Embedding()
【发布时间】:2018-10-24 16:28:09
【问题描述】:

nn.Embedding() 对于 LSTM 的学习是否必不可少?

我在 PyTorch 中使用 LSTM 来预测 NER - 类似任务的示例在这里 - https://pytorch.org/tutorials/beginner/nlp/sequence_models_tutorial.html

代码方面,我使用的代码几乎与上面教程中的代码相同。

唯一的细节是—— 我使用 word2Vec 而不是 nn.Embedding()。

所以我删除了 nn.Embedding() 层并直接提供来自 word2Vec 的特征的前向函数。 RNN 不学习。

因此,nn.Embedding() 对于 LSTM 的学习是否必不可少?

【问题讨论】:

    标签: lstm pytorch


    【解决方案1】:

    nn.Embedding 为您提供嵌入层。

    这意味着该层获取您的单词标记 ID 并将其转换为单词向量。

    您可以在训练过程中学习nn.Embedding 层的权重,或者您也可以加载预训练的嵌入权重。

    当您想使用预训练的 word2vec(嵌入)模型时,只需将预训练的权重加载到 nn.Embedding 层即可。

    您可以在这里查看how to load a word2vec embedding layer using gensim library.

    我希望这会有所帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-03-14
      • 2018-10-30
      • 1970-01-01
      • 2017-09-28
      • 1970-01-01
      • 2019-10-23
      • 2018-03-16
      • 1970-01-01
      相关资源
      最近更新 更多