微调Word嵌入如何工作?

Lin*_*gxB 6 machine-learning deep-learning word-embedding

我一直在阅读一些带有深度学习论文的NLP,并发现微调似乎是一个简单但却令人困惑的概念.这里提出了同样的问题,但仍然不太清楚.

Y. Kim,"用于句子分类的卷积神经网络"KS Tai,R.Socher,以及CD Manning,"改进树的语义表示"等论文所述,将预训练的单词嵌入微调到特定于任务的单词嵌入.- 结构化的长期短期记忆网络,"只是简单地提一下,没有详细说明.

我的问题是:

使用word2vec或Glove生成的Word嵌入作为预训练的单词向量用作(X)下游任务的输入要素,如解析或情感分析,这意味着那些输入向量插入到某个特定任务的新神经网络模型中,同时训练这个新模型,不知何故我们可以获得更新的特定于任务的单词嵌入.

但据我所知,在训练过程中,反向传播的作用是更新(W)模型的权重,它不会改变输入特征(X),那么原始单词嵌入的精确程度如何?这些微调的载体来自哪里?

Ish*_*ael 8

是的,如果您将嵌入向量作为输入,则无法微调嵌入(至少很容易).但是,所有框架都提供某种类型的EmbeddingLayer输入作为输入的整数,它是单词/字符/其他输入标记的类序数,并执行嵌入查找.这样的嵌入层非常类似于馈送单热编码类的完全连接层,但是更有效,因为它只需要在前后通道上从矩阵中获取/改变一行.更重要的是,它允许学习嵌入的权重.

因此,经典的方法是将实际类提供给网络而不是嵌入,并在整个网络前加上嵌入层,使用word2vec/glove初始化,并继续学习权重.在开始微调它们之前,在开始时将它们冻结几次迭代可能也是合理的,直到网络的其余部分开始对它们做一些合理的事情.