多任务学习“DEEP MULTI - TASK REPRESENTATION LEARNING : A TENSOR FACTORISATION APPROACH”

多任务深度学习结构通常是一个黑科技,由设计者决定哪些层共享。论文在深度网络的每一层学习任务间的共享结构,基于矩阵分解泛化技术进行tensor分解,实现端到端的深度网络信息共享。该方法可以用于同类和不同类的多任务学习。

由设计者定义的深度多任务网络通常在浅层共享,之后分叉成多个分离的层,每个任务都有损失函数。设计者通常需要明确共享结构:有多少个特定任务层,多少个任务不相干层,如果设计共享结构等问题。

论文提出的方法是浅层多任务学习方法的泛化,如(Evgeniou & Pontil, 2004; Argyriou et al., 2008;Kumar & Daumé III, 2012),在深度网络的每一层学习如何共享,或者学习共享结构。

同类多任务学习,每个任务对应一个单一输出,如MNIST字符识别分解为10个二分类任务。
不同类多任务:每个人物对应一个特别的输出集合,如属性识别。

论文提出的方法核心思想是使用张量分解,将模型每个参数集合,如FC层参数,卷积核张量,分解为共享的或特定任务的部分。

相关研究
多任务学习
现有的多任务算法假设输入与模型均是D维的向量,T个任务的模型可以组成大小为 D×T 的矩阵W。现有的基于矩阵的多任务方法通常给W约束,如 l2,1 范数形成低秩矩阵。类似的,Kumar & Daumé III, 2012将W分解为 W=LS , Evgeniou & Pontil, 2004将每个人物t下线性模型写为 wt=w^t+w^0 。这种分解实际上包含了许多MTL方法,如Xue et al., 2007假设 S.,i 是由Dirichlet过程生产的单元向量,及使用带有Indian buffer过程的线性因子分析对W进行建模。
张量分解
深度学习中,张量分解曾被用于挖掘张量少量的参数,用于压缩加速模型。该篇论文出于不同的目的分解张量,分解的参数包括卷积核、或者 D1×D2 的FC层权值矩阵。所有的参数堆叠在一起形成矩阵 D1×D2×....×DN×T ,通过分解共享信息。
参数化的DNN
给定一些辅助信息,DNN的权值动态生成。在speaker-adaptive语言识别中,数据中存在几个聚类,如性别、声学条件,说话人的模型可以认为是这些潜在任务的线性组合。每个说话人的权值矩阵式K个基矩阵的和,通过参数 λ 加权,新的数据加入只需要重新学习权重。

方法描述
张量点积是矩阵点积的扩展,即如果张量A的尺寸为 M1×M2×...P ,张量B的尺寸为 P×N1×N2... ,则A与B点积的结果是大小为 M1×M2×...×N1×N2 。更一般的,张量点积可以在特定轴上进行, Ai,jB=AT(i)B(j) ,这里下标表示A与B尽心点积的轴。
1. 基于矩阵的信息共享
矩阵 W=D×T ,常用的方法是对W进行结构约束,如W=LS,其中L是 D×K 的矩阵,S是 K×T 的矩阵,分解发现了一个共享因子L和一个特定任务因子S。L的列可认为是潜在基任务,第i个任务的模型 w(i) 是潜在基任务的线性组合,且带有特定任务信息 S.,i ,即:
w(i):=W.,i=LS.,i=Kk=1L.,kSk,i (1)
2. 从单一输出到多输出
每个任务是 D1×D2 的矩阵,T个任务形成 D1×D2×T 的张量,公式(1)扩展为:
W(i):=W.,.,i=Kk=1L.,.,kSk,i (2)
信息只在任务间共享,而某个任务的维度间不共享。张量分解的几种定义:Tucker,TT。
3. Tucker分解
给定N-way张量 D1×D2...×DN ,Tucker分解输出一个核心张量S为 K1×K2...×KN ,以及N个大小为 Dn×Kn 的矩阵 U(n) ,即:
这里写图片描述
4. TT分解
TT分解输出2个矩阵 U(1) U(N) ,尺寸分别为 D1×K1 KN1×DN 。以及(N-2) 3-way张量 U(n) ,大小为 Kn1×Dn×Kn ,即:
这里写图片描述

深度多任务表示学习
每个任务,使用相同的结构学习。每个对应层的权重由权值共享结构的分解公式得到。在FC层后向传播过程,模型不直接学习3-way张量W,而是学习Tucker方法的 S,U1,U2,U3 ,TT方法的 U1,\emphU2,U3 。除了FC层,当前的DNN也挖掘卷积层。卷积层包含核滤波器参数,也是3-way张量 H×W×C ,或4-way张量 H×W×C×M

实验
按照以下步骤初始化模型,设置张量的rank:
首先以单任务学习方式训练DNN。然后逐层打包参数,作为张量分解的输入。在SVD应用之后,对相关的误差设置阈值,SVD获得合适的rank。因此,方法仅需要一个超参数,即最大重建误差,用以表示每一层的rank。共享只针对权值矩阵,偏置矩阵不共享。

1. 同类型多任务
MNIST分类任务,网络结构为LeNet,设置N(1~3)层为硬共享,通过交叉验证发现N=3时效果最好,User-defined模型前3层全部共享。论文方法前四层软共享。

2.不同类多任务
AdienceFaces人脸 数据库,性别2类,年龄8类,User-define前五层硬共享,论文方法前五层软共享。
这里写图片描述

3.量化共享程度
张量分解W=LS,S是 K×T 的矩阵,T是任务数量,K是隐含任务数量,S的每一列是生成最终权值矩阵的一系列系数。STL是将S赋值为单位矩阵,user-defined MTL将S特定行赋值为1其余赋为全0,如 S=[11×T;0] 。在这两个极端之间,论文学习共享的结构S。使用下述公式衡量学习到的共享程度:
这里写图片描述
Ω(a,b) 是向量a和b的相似度, ρ 是所有列相似度之和。S用之前需要归一化,这样所有列之和为1。相似度范围是0~1。

Omniglot多语言字母分类实验每层共享程度:
这里写图片描述

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值