论文名字:Multi-Task Label Embedding for Text Classification
动机
文本分类中的多任务学习利用相关任务之间的隐式关联来提取共同特征并获得性能增益。然而,以往的研究大多将每个任务的标签视为独立的、无意义的one-hot向量,导致潜在信息的丢失,使得这些模型很难联合学习三个或更多个任务。
预学习概念
文本分类是一种常见的自然语言处理任务,它试图为给定的句子或文档推断出最合适的标签,例如情感分析、主题分类等。
多任务学习:多任务学习通过联合训练多个相关任务并利用它们之间潜在的相关性来隐式地增加语料库规模,提取共同特征,从而提高分类效率。
挑战
由于需要训练的参数众多,基于神经网络的模型严重依赖于足够数量的带注释语料库,而构建大规模高质量标记数据集非常耗时和劳动密集(labor-intensive)。
本文作者指出了文本分类的三个缺陷:
- 缺少 label 信息:每个任务的标签都用独立的、没有意义的单热点向量(one hot)来表示,例如情绪分析中的正、负,编码为 [1,0] 和 [0,1],可能会造成潜在标签信息的丢失。
- 无法 scaling(无法缩放):网络结构被精心设计来建模多任务学习的各种关联,但大多数网络结构是固定的,只能处理两个任务之间的交互,即成对交互。当引入新的任务时,网络结构必须被修改,整个网络必须再次被训练。
- 不能迁移:对于人类来说,在学习了几个相关的任务之后,我们可以很容易的就可以处理一个全新的任务,这就是迁移学习的能力。以往大多数模型的网络结构都是固定的,不兼容的,以致于无法处理新的任务。
因此,作者提出了多任务 label embedding (MTLE),将每个任务的 label 也映射到语义向量中,类似于 word embedding 表示单词序列,从而将原始的文本分类任务转化为向量匹配任务
本文贡献
- 模型通过将标签映射成具有语义含义的密集、低维和实值向量,有效地利用了每个任务的潜在标签信息。
- 当涉及到新任务时,模型特别便于扩展。网络结构不需要修改,只需要训练来自新任务的数据。
- 在完成多个相关任务的培训后,模型也可以自然地转移到处理全新的任务,而无需任何额外的训练,同时仍能获得可观的性能。
- 考虑了多任务学习的不同场景,并在多个文本分类基准数据集上展示了强大的结果。我们的模型优于大多数最先进的基线。
问题定义
Single-Task Learning
在有监督的文本分类任务中,输入是由x={x,x,…,x}表示的词序列,输出是类标签或一个热表示,通过预训练查找层得到每个单词x的嵌入向量x∈R。训练一个文本分类模型来产生每个x={x,x,…,x}的预测分布。
训练目标是使所有样本的交叉熵最小。
其中表示训练样本的数目,是类别编号。
Multi-Task Learning
给定个有监督的文本分类任务,T,T…,T,训练一个多任务学习模型,将每个从T转换成多个预测分布:
其中只有ˆy用于Loss计算。总体Train Loss是每个任务的成本加权线性组合。
式中,λ、n和c分别表示每项任务的线性权重、样本数和类别数。
Three Perspectives of Multi-Task Learning
- 具有不同平均序列长度和类号的电影评论数据集
- 在语料库的领域中,任务是不同的,例如,书籍、DVD、电子产品和厨房电器的产品评论数据集。
- 任务针对不同的目标,例如情绪分析、主题分类和问题类型判断。
Methodology
Recurrent Neural Network
RNN保持由转移函数循环更新的内部隐藏状态向量。在每个时间步骤,隐藏状态根据当前输入向量和先前的隐藏状态更新。
其中通常是元素非线性的组合,具有和的仿射变换(affine transformation )。这样,RNN可以接受任意长度的词序列并生成一个固定长度的向量,该向量被输入到softmax层,用于文本分类或其他NLP任务。然而,在训练过程中,的梯度可能在长序列中呈指数增长或衰减,即梯度爆炸或消失问题(见上篇详细讲解),阻碍了RNN有效地学习长期相关性和相关性。
((LSTM)解决了上述问题。除了内部隐藏态之外,LSTM还保持一个内部存储单元和三个门控机制。在本文中。在每个时间步,LSTM的状态可以用中的五个向量、一个输入门、一个遗忘门、一个输出门、一个隐藏状态和一个存储单元来完整地描述,它们遵循以下的转换方程。
其中为当前输入,σ表示sigmoid函数,且点成表示元素乘法。LSTM通过严格控制每个时间步如何接受的更新、遗忘和显式部分,可以更好地根据整个序列的标签来理解长期依赖关系。
Multi-Task Label Embedding(MTLE)
在输入编码器中,来自的每个输入序列
x=
通过查找层(L)转换成其嵌入表示
学习层(L)用于循环理解x并生成固定长度的向量x,该向量可以看作是原始输入序列X的整体表示。
在标签编码器中,每个任务的标签被映射并学习生成固定长度的表示。在中有个标签,即
其中y(1≤j≤)也是一个序列,例如very positive,并且被查找层(L)映射到向量序列y中。学习层(L)进一步吸收y以生成固定长度向量y.
Model-I: Unsupervised
第一种假设对于每个任务,我们只有 N 个输入序列和 C 个分类标签,但是缺少每个输入序列和对应标签的具体标注。在这种情况下,只能以无监督的方式实现 MTLE。包含三个部分:input encoder, label encoder, matcher。两个 encoder 将文本编码成定长的向量。最后根据余弦相似度进行标签匹配。
Model-II: Supervised
第二种就是有监督的了,两个 LSTM 分别对 label 和句子进行编码,之后分别 concat,过一层全连接(M),得到 匹配得分。
损失函数:交叉熵
总体训练目标是最小化所有任务样本的加权线性组合成本。
当涉及到新的任务时,由于整个网络结构不需要修改,因此模型II的扩展非常方便。我们可以继续训练Model II并根据新任务的样本进一步调整参数,我们定义为Hot Update,或者根据所有任务的样本重新训练ModelI,这被定义为冷更新。我们将在实验部分详细研究这两种标度方法的性能。
Model-III: Semi-Supervised
- 不管是否有注释。如果新任务带有注释,可以选择应用Model II的热更新或冷更新。
- 如果新任务是完全未标记的,我们仍然可以使用模型II进行向量映射,并且在不需要任何进一步训练的情况下为每个输入序列找到最佳的标签,我们将其定义为零更新。