文档介绍:深度迁移度量学习
实的视觉识别应用中不成立,特别是当在不同的数据集中捕获样本时。
为此,在这项工作中,我们提出一种新的深度迁移度量学习(DTML)方法用于跨数据集(交叉数据集)的视觉识别。图1示出了所提出网络的第m层表示为和,并且它们的距离度量可以通过计算第m层的表示和之间的平方欧几里得距离来测量:
根据图嵌入框架,我们对顶层的所有训练样本的输出执行marginal fisher analysis(降维),并且形成强监督深度度量学衡类内紧致性和类间可分性之间的重要性的自由参数; 表示矩阵Z的Frobenius范数; 是可调正正规参数; 和定义了类内紧致性和类间可分性,定义如下:
其中如果是的(k1类内)最近邻之一,则被设置为1,否则为0; 如果是的k2个类间最近邻之一,则被设置为1,否则为0。
给定目标域数据Xt和源域数据Xs,当它们从不同的数据集捕获时,它们的概率分布通常在原始特征空间中不同。为了减小分布差异,我们期望使源域的概率分布和目标域的概率分布在变换空间中尽可能接近。为了实现这一点,我们应用最大平均偏差(MMD)准则来测量它们在第m层的分布差异,其定义如下:
通过组合(3)和(6),我们将DTML制定为以下优化问题:
其中β(β≥0)是正则化参数。
为了解决(7)中的优化问题,我们采用随机子梯度下降法来获得参数和。
(7)中的目标函数相对于参数和的梯度计算如下:
其中更新方程式计算如下:
其中m = 1,2,...,M-1。这里,操作⊙表示元素级乘法,并且给出为。
算法1:DTML
输入:训练集:标记的源域数据Xs和未标记的目标域数据Xt;
参数:α,β,γ,M,k1,k2,学习率λ,收敛误差ε和总迭代数T.
for k = 1, 2, · · · , T do
{
向前传播到所有数据点;
通过(4)计算紧致度;
通过(5)计算分离度;
通过(6)获得MMD项;
for m = M,M − 1, · · · , 1 do
{
通过(8)和(9)通过反向传播计算和
}
end
//更新权重和偏差
for m = 1, 2, · · · ,M do
{
}
end
//降低学习率
通过(7)获得;
如果,转到输出。
}
end
输出:权重和偏差。
然后,可以通过使用如下的梯度下降算法来更新和,直到收敛:
其中λ是学习率。
算法1总结了所提出的DTML方法的详细优化过程。
4、深度监督迁移度量学习
在(7)中定义的DTML的目标函数仅考虑在网络的顶层的训练样本的监督信息,其忽略隐藏层处的输出的判别信息。为了解决这个问题,我们进一步提出一种深度监督的迁移量度学习(DSTML)方法,以更好地利用来自所有层的输出的判别信息。我们制定以下优化问题:
其中
是DTML应用于第m层的目标函数。这里,是顶层的损失,
是第m隐藏层的损失,m = 1,2,...,M-1。hinge损耗函数用于测量损耗,其定义为:;是一个正的阈值,其控制损失以显示它在学衡在顶层获得的损失和第m隐藏层的重要性。如果第m个隐藏层的总损失低于阈值,则在学习过程中(12)中的第二项将消失。
(12)中的目标函数相对于顶层处的参数和的梯度计算如下:
对于其他层m = 1,2,...,M-1,它们计算如下:
其中h'(x)是h(x)的导数,并且对于非可微性点x = 0,设置h'(x)= 0。
对于1≤m≤l≤M,我们有
其中除了在点x = 0处的δ(x)= 1,其他的δ函数δ(x)= 0,并且对于所有层1≤m≤l-1的更新方程计算如下:
5、实验
在本节中,我们对两个视觉识别任务评估DTML和DSTML方法:交叉数据集人脸验证和交叉数据集人重新识别。以下描述详细的实验和结果。
面部验证旨在决定给定的一对面部图像是否来自同一个人。在本节中,我们进行跨数据集无约束面部验证,其中面部图像是在野外条件下捕获的,因此捕获的图