论文链接:https://arxiv.org/abs/1806.05662
【摘要】基于深度学习的迁移学习的主流方法一般是从一个任务中学习到可迁移到其他任务的通用特征向量,例如语言中的单词嵌入和视觉中的预训练卷积特征(比如imagenet model 的预训练也是一种迁移),也就是在特征层面做迁移。然而,这些方法通常只是迁移一元特征,却很大程度上忽略了更结构化的图结构表征。本文探索了从大规模未标记数据中(无监督学习)学习捕获数据单元对(例如单词或像素)之间依赖关系的通用隐藏关系图,并将这些图传递给下游任务的可能性。我们提出的迁移学习框架提高了各种任务的性能,包括问答系统、自然语言推理、情感分析和图像分类。我们的测试还表明,学习到的图形是通用的,在图没有经过训练的情况下,可以迁移到不同嵌入(包括 GloVe 嵌入、ELMo 嵌入和任务特定的 RNN 隐藏单元)或无嵌入单元(如图形像素)。
图 2:论文标题
深度学习的进展很大程度上依赖于诸如卷积网络和循环网络之类的复杂网络架构以及注意力机制等等。由于其内置的「先天优势」,所以这些架构虽然具有较高的表征能力,它们主要在网格状或顺序结构上运行。因此,CNN 和 RNN 在很大程度上依赖强大的表达能力来模拟复杂的结构现象,它们没有明确利用结构和图表征。
相比之下,各种现实世界的数据表现出比简单的网格状或顺序结构具有更丰富的关系图结构。例如在在语言领域,语言学家使用解析树来表示单词之间的句法依赖;信息检索系统利用知识图来反映实体关系;几乎所有自然语言数据都普遍存在示例结构,这暗示了跨任务转移的可能性。这些观察也可以推广到其他诸如视觉之类的领域,其中建模像素之间的关系被证明是有用的。
图 2:传统迁移学习与本文迁移学习的对比
如图 2:传统迁移学习与新迁移学习框架的对比。GLoMo 不是迁移特征,而是迁移网络输出的图形。图形与任务特定的特征(task B 特征)(例如嵌入或隐藏状态)相乘,以产生结构感知特征用于别的任务(task B)。所谓的graph其实就是个依赖矩阵,称之为亲和矩阵。
1、打破基于特征的深度迁移学习的标准化规范,定义了一种全新的迁移学习的范式;
2、提出了一种新的无监督隐藏图学习框架,称之为 GLoMo(Graphs from LOw-level unit MOdeling,低级单位建模图)
3、提出的框架解耦了图(graph)与特征(feature),以数据驱动的方式学习数据中的通用结构。我们对学习可迁移隐藏关系图感兴趣,其中隐藏图的节点是输入单元,例如句子中的所有单词。隐藏关系图学习的任务是学习一个相似矩阵,其中权重(可能为零)捕获任意一对输入单元之间的依赖关系;
4、实验结果表明,GLoMo 提高了问答、自然语言推理和情感分析等各种语言任务的性能。我们还证实,学习到的图形是通用的,学习到的图在不经过训练的情况下,可以很好的跟各种特征集(GloVe 嵌入 [28]、ELMo 嵌入 [ 29 ] 和任务特定的 RNN 状态)任务使用。并且在图像领域做的分类任务也证明其有效性。
给定一个一维的输入,x = (x 1 , · · · , x T ),x t 代表在位置t , T 是输入序列的长度。目标是学习 (T × T ) 的亲和矩阵 G,矩阵G 是不对称的,G ij 捕捉了 xi 与 xj 之间的依赖关系。
整个框架分为无监督学习阶段和迁移阶段,在无监督学习阶段需要训练两个网络,其中一个是graph predictor network 叫做 g 和一个 feature predictor network 叫做 f 。
给 g 的输入为 x, G = g(x). G 是一个 三维张量 (L×T ×T),L是产生图的网络的层数,T×T是亲和矩阵。
然后将 G 和 原始的 x 输入到 f (feature predictor network) 中。
在迁移阶段,输入是 x' , 先用g 来提取 亲和矩阵 G = g(x‘ ),然后将G乘以 任务特定特征 以此作为嵌入或者隐状态的输入,然后此时 网络 f 是忽略的。
提出的框架
graph predictor 包含一个 multi-layer CNNs, 一个 key CNN, 和一个query CNN. 输入为x, key CNN 输出序列(k 1 , · · · , k T ) ,query CNN 输出序列(q 1 , · · · , q T ). 在第L层计算G如下式:
4.png
Feature Predictor 的输入是F(....如下式) 和 G,F 序列的迭代计算如下式:
5.png
6.png
上式中 v 操作可以是GRU单元等。
D代表预测的文本的长度,在最顶层。在位置t,用 F (ft)特征序列中对应的元素来初始化RNN中的隐状态,最后得出对应x t 的预测。
7.png
该框架中有很多必要条件 1、解耦图与特征 2、稀疏性(用relu 不是softmax) 3、分层图表达 4、单元级别目标 5、顺序预测(传统是预测下一个,本文拓展到了预测长度达到D)
这部分介绍如何将graph predictor g 迁移到下游任务。 输入特征 x' 来自下游任务,式子8.png说明了每一层都会产生G,m是权重。
8.png
9.png
在问答和图像分类的对比实验中,精度都有提高。
8.png
9.png
注:本文部分小内容摘自机器之心