nn.Embedding()对于学习LSTM是必不可少的吗?
我在PyTorch中使用LSTM来预测NER - 类似任务的例子就在这里 - https://pytorch.org/tutorials/beginner/nlp/sequence_models_tutorial.html
代码方面,我使用的代码几乎与上面教程中的代码相同。
唯一的细节是 - 我使用word2Vec而不是nn.Embedding()。
因此,我删除了nn.Embedding()图层,并直接向word2Vec提供了forward函数。 RNN不会学习。
因此,nn.Embedding()是否对学习LSTM至关重要?
答案 0 :(得分:6)
nn.Embedding
为您提供了一个嵌入层。
这意味着图层会使用您的单词标记ID并将其转换为单词向量。
您可以在训练过程中了解nn.Embedding
图层的权重,也可以加载预先训练好的嵌入权重。
如果您想使用预先训练过的word2vec(嵌入)模型,只需将预先训练的权重加载到nn.Embedding
图层。
您可以在how to load a word2vec embedding layer using gensim library.
上查看我希望这会有所帮助。