ELMO模型
ELMo: Deep contextualized word representations, AI2 & University of Washington, Jun. 2017. NAACL.https://arxiv.org/pdf/1802.05365.pdf
ELMo的整体图。第一使用了多层LSTM,第二增加了后向语言模型(backward LM)。
Note:
1 输入是一个句子的embedding E1~En,输出是T1~Tn(分别对应其上下文)。
2 从图中箭头可以看出,目标T1生成的逻辑是,第1个lstm encoding的第1个输出(即E1对应)+ 第2个lstm encoding的最后一个输出(即En->E1)[即只使用了自己和下文];目标T2生成的逻辑是,第1个lstm encoding的第1-2个输出(即E1->E1对应)+ 第2个lstm encoding的倒数第2个输出(即En->E2)[即使用了上下文]。
优化的目标:最大化对数前向和后向的似然概率:
[NAACL2018:高级词向量(ELMo)详解(超详细) 经典]
缺陷
ELMO模型在语言模型这个任务上同bert一样使用了双向的方法,但是它是通过双向的两层RNN结构对两个方向进行建模,两个方向的loss计算相互独立。
而BERT的作者指出这种两个方向相互独立或只有单层的双向编码可能没有发挥最好的效果,我们可能不仅需要双向编码,还应该要加深网络的层数。
但加深双向编码网络却会引入一个问题,导致模型最终可以间接地“窥探”到需要预测的词,“窥探”的过程可以用下面的图来表示:
从图中可以看到经过两层的双向操作,每个位置上的输出就已经带有了原本这个位置上的词的信息了。这样的“窥探”会导致模型预测词的任务变得失去意义,因为模型已经看到每个位置上是什么词了。
ref: NAACL2018:高级词向量(ELMo)详解(超详细) 经典 - 知乎
《Semi-supervised sequence tagging with bidirectional language models》.
from:-柚子皮-
ref: