论文阅读与实践--ELMO模型

Deep contextualized word representations
elmo模型就是以双向语言模型为基础,用各层之间的线性组合来表示词向量,elmo能够处理不同句子中的同义词的区分。另外就是它建立语言模型的时候,可以运用非任务的超大无标注语料库去学习,一旦学习好了,可以平行的运用到相似问题中。不同的语义会有不同的词向量。
试过哈工大复现的中文繁体elmo模型来做同义词区分,效果一般,可能因为训练语料有限,且代码略混乱,要在gpu上和别的模型组合使用,需修改源码。
论文阅读与实践--ELMO模型_第1张图片
双向lstm
最大化log似然函数,前向语言模型和后向语言模型的概率和
论文阅读与实践--ELMO模型_第2张图片
线性组合

组合双向lstm每一层的输出
在这里插入图片描述
在这里插入图片描述
其中s为softmax normalized 权重,γ允许任务模型缩放整个ELMo向量,γ对于帮助优化具有实际意义。考虑到每个biLM层的激活具有不同的分布,在某些情况下,在加权之前,它有助于对每个biLM层应用层标准化。
为什么要进行线性组合
因为高层的输出更容易捕捉依赖上下文的词义信息,底层的输出更容易捕捉语法信息,就是说,不同的输出所对应的特征不一样,组合起来之后更能表达整个意思。
elmo的问题是什么
1.LSTM抽取特征的能力比transformer弱很多。
2.双向融合特征的融合能力较弱。

你可能感兴趣的:(实习日常)