首先要知道由word2vec生成的词向量,一个词只有一种词向量表示,但是通常情况下,无论英文还是中文,很多词都有多种含义。
ELMo模型的作者利用语言模型来获得一个上下文相关的预训练表示(利用的是双向LSTM)。 与传统词向量不同的是,ELMo利用预训练
好的双向语言模型可以得到上下文依赖的当前词表示(对于不同上下文,同样的词表示不一样)。
什么是预训练:本来神经网络都是先进行参数随机初始化,然后通过BP算法利用其它优化算法去优化模型参数。而预训练的思想是,
模型参数不再是随机初始化,而是先由一个任务进行训练得到一套模型的参数,然后用这套参数对模型进行初始化,再进行训练。
是研究如何让神经网络很好的利用以往的知识,根据新任务调整自己。
Few-shot learning:小样本学习,是Meta learning在监督学习领域的应用。
few-shot的训练集中包含了很多的类别,每个类别中有多个样本。在训练阶段,会在训练集中随机抽取 C 个类别,每个类别 K 个样本
(总共 CK 个数据),构建一个 meta-task,作为模型的支撑集,再从这C个类中剩余的数据中抽取一批(batch)样本作为模型的
预测对象。即要求模型从C*K个数据中学会如何区分这 C 个类别,这样的任务被称为 C-way K-shot 问题。
在编码器-解码器中:解码器在生成输出序列中的每一个词时可能只需要利用输入序列的一部分。这看上去就像对输入序列的不同时间步的信息分配了不同的注意力。
以循环神经⽹络为例,注意⼒机制通过对编码器所有时间步的隐藏状态做加权平均来得到背景变量。解码器在每⼀时间步调整这些权重,即注意⼒权重,从而能够在不同时间步分别关注输⼊序列中的不同部分并编码进相应时间步的背景变量。