在文档分类训练期间是否会进一步更新词嵌入?

数据挖掘 机器学习 nlp rnn word2vec
2021-09-17 04:58:36

我对在 NLP 任务中使用词嵌入的领域相对较新。从大量文档中,我训练 word2vec 词嵌入向量,然后将它们用于文档分类,并结合基于 RNN 的分类器(LSTM、GRU),这是当今非常标准的管道。

有一个问题;那我们也应该在文档分类训练期间更新词嵌入。

我过去习惯于图像分类/对象检测等任务。你得到一个图像输入,并在 CNN 的数值优化期间更新从该图像中提取的卷积特征。但自然而然,图像本身永远不会更新,因为它是原始数据。

我们如何处理文本文档世界中的嵌入向量?它们不像图像那样“自然”,我们首先从无监督方法(word2vec、GloVe 或任何其他工具)中学习它们,所以我认为它们可以在监督训练期间进一步微调。在序列分类器的训练过程中更新嵌入向量和 RNN 参数是常见的做法,还是应该让它们保持不变(以避免过度拟合)?

1个回答

词嵌入通常用作输入特征,就像您注意到的基于图像的模型一样,在训练期间不会被修改。

事实上,在训练过程中(或者在计算完嵌入之后更新嵌入是非常困难的!),因为它们通常位于某个潜在空间中,其中包含有关它们彼此关系的信息。正是由于这个原因,向现有嵌入添加新词汇极具挑战性,并且如果不使用最初用于创建它们的所有数据,更新计算嵌入也很困难。

恐怕我没有一个例子可以指出在训练期间使用嵌入并同时更新/改进的地方。但是,我可以想象有一些方法可以存储它们,这样它在技术上是可行的(尽管可能是内存密集型的!)