论文笔记--Recurrent Neural Network for Text Classification with Multi-Task Learning

1. 文章简介

  • 标题:Recurrent Neural Network for Text Classification with Multi-Task Learning
  • 作者:Pengfei Liu, Xipeng Qiu, Xuanjing Huang
  • 日期:2016
  • 期刊:arxiv preprint

2. 文章导读

2.1 概括

  文章提出了三种基于多任务学习的RNN框架,通过不同任务之间的关联学习得到更好的向量表征,在下游任务取得更好的表现。

2.2 文章重点技术

2.2.1 Recurrent Neural Network(RNN)

  这里简要介绍下RNN。所谓RNN即循环神经网络,旨在将变长的输入转换为固定大小的向量,一般在文本类数据中使用居多。相比于普通的全联接网络,RNN的当前隐藏层状态不仅依赖于当前输入,同时还依赖上一个时刻的隐藏层状态,即当前 t t t时刻的隐藏状态为 h t = { 0 , if  t = 0 f ( h t − 1 , x t ) , otherwise \bold{h}_t = \begin{cases}0, \hspace{1.87cm} \text{if}\ t = 0 \\ f(\bold{h_{t-1}}, x_t), \quad \text{otherwise} \end{cases} ht={0,if t=0f(ht1,xt),otherwise
  但当序列长度很长的时候,RNN易产生梯度消失或梯度爆炸。长短时记忆网络LSTM则是vanilla RNN的一个变种,通过增加单元状态来处理长序列。LSTM的具体介绍可见文章[1]。总结下来就是LSTM增加了三个门:1) 忘记门forget gate:用于控制上一层的单元状态中有多少历史信息被遗忘 2)输入门input gate:用于控制当前的准单元状态中(由当前输入和前一个隐藏层决定)有多少信息被更新 3)输出门output gate:用于控制当前单元状态由多少流入到下一层。

2.2.2 三种多任务学习RNN

  单任务的RNN学习可能受限于数据不足,文章提出了三种基于多任务学习RNN的模型,可以结合多种任务数据同时训练模型。以下是三种训练方式

  1. Model-I: Uniform-Layer Architecture. 下图所示,每个任务(标记为m,n等)有自己的词嵌入层,所有任务有共享的嵌入层训练共享的LSTM,训练参数为 x m , x n , x s x_m, x_n,x_s xm,xn,xs和LSTM的参数,其中 x m , x n x_m, x_n xmxn表示不同任务自己的词嵌入层, x s x_s xs为共享嵌入层。则每个任务输入到LSTM的参数为 x = x s ⊕ x m x=x_s \oplus x_m x=xsxm x = x s ⊕ x n x= x_s\oplus x_n x=xsxn,其中 ⊕ \oplus 表示concat操作。最后每个任务的输出为 y i = S o f t M a x ( W T h T i + b T ) = S o f t M a x ( W T L S T M ( x ) T + b T ) , i = m , n y_i=SoftMax(W_T h_T^i + b_T)=SoftMax(W_T LSTM(x)_T + b_T), i = m, n yi=SoftMax(WThTi+bT)=SoftMax(WTLSTM(x)T+bT),i=m,n
    Model-I
  2. Model-II: Coupled-Layer Architecture. 下图所示,每个任务有自己的嵌入层和LSTM层,每对任务的LSTM层间参数通过g来传递(global gate unit),其中 g ( i → m ) = σ ( W g m x t + U g i h t − 1 i ) g^{(i\to m)} = \sigma(W_g^m x_t + U_g^i h_{t-1}^i) g(im)=σ(Wgmxt+Ugiht1i),用于控制任务i多少信息流入另一个任务m。
    Model-II
  3. Model-III: Shared-Layer Architecture. 下图所示,每个任务有自己的嵌入层和LSTM层,每两个任务中间增加一个共享的双向LSTM层。另外增加传递控制门 g m = σ ( W g m x t + U g m h t − 1 m ) g^m=\sigma(W_g^mx_t + U_g^m h_{t-1}^m) gm=σ(Wgmxt+Ugmht1m)来控制多少信息从本任务上一个隐藏层流入,增加控制门g决定多少信息从共享任务流入,其中 g ( s → m ) = σ ( W g m x t + U g s h t − 1 s ) g^{(s\to m)} = \sigma(W_g^m x_t + U_g^s h_{t-1}^s) g(sm)=σ(Wgmxt+Ugsht1s)类似Model-II中的层任务间传递控制门。
    MODEL-III
      注意到,上述Model-I和Model-III均存在共享的LSTM层,从而可以在训练完上述任务后根据下游任务对共享层进行微调,以增强模型表现。
      最终的损失函数为每个任务的损失函数的加权平均。

2.2.3 训练

  训练过程中,文章采用随机采样的方式进行训练,具体如下

  1. 随机选择一个task
  2. 从该task中随机选择一个样本
  3. 通过学习该样本更新此task对应的参数
  4. 回到1)

3. 文章亮点

  文章在多个文本分类任务数据集上测试了三种训练方式的表现,结果表明1) 全部三种训练方式均优于单任务训练 2) Model-III表现最好 3) 和NBOW、Tree-LSTM等SOTA模型进行比较,本文提出的Multi-Task模型除了在SST-1任务上略低于Tree-LSTM,其余达到SOTA,且Multi-Task模型很容易就可以兼容Tree-LSTM,从而达到更好的表现。

4. 原文传送门

Recurrent Neural Network for Text Classification with Multi-Task Learning

5. References

[1] 如何从RNN起步,一步一步通俗理解LSTM

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值