在 Torch 中,如何修复训练时间的预训练嵌入?

In torch, how can I fix the pre-trained embedding in training time?

我正在尝试在预训练词嵌入上训练 RNN。 假设这些预训练的嵌入被保存在矩阵 E 中,我可以用它来初始化 LookupTable:

lookupTable = nn.LookupTable(n_words, d)
lookupTable.weight = E

如何强制模型在训练期间保持这些嵌入固定?

可能有两种可能:

  1. 强制该层的权重在每次小批量迭代时保持为 1

  2. 通过扩展 nn.LookupTable 并覆盖 updateOutput 来实现您自己的查找表,这样权重就不会更新。