Unifying Multi-Domain Multi-Task Learning:Tensor and Neural Network Perspectives
目录
一、总结
太难了,文章告吹
二、翻译
0. 摘要
abstract:
多领域学习旨在从几个不同但相关领域的同时学习中获益。在这篇文章中,我们提出了一个单一的框架,将多领域学习(MDL)和相关但更好的研究方向多任务学习(MTL)相结合。通过利用语义描述符的概念,我们展示了我们的框架如何包含各种经典的和最近的MDL/MTL算法,结合不同语义描述符编码,作为具有的特殊情况。作为第二个贡献,我们提出了该框架的更高阶概括,能够同时进行多任务多域学习。这种概括分别在多重线性代数和门控神经网络中具有两个数学上等效的视图。此外,通过利用语义描述符,它为神经网络提供了zero-shot learning(ZSL)的能力,在没有任何训练数据的前提下,为没见过的类进行了分类,以及zero-shot domain adaptation,在没有任何训练数据的前提下,为没见过的domain进行了分类。实际上,该框架提供了一种功能强大但易于实现的方法,可以灵活地应用于MTL,MDL,ZSL和ZSDA。
1. 引言
multi domain是指在一个任务中的数据出现几个不同但是相关的domains。例如用不同的摄像机类型对一个对象进行识别。[Dredze et al., 2010, Daume III, 2007, ´Yang and Hospedales, 2015]MDL模型旨在学习一种跨域参数共享策略,可以反映域的异同的。这种选择性参数共享的目的是要使得域间的差异具有鲁棒性,同时与从多个域中分别学习相比,可以利用来自多个域的数据来提高性能。
在本章中,我们从神经网络和张量分解的角度得出一个包含MDL和MTL的通用框架。通过关于在跨域、跨任务共享结构编码的假设中,可以理解许多经典和最新的MDL / MTL算法。例如,假设每个任务/域的模型都是全局和特定于任务的参数向量的线性组合[Evgeniou and Pontil,2004,Daume III,2007]。我们的框架包括这些特殊情况,与语义描述符向量参数化任务/域的特定设置相关。此向量可用于从我们的框架中恢复现有模型,但更笼统地说,它使人们可以放宽通常隐含的假设,即域是原子/类别实体,并利用有关任务/域的可用元数据来指导共享结构,以获得更好的MDL / MTL [Yang and Hospedales,2015; Yang and Hospedales,2016b]。例如,在监视视频分析中,利用与每个域对应的一天中的时间和一周中的一天的知识来获得更好的MDL。最后,语义任务/域描述符的思想使我们的框架超越了传统的MDL / MTL设置,并解决了零镜头学习[Yang and Hospedales,2015]和零镜头域适应[Yang and Hospedales, 2015,Yang和Hospedales,2016b] –仅通过指定任务/域的语义描述符元数据,就可以在没有任何训练数据的情况下为新任务/域部署模型。
Multi-Domain 和 Multi-Task Learning
Multi-Domain versus Multi-Task Learning:领域和任务之间的差异可能很细微,可以通过为多任务学习提出的方法来解决某些多领域学习问题,反之亦然。 但是,为了更好地理解这项工作,将它们区分开是很有用的。域指的是解决同一任务但具有不同统计偏差的多个数据集。 例如用于物体识别的摄像机类型;每天或每年进行监视视频分析;或更多人为的数据偏见。另一方面,任务指的是要识别的不同对象类别。换句话说,任务更改会影响监督学习问题的输出标签空间,而域更改则不会。
Office数据集是具有多个域的经典基准测试。 它包含来自三个数据源(Amazon网站,webcam,和DSLR)的同一组类别的图像(例如杯子,笔记本电脑,键盘)。在这种情况下,多任务学习可以通过共享有关如何识别键盘和笔记本电脑的信息来提高性能。 而多域学习可以通过共享有关如何识别Amazon产品和webcam图像中的类的知识来提高性能。些问题可以解释为任一设置。 例如,在School dataset中,目标是根据学生的特征预测他们的考试成绩。 该数据集被广泛用于评估MTL算法,其中来自不同学校的学生被分组为不同的任务。 但是,有人可以说,学校分组可以更好地解释为域而不是任务。
根据经验,当将来自域A的模型直接应用于域B时性能降低,就会出现多域学习问题。而多任务学习问题发生在无法将任务A的模型有效地应用于任务B的情况下,因为它们的标签空间根本不同。 在某些问题中,多域和多任务设置会同时发生。 例如,在Office数据集中,既有多种相机类型,又有多个对象要识别。现有的方法很少可以处理此设置。 MTL方法将一个多类问题分解为多个1-v-all任务,并跨任务共享信息。而MDL方法通常处理多个域中的单输出问题。 我们的高阶泛化解决了诸如Office所带来的问题所要求的同时多域多任务学习。
域自适应和域泛化
Relation to Domain Adaptation and Domain Generalisation:
数据集偏差/域移位(dataset bias/domain-shift)意味着在一个域上训练的模型在部署到另一个域时通常性能较弱。 提出了两种缓解此问题的方法:
- (i)domain adaptation(DA):将预先训练的模型校准到目标域,使用有标签的数据(监督域适应 supervised
DA)或无标签的数据(无监督域适应unsupervised DA)或者半监督域适应semi-supervised DA。 - (ii)domain generalisation(DG):训练一个对领域偏差不敏感的模型,例如学习领域不变特征(domain
invariant)
多领域学习的目标不同于所提到的领域适应和领域概括。 MDL可以看作是DA的双向概括,每个域都使其他域受益,因此所有域都具有最佳性能。 而不是像DA中那样,仅从源→目标域迁移知识。传统的MDL不予DG重合,因为DML旨在提高所有给定域的表现,而不是解决一个保留域(held-out domain)。但是,我们的MDL的zero shot domain adaptation扩展是针对DG的,旨在解决保留域。不同之处在于我们需要为保留域提供语义描述符,而DG则不需要。 但是,在存在此类描述符的情况下,ZSDA有望胜过DG。
2. 方法——单输出模型
Methodology – Single Output Models:
我们从最流行的MTL / MDL方法做出的线性模型假设开始,即域/任务对应于单变量线性回归或二元分类问题。我们还假定域/任务是同质的,即不同的域/任务具有模型表示和相同大小的实例特征向量。
2.1 公式:向量矩阵内积
Vector-Matrix Inner Product:
假设我们有M个domain(tasks),第i个domain有
N
i
N_i
Ni个实例。我们把第i个domain(task)中的第j个实例的D维特征向量和它相关联的B维语义描述符表示为
{
{
x
j
(
i
)
,
z
(
i
)
}
j
=
1
N
i
}
i
=
1
M
\{\{x_j^{(i)},z^{(i)}\}_{j=1}^{N_i}\}_{i=1}^M
{{xj(i),z(i)}j=1Ni}i=1M,对应的标签为
{
{
y
j
i
}
}
j
=
1
N
i
}
i
=
1
M
\{\{y_j^i\}\}_{j=1}^{N_i}\}_{i=1}^M
{{yji}}j=1Ni}i=1M。所有domain/task i的权重向量
w
(
i
)
w^{(i)}
w(i)能堆叠成一个权重矩阵
W
~
\tilde W
W~。在不失一般性的前提下,我们将所有领域(任务)的经验风险降至最低:
arg
min
W
~
1
M
∑
j
=
1
N
i
(
1
N
i
∑
j
=
1
N
i
l
(
y
^
j
(
i
)
,
y
j
(
i
)
)
)
\mathop{\arg\min}\limits_{\tilde W}\frac{1}{M}\sum_{j=1}^{N_i}(\frac{1}{N_i}\sum_{j=1}^{N_i}l(\hat y_j^{(i)},y_j^{(i)}))
W~argminM1j=1∑Ni(Ni1j=1∑Nil(y^j(i),yj(i)))
l
(
y
^
j
(
i
)
,
y
j
(
i
)
)
l(\hat y_j^{(i)},y_j^{(i)})
l(y^j(i),yj(i))是预测
y
^
\hat y
y^和实际标签
y
y
y的损失,对于第i个domain/task而言,线性模型
w
(
i
)
w^{(i)}
w(i)使得预测为:
y
^
j
(
i
)
=
x
j
(
i
)
⋅
w
(
i
)
=
x
j
(
i
)
T
w
(
i
)
\hat y_j^{(i)}=x_j^{(i)}\cdot w^{(i)}=x_j^{(i)^T}w^{(i)}
y^j(i)=xj(i)⋅w(i)=xj(i)Tw(i)
现在,我们介绍一个工作中的关键思想:不是直接学习,每个任务/领域的模型
w
(
i
)
w^{(i)}
w(i)是由其描述符的线性函数
f
(
⋅
)
f(\cdot)
f(⋅)生成的,称为权重生成函数
w
(
i
)
=
f
(
z
(
i
)
)
=
W
z
(
i
)
w^{(i)}=f(z^{(i)})=Wz^{(i)}
w(i)=f(z(i))=Wz(i)
也就是说,第i个域/任务的线性模型是由其B维语义描述和D×B矩阵W相乘产生的。如果所有语义描述符都(作为列)堆叠到矩阵Z中,则
W
~
=
f
(
Z
)
=
W
Z
\tilde W=f(Z)=WZ
W~=f(Z)=WZ
相比于在等式1中学习每个domain的模型
W
~
\tilde W
W~,我们现在学习由矩阵W参数化的权重生成函数。通过代入式 3入式 2,我们可以将第i个任务/领域的预测重新编写为双线性形式
y
^
j
(
i
)
=
x
j
(
i
)
T
W
z
(
i
)
\hat y_j^{(i)}=x_j^{(i)^T}Wz^{(i)}
y^j(i)=xj(i)TWz(i)
此一般公式包含许多MTL / MDL方法。 正如我们将看到的,现有MTL / MDL算法在设计空间上的两个关键轴是描述符z的编码和矩阵W的分解或正则化。我们将在以下两节中讨论它们。
2.2 语义描述符设计
Semantic Descriptor Design:
One-hot encoding z
One-hot encoding z:
在最简单情境下,z是one-hot encoding vector用来索引domains。模型生成函数
f
(
z
(
i
)
)
f(z^{(i)})
f(z(i))仅仅从矩阵W中选择一列。例如当存在3个domain或者task时,
z
(
1
)
=
[
1
,
0
,
0
]
T
,
z
(
2
)
=
[
0
,
1
,
0
]
T
,
z
(
3
)
=
[
0
,
0
,
1
]
T
z^{(1)}=[1,0,0]^T,z^{(2)}=[0,1,0]^T,z^{(3)}=[0,0,1]^T
z(1)=[1,0,0]T,z(2)=[0,1,0]T,z(3)=[0,0,1]T,在这种情况下描述符的长度和domain/task的数量一致B=M,所有
z
i
z^i
zi的堆积
(
Z
=
[
z
(
1
)
,
z
(
2
)
,
.
.
.
]
)
(Z=[z^{(1)},z^{(2)},...])
(Z=[z(1),z(2),...])是M×M矩阵。学习“权重生成函数”就等于独立学习每个域的权重。
带常数的One-hot encoding z
One-hot encoding z with a constant:
one-hot encoding的一个缺点是
z
i
z^i
zi彼此间是正交的,这就证明了所有的domain/task是独立的,没有交叉的domain/task信息共享。为了对所有域/任务的公共的共享结构进行编码,构造z的另一种方法是在单次编码后附加一个常数项。图中展示了一个矩阵Z(B=M+1)。这个任务(域)i的预测是
y
^
(
i
)
=
x
(
i
)
T
W
z
(
i
)
=
x
(
i
)
T
(
w
(
i
)
+
w
(
4
)
)
\hat y^{(i)}=x^{(i)^T}Wz^{(i)}=x^{(i)^T}(w^{(i)}+w^{(4)})
y^(i)=x(i)TWz(i)=x(i)T(w(i)+w(4)),即特定任务/域和全局共享预测的总和。学习权重生成器对应于训练local和共享预测器。 一些经典的MDL / MTL算法使用了这种方法。
分布式编码 z
Distributed encoding z:
在大多数MDL / MTL研究中,域或任务被假定为原子类别,可以通过上述索引方法有效地进行编码。但是,结构化的域/任务元数据通常是可用的,例如域(任务)由多个因素(对于一批视频监视数据而言,时间:白天/夜晚,日期:工作日/周末)建立索引。假设有两个分类变量(A,B)描述一个域,并且每个变量都有两个状态(1,2),那么最多存在四个不同的域。图2(左)说明了1-hot编码的语义描述符。但是,此编码不会利用元数据中编码的共享提示(例如,在监视示例中,工作日白天应该与工作日夜晚和非工作日白天更相似,而不是非工作日夜晚)。现在,预测权数是由描述符给出的W列进行线性组合得出的,学习权重生成函数意味着学习每个因子(例如,白天,黑夜,工作日,周末)的权重。 我们将在以后的实验中证明,与现有的MTL / MDL方法相比,利用结构化域/任务描述符的功能可改善信息共享。
2.3 现有算法的整合
Unification of Existing Algorithms:
各种MDL / MTL方法的主要方法都在等式3中的W加约束进行编码或对描述符z进行编码。除了加强局部和共享组件之外(我们解释为one-hot+常数描述符),很多研究通过在
W
~
\tilde W
W~(每个任务的权重向量的组合D×T)加强低秩结构来获得信息共享。对
W
~
\tilde W
W~建模的流行方式为:
- (i)添加正则项使得 W ~ \tilde W W~成为低秩矩阵
- (ii)低秩因式分解 W ~ = P ~ Q ~ \tilde W=\tilde P\tilde Q W~=P~Q~,在 P ~ \tilde P P~或 Q ~ \tilde Q Q~上施加一些约束
我们假设我们的权重生成函数,D×B的矩阵W被两个点成的因素向量P,Q替代(P是D×K,Q是K×B的),那么等式三则变成
w
(
i
)
=
f
(
z
(
i
)
)
=
P
Q
z
(
i
)
w^{(i)}=f(z^{(i)})=PQz^{(i)}
w(i)=f(z(i))=PQz(i)
也就是说,我们通过将任务/域描述符
z
(
i
)
z^{(i)}
z(i)与矩阵P和Q组合来生成用于预测的特定权重; 学习拟合P和Q即可。
那么,各种现有算法便是我们通用框架的特殊情况。我们通过MDL / MTL(其中M = 3个域/任务)对此进行说明。 观察到RMTL,FEDA,MTFL ,TNMTL和GO-MTL对应于Z,P和Q的特定设置,如表1所示。
2.4 双面网络视图
A Two-sided Network View:
我们现在提供了上述方法类的替代神经网络视图。通过式 6代入式 2,我们看到预测是
y
^
j
(
i
)
=
x
j
(
i
)
T
P
Q
z
(
i
)
\hat y_j^{(i)}=x_j^{(i)^T}PQz^{(i)}
y^j(i)=xj(i)TPQz(i)
在数学上等效的神经网络模型如图所示。NN的引入可以使我们更好地理解我们的框架及其所包含的方法。左侧可以理解为一个全局表示学习网络,
x
T
P
x^TP
xTP,右边可以被当作一个为编码的任务/域z生成模型的网络(权重向量
z
T
Q
T
z^TQ^T
zTQT),这种解释允许将现有的MTL / MDL模型实现为神经网络,并通过标准神经网络库方便地进行优化,通过适当设置输入z并激活适当的权重正则化。除了现有方法以外,我们还利用语义描述符作为输入,这使得信息共享可以以域元数据为指导。此外,作为NN,双方都可以任意深化。例如,表示学习网络可以是从原始图像中提取特征的全尺寸CNN,并且可以通过反向传播对所有内容进行端到端训练。
2.5 应用到Zero-Shot Learning
2.5.1 Zero-Shot Learning
Zero-Shot Learning:
Zero-Shot Learning旨在消除针对特定任务的训练数据的需求。在字符[和对象识别等领域已进行了广泛的研究。通常对于ZSL,训练和测试数据的标签空间是不相交的,因此对于测试时的类别的数据是之前没见过的。取而代之的是,在给定一些中级信息的情况下构造测试分类器。大多数现有的ZSL方法的数据流可以说明为:X→Z→Y,或者Z→Y,X→Y,其中Z时语义描述符,例如属性或者语义词向量。在我们的框架中,ZSL可以通过上图实现,是后者的数据流形式。通过依次提供每个新颖的语义向量
z
(
t
)
z^{(t)}
z(t)(假设测试类别被t索引)以及全新的类别
x
∗
x_*
x∗,对于
x
∗
x_*
x∗的Zero-Shot识别为
t
^
=
arg
min
t
x
∗
T
P
Q
z
(
t
)
\hat t=\arg\min_tx_*^TPQz^{(t)}
t^=argmintx∗TPQz(t)。在这篇文章中,我们关注的是在zero-shot domain adaptation(参数化域)。
2.5.1 Zero-Shot Domain Adaptation
Zero-Shot Domain Adaptation:
超越传统的ZSL,我们将任务的零镜头学习概念推广到领域的零镜头学习概念。 在这种情况下,意味着在测试之前没有看到目标域的训练数据。 面临的挑战是仅基于其语义描述符为新测试域构建良好的模型。 我们将此问题设置表示为s Zero-Shot Domain Adaptation(ZSDA)。
ZSDA可以通过分布式而不是单编码域描述符来实现,因为在实践中,仅有域的子集是有效学习Q所必需的。因此适用于没见过的domain模型
w
(
∗
)
w^{(*)}
w(∗)可以在没有任何训练数据的情况下建立,通过应用它的语义描述符
z
(
∗
)
z^{(*)}
z(∗)到模型生成矩阵Q:
w
(
∗
)
=
Q
z
(
∗
)
w^{(*)}=Qz^{(*)}
w(∗)=Qz(∗)。生成的特定领域模型
w
(
∗
)
w^{(*)}
w(∗)可以用来预测重新表示的输入:
x
∗
T
P
w
(
∗
)
x_*^TPw^{(*)}
x∗TPw(∗)
3. 方法——多输出模型
Methodology – Multiple Output Models:
到目前为止,每个模型的最终输出都是标量(单个输出)。 但是,对于某些实际应用,需要或需要多个输出。 例如,假设我们有M = 2个手写数字数据集(域):MNIST和USPS。 对于任何MNIST或USPS图像,都将提取D维特征向量。 任务是将图像从0到9进行分类,因此每个数据集都有D×C(C = 10)个模型参数。 因此,所有数字和数据集的完整模型应包含D×C×M参数。 我们将这种多域设置表示为多域多任务学习,每个域都具有多个任务。 在最近的一些文献中类似的设置称为多线性多任务学习。
3.1 公式:张量内积
Vector-Tensor Inner Product:
上一节中的关键思想是通过描述符向量生成模型向量。 为了使这种想法适应新的环境,我们建议
W
(
i
)
=
f
(
z
(
i
)
)
=
W
~
×
3
z
(
i
)
W^{(i)}=f(z^{(i)})=\widetilde W\times_3z^{(i)}
W(i)=f(z(i))=W
×3z(i)
其中×n表示张量和向量的n模乘积(在某些研究中也称为张量收缩,因为它是向量和矩阵、向量或矩阵的内积的泛化),现在生成的是一个权重矩阵
W
(
i
)
W^{(i)}
W(i)而不是一个向量
w
(
i
)
w^{(i)}
w(i)。权重生成函数现在由尺寸为D×C×B的三阶张量
W
~
\widetilde W
W
参数化,它通过用其B维语义描述符z和张量相乘来合成第i个域的模型矩阵。这是自然的扩展:如果所需模型是向量(单个输出),则权重生成函数是矩阵(二阶张量)乘语义描述符z(方程3); 当所需模型为矩阵(多个输出)时,权重生成函数为z乘三阶张量。
给定one-hot编码描述符
z
(
1
)
=
[
1
,
0
]
T
,
z
(
2
)
=
[
0
,
1
]
T
z^{(1)}=[1,0]^T,z^{(2)}=[0,1]^T
z(1)=[1,0]T,z(2)=[0,1]T分别指代MNIST和USPS。上述等数会从张量
W
~
\widetilde W
W
切出适当的矩阵。模型预测变为:
y
^
j
(
i
)
=
W
~
×
1
x
j
(
i
)
×
3
z
(
i
)
\hat y_j^{(i)}=\widetilde W\times_1x_j^{(i)}\times_3z^{(i)}
y^j(i)=W
×1xj(i)×3z(i)
y
^
j
(
i
)
\hat y_j^{(i)}
y^j(i)变成了C维的向量而不是一个标量了。然而,在传统的分类(one-hot encoded)域的情况下,该方法无法提供信息共享。 为此,我们接下来转向张量分解。
3.2 张量分解
Tensor (De)composition:
回想一下,许多经典的(基于矩阵的)多任务学习方法的关键直觉是利用由行秩分解
W
~
=
P
~
Q
~
\tilde W=\tilde P\tilde Q
W~=P~Q~引起的信息共享。 即,由因子矩阵P和Q组成用于所有任务W的权重矩阵。 对于具有多个输出的MDL,我们旨在将此思想扩展到权重张量W的分解。 与矩阵情况相比,有多种分解张量的方法,包括CP,Tucker和Tensor-Train分解。
3.3 门控神经网络架构
Gated Neural Network Architectures:
我们先前在第2.4节中展示了用于单输出模型的矩阵分解与双面神经网络之间的联系。 接下来,我们将得出张量分解与门控神经网络之间的联系。 首先,我们在表中概述不同张量(分解)方法所使用的因素。
要建立与神经网络的连接,我们需要引入两个新层:
- (i)Hadamard Product
Layer:输入是两个相等长度的向量u和v,输出是 [ u 1 v 1 , u 2 v 2 , . . . , u K v K ] [u_1v_1,u_2v_2,...,u_Kv_K] [u1v1,u2v2,...,uKvK],它是执行Hadamard(按元素)乘积的确定性层,其中输入大小为 K + K K+K K+K,输出大小为 K K K。 - (ii)Kronecker Product
Layer:输入是两个任意长度的向量u和v,输出是 [ u 1 v 1 , u 2 v 1 , . . . , u K v 1 , u 1 v 2 , . . . , u K v K ] [u_1v_1,u_2v_1,...,u_Kv_1,u_1v_2,...,u_Kv_K] [u1v1,u2v1,...,uKv1,u1v2,...,uKvK],它是确定性层,接受大小为 K u + K v K_u+K_v Ku+Kv的输入并返回大小为 K u K v K_uK_v KuKv的Kronecker乘积。
图4展示了基于NN的多域学习方法。M个域的单域学习学习需要M个单层NN,每个NN具有D×C权重矩阵(图a)。将这组权重矩阵视为对应的D×C×M张量,我们可以使用引入的层来定义门控网络((b)-(d)),该门控网络对该张量的低秩版本进行建模,并带有相应的式中的张量分解假设。相比于a中每个域都包含了一个独立的神经网络,b-d在所有域中包含了一个网络。每个实例的域通过其相应的描述符发信号给网络,网络的右侧使用描述符相应地综合识别权重。
我们注意到,我们可以进一步统一所有三种设计,以及2.4节中提出的单输出模型,将它们作为Tucker网络的特殊情况,如表3所示。因此,我们可以理解所有这些基于因式分解的方法,通过它们与将叠加模型参数(矩阵W或张量W)分解为更小数量的参数,组成特定领域(
U
(
b
)
U^{(b)}
U(b))、特定任务(
U
(
C
)
U^{(C)}
U(C))和共享组件(
U
(
S
)
U^{(S)}
U(S))。需要特别注意的是,尽管我们的模型具有与张量分解相同的因式分解假设,但是训练模型的方法并不是通过训练一组模型并将其分解–实际上根本不使用矩阵/张量分解。而是通过反向传播对(d)的单个Tucker网络进行端到端训练,以最大程度地减少多域/任务损失。网络体系结构要求反向传播训练各个因子,以使它们对应的张量组成解决多域多任务问题。总而言之,我们的框架可以看作是“有区别训练的”张量分解,或者是门控神经网络,其中NN的权重由第二个输入(描述符z)动态参数化。
4. 实验
Experiments:
我们探索了关于对象识别(第4.1节),监视图像分析(第4.2节)和人识别/软生物学(第4.3节)的三组实验。 第一个识别实验遵循将域/任务作为原子实体的常规设置,而后一个实验探索信息域描述符的潜在好处,包括零触发域自适应。
我们使用TensorFlow来实现我们的框架,并采用每种方法的神经网络解释,从而可以轻松地基于SGD的反向传播进行优化。 对于二元分类问题,我们使用铰链损失(hinge loss);对于多分类问题,我们使用(分类)交叉熵损失。
4.1 Multi-domain Multi-task Object Recognition
Multi-domain Multi-task Object Recognition:
在本节中,我们假设使用常规的原子域(因此域描述符只是指示符,而不是分布式代码),但将探索多域多任务(MDMTL)设置。 因此,每个域中都有一个多类问题,我们的方法(第3节)利用了跨域和任务共享的信息。为了处理每个域中的多类识别,它概括了现有的矢量值MTL / MDL方法,并实现了由低秩张量参数化的矩阵值权重生成函数。
数据集:
我们首先使用著名的Office数据集评估多域多任务设置。Office包括三个域(数据源),Amazon:从Amazon下载的图像,DSLR:数码相机捕获的高质量图像,webcam:网络摄像头捕获的低质量图像。 对于每个域,都有多个类别的对象要识别,例如键盘,杯子,耳机。 除了原始的Office数据集外,还应添加一个第四域:Caltech-256。 因此,我们评估了识别四个领域中共有的10个类别。下图是800维的SURF特征。我们预处理数据是通过将每个例子的特征向量的和变为一,然后应用z-score函数。
设置:
我们比较了三种建议的方法变体:CP,Tucker,TT网络,和两个baseline。
- SDL:独立训练每个域。
- Aggregation:忽略域并为所有数据训练聚合模型。
对于这两个baseline,我们使用没有隐藏层的前馈神经网络,因此没有要调整的超参数。对于我们的方法,张量的rank用10折交叉验证来选择,例如CP-network的K,Tucker-network的(
K
D
,
K
C
,
K
B
K_D,K_C,K_B
KD,KC,KB),TT-network的(
K
D
,
K
B
K_D,K_B
KD,KB)。KD,KC和KB的grid分别为[16,64,256],[2,4,8]和[2,4]。 多类别识别的错误率在九种递增的训练测试比率上被计算(10%,20%,…,90%),每一个比率上我们随机重复实验十次。
结果与分析:
结果如图6所示。我们可以看到,与SDL相比,所提出的方法表现良好。 当训练数据非常小时,聚合是一个不错的选择,因为更多数据的好处超过了混合域的缺点。但是,域偏差的存在最终使单个模型无法在所有域上正常工作。我们提出的方法可以针对各个领域生成不同的模型,因此它们通常优于基线。Tucker和TT网络优于CP网络,因为它们在选择多个张量等级时具有更大的灵活性。 但是,缺点是,这还会引入更多的超参数进行调整。