论文笔记--Deep contextualized word representations

1. 文章简介

  • 标题:Deep contextualized word representations
  • 作者:Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, Luke Zettlemoyer
  • 日期:2018
  • 期刊:arxiv preprint

2. 文章概括

  文章提出了一种语言模型的预训练方法ELMo(Embeddings from Language Models)。与传统仅仅使用最顶层隐藏层的神经网络不同,ELMo将所有biLM隐藏层信息通过线性层汇总,从而使得模型同时将高级特征和低级特征输入到模型输出阶段。ELMo在文章实验的所有NLP任务上均达到或超过了SOTA。

3 文章重点技术

3.1 BiLM(Bidirectional Language Model)

  给定序列 ( t 1 , … , t N ) (t_1, \dots, t_N) (t1,,tN),前向语言模型(生成式)基于当前时刻前的token计算当前时刻的token概率,即在时刻 t t t,给定 ( t 1 , … t k − 1 ) (t_1, \dots t_{k-1}) (t1,tk1),计算 p ( t 1 , … , t N ) = ∏ k = 1 N p ( t k ∣ t 1 , … , t k − 1 ) . p(t_1,\dots, t_N) = \prod_{k=1}^N p(t_k|t_1, \dots, t_{k-1}). p(t1,,tN)=k=1Np(tkt1,,tk1).
  后向语言模型则相反,即通过当前时刻之后的token预测当前时刻token的概率 p ( t 1 , … , t N ) = ∏ k = 1 N p ( t k ∣ t k + 1 , … , t N ) . p(t_1,\dots, t_N) = \prod_{k=1}^N p(t_k|t_{k+1}, \dots, t_N). p(t1,,tN)=k=1Np(tktk+1,,tN).
  双向语言模型(biLM)将上述二者结合,最大对数似然 ∑ k = 1 N log ⁡ p ( t k ∣ t 1 , … , t k − 1 ; Θ x , Θ ⃗ L S T M , Θ s ) + log ⁡ p ( t k ∣ t k + 1 , … , t N ; Θ x , Θ ← L S T M , Θ s ) \sum_{k=1}^N \log p(t_k|t_1, \dots, t_{k-1};\Theta_x, \vec{\Theta}_{LSTM}, \Theta_s) +\hspace{.3cm} \\\log p(t_k|t_{k+1}, \dots, t_N;\Theta_x, \overleftarrow{\Theta}_{LSTM}, \Theta_s) k=1Nlogp(tkt1,,tk1;Θx,Θ LSTM,Θs)+logp(tktk+1,,tN;Θx,Θ LSTM,Θs),其中 Θ x \Theta_x Θx表示token的表征参数, Θ s \Theta_s Θs表示Softmax层的参数, Θ → L S T M , Θ ← L S T M \overrightarrow{\Theta}_{LSTM}, \overleftarrow{\Theta}_{LSTM} Θ LSTM,Θ LSTM分别表示前向和后向LSTM的参数。

3.2 ELMo

  对于任意token t k t_k tk,L层的biLM会计算 R k = { h k , j L M ∣ j = 0 , … , L } R_k = \{\boldsymbol{h}_{k,j}^{LM}|j=0,\dots, L\} Rk={hk,jLMj=0,,L},其中 h k , 0 L M {h}_{k,0}^{LM} hk,0LM表示token层, h k , j L M = [ h → k , j L M ; h ← k , j L M ] \boldsymbol{h}_{k,j}^{LM}=[\overrightarrow{\boldsymbol{h}}_{k,j}^{LM};\overleftarrow{\boldsymbol{h}}_{k,j}^{LM}] hk,jLM=[h k,jLM;h k,jLM]表示每一个LSTM层。
  最终ELMo通过线性层将所有层的信息汇总: E L M o k t a s k = E ( R k ; Θ t a s k ) = γ t a s k ∑ j = 0 L s j t a s k ELMo_k^{task} = E(R_k;\Theta^{task})=\gamma^{task} \sum_{j=0}^L s_j^{task} ELMoktask=E(Rk;Θtask)=γtaskj=0Lsjtask,其中 s j t a s k s_j^{task} sjtask为softmax权重, γ t a s k \gamma^{task} γtask为标量参数,可以将ELMo向量放缩。
  文章通过数值实验表明,高层和底层捕获到的信息有所区别,不同的下游任务可能用到高层或底层的特征:高层信息可用于依赖分析等语义分析任务,底层信息可用于POS等语法分析任务。从而文章选择将每一层的信息结合,一起输送给模型。

3.3 将ELMo用于NLP监督任务

  给定NLP的监督任务,我们先不考虑标签,直接将biLM在数据集上训练,得到每个token的 E L M o k t a s k ELMo_k^{task} ELMoktask。然后冻结biLM的权重,将每个token的 x k x_k xk(通过字符CNN得到)连同 E L M o k t a s k ELMo_k^{task} ELMoktask一起输入到监督模型(RNN,CNN等),进行训练。此外,文章提出在输出阶段也可增加 E L M o k t a s k ELMo_k^{task} ELMoktask,即将 [ h k ; E L M o k t a s k ] [h_k; ELMo_k^{task}] [hk;ELMoktask]传入softmax层
  文章测试了将ELMo向量放入不同阶段的效果,如下表所示,将ELMo同时增加到输入和输出阶段的表现最好。
input-output

4. 文章亮点

  文章提出了将bi-LSTM预训练向量用于NLP下游任务的方法,此外,文章通过线性层将biLM的所有层信息全部汇总,通过高级特征+低级特征共同完成训练。ELMo模型在多个任务上实现了SOTA,且显著提升了下游任务的收敛速率。

5. 原文传送门

Deep contextualized word representations

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值