Multi-Label Transfer Learning for Semantic Similarity

版权声明:本文为博主原创文章,转载请说明出处 https://blog.csdn.net/qq_31192383/article/details/80907926
  • 介绍
    本文提出了一种新颖的多标签迁移学习方法,以共同学习多个注释提供的信息,而不是将它们视为独立的任务。

    随着句子编码器的最新发展和成功,将句子映射到固定长度矢量或句子嵌入,一种方法是首先使用预训练模型计算每个句子的嵌入,然后输出两个嵌入之间的余弦相似度。 作为预测的相似性。由于这些句子编码器是在大型语料库上训练的,这些语料库通常不属于语义相似性领域,因此迁移学习对于这种方法的表现至关重要。虽然在一些语义相似性数据集中,一个例子包括句子对和带注释的相似性得分,但在其他情况下,每个句子对都带有多个注释。这是因为两个句子之间的相似性可能存在不同的解释或维度,例如“他们是否相互解释?”,“他们是否属于同一主体?”,等等。通常,这些维度被视为单独的任务,其中模型一次训练并测试其中一个并忽略其余的任务。但是,我们假设每个维度可能包含其他维度的有用信息,因此在多个维度上联合进行训练可以提高一个或多个维度的性能。

    针对具有多个维度的那些语义相似性数据集,我们提出了一种联合多标签迁移学习,其中通过输出多维度的预测并聚合用于反向传播的损失来在多个维度上联合训练模型。这与传统的多任务学习设置不同,在传统的多任务学习设置中,模型一次进行一次预测,在任务之间切换。我们将传统设置和单任务设置(即,每个维度学习不同的模型)视为基线,并表明多标签设置在许多情况下优于它们,实现了最先进的性能 SICK Entailment任务以及Human Activity Phrase数据集的所有维度。

  • 具体方法
    本文引入了一个多标签设置,专门用于具有多个注释维度的语义相似性任务的转移学习。

    • 结构
      我们采用“硬参数共享”多任务学习设置,其中一些隐藏层在多个任务之间共享,而每个任务都有自己的特定输出层。如图1:
      这里写图片描述
      semantic similarity dataset 中两个注释维度为2的句子 s L s R ,这两个句子被分别编码为 h L h R ,每一个维度都有自己的label,dense layer将 h L h R 作为输入并且输出可能得分范围内的概率分布。具体地,给定范围[1, K]中的句子对的得分,其中K是整数,具有句子嵌入 h L h R ,以及模型参数 θ ,我们计算:
      这里写图片描述
      其中,W和b均为参数矩阵/向量, r T = [ 1 , 2... K ] y ^ 是预测分数。为了将注释得分编码为分布,一个稀疏的目标分布p被定义为满足 y = r T p 其中y是在某一维度上注释的分数:
      这里写图片描述
      1 <= i <= K 。本文用的损失函数不是KL散度而是均方误差:
      这里写图片描述
      利用两个这样的dense layer,计算两个损失J1和J2,对应每个维度。 对于反向传播,总损失计算为J1 + J2。

    • 创新
      多标签学习是多任务学习的一个子集,其中所有任务的输入数据都是相同的。本文的新颖之处在于在同一轮前向传播和反向传播中将每一维的损失汇聚到一起。该方法相较于传统的方法 alternating multi-task (交替多任务)有更多的优势。

  • 实验

    • 数据集
      我们研究了三个语义相似性数据集,其中包含多个注释维度,跨越短语,句子和短段。分别是Human Activity Phrase、SICK、Typed-Similarity。
    • 模型
      本文使用InferSent,一种具有最大池化的双向LSTM,该模型在斯坦福自然语言推理语料库和多类型自然语言推理语料库中被训练,将其作为预训练句子编码器转移到语义相似性任务。
    • Baselines
      我们将该方法和下面两个baselines进行比较:
      Single-task:其中每个维度都被视为一项单独的任务。 对于每个维度,仅训练和测试仅具有一个密集层的模型,忽略注释的所有其他维度。 句子编码器和密集层中的所有参数都会更新。
      Alternating multi-task: 在每轮前馈和后向传播中只涉及一个维度。 例如,对于具有两个维度A和B的数据集以及具有两个对应密集层的模型,在选择一批句子对之后,模型首先仅使用来自维度A的注释并更新密集层A中的参数和句子编码器。 然后,对于维度B重复相同的过程,更新密集层B和句子编码器中的参数,然后继续下一批。

    • 实验结果
      在每个实验中,我们使用随机梯度下降作为优化器,批量大小为64.我们将学习率调整为{0.1,0.5,1.5}并将模型训练20个时期。结果显示在表1中P值是根据30次运行收集的结果计算的,以针对单任务基线和交替多任务设置进行多标签设置的单侧学生t-test检验。
      这里写图片描述
      对于人类活动短语数据集,单一任务设置已经在SIM,REL和PAC维度上实现了最先进的性能;使用多标签设置,该模型能够在REL的性能方面获得非常显着的改进,同时保持其他维度的性能。 然而,传统的交替多任务设置比其他设置表现得差得多。对于SICK数据集,多标签设置在蕴涵任务上实现了最先进的结果,优于单任务基线以及使用InferSent的先前最佳结果。与关联任务中的单任务设置相比,多标签设置还具有统计上显着的性能提升。传统的交替多任务设置仍然不如其他设置。对于Typed-Similarity数据集,其中我们不知道使用句子编码器的任何先前结果,多标签设置优于一般相似性和涉及的事件或动作的单任务设置,但在主题和描述上表现不佳。 此外,这是唯一一个交替多任务设置与每个维度的多标签设置相同的数据集。

      在多标签设置中,我们通过将每个维度的损失相加来计算总损失。 我们还探讨了将损失加权2.5和10的因素,但这样做会损害所有维度的性能。
      在交替多任务设置中,我们尝试在一组示例中将维度呈现给模型时对维度进行不同的排序,但性能差异在统计上并不显着。 此外,交替多任务设置比多标签设置花费大约n倍的训练,其中n是注释的维数。

  • 总结
    我们提出了一种多标签转移学习设置,专门设计用于具有多个注释维度的语义相似性任务。 通过试验十个维度和三个数据集,我们表明多标签设置在许多情况下可以胜过单任务和传统的多任务设置。 未来的工作包括探索此设置在其他句子编码器上的性能,以及语义相似性领域之外的多标签数据集。

猜你喜欢

转载自blog.csdn.net/qq_31192383/article/details/80907926