您的位置:首页 > 大数据 > 人工智能

[cvpr2017]Deep Hashing Network for Unsupervised Domain Adaptation

2017-08-31 20:26 1051 查看

introduction

作者的框架(Domain Adaptive Hashing (DAH) )通过学习source domain和target domain的信息哈希码来进行分类(数据量很庞大,所以考虑到了哈希,可以利用哈希的快速查询和低内存使用)。

作者在一个新的数据集——Office-Home——上进行试验,这个数据集有来自4个域的图像信息(15500图像65个类),作者希望正式自己的算法在多重的迁移学习中能够有优秀的性能。

本文仅限于非监督

哈希将高维的数据转换为紧凑的二进制代码,并且为类似的数据项生成类似的二进制代码。

作者推荐使用一个深层网络来输出二进制哈希码(而不是概率值)来用于分类。

作者认为在网络的最后一层输出哈希值而不是概率有两个优点:

哈希值可以用于没有标签的target domain上的数据的唯一损失函数(unique loss function)的建立

预测期间,可以将测试样本的哈希值与训练样本的哈希值进行比较,以获得更加健壮(robust)的类别预测

作者用以下的组件来寻来深层网络:

对source domain上的数据进行监督性的hash损失,确保来自同一个类的source 样本具有相似的哈希值

对target domain上的数据进行无监督的熵损失( entropy loss ),使得每个target 样本与一个正确的source domain上的类对应,并且和别的类不同

通过使用多内核MMD(multi-kernel Maximum Mean Discrepancy (MK-MMD)),来学习网络内部的可转移特征,以最小化source domain和target domain之间的分布差异(distribution difference)。

Domain Adaptive Hashing Networks

定义:



网络架构:



前5层卷积层,后三层全连接层

source domain的使用监督哈希损失(supervised hash loss),target domain的使用非监督熵损失(unsupervised entropy loss)

hash-fc8层之后学习的是二进制哈希码hi∈{−1,+1}d,由上述的两个损失函数共同驱动更新。

supervised hash loss确保了唯一并且有判别性的哈希值,即,如果xi和xj属于相同的类别,则它们的哈希值hi和hj相似,否则不同。

unsupervised entropy loss则是基于source domain和target domain的特征表示(fc8层输出的那些特征向量)将source domain和target domain上数据的散列值对齐。

作者把网络的输出记为ψ(x)∈Rd,并转换为哈希码h=sgn(ψ(x)),其中sgn()是符号函数。

类后验概率(样本x的标签为y)记为f(x)=p(y|h)

使用函数f()来对target domain进行预测

为了使得source domain和target domain的特征表示足够相似,作者在source domain和target domain的全连接层之间上加了MMD损失。

Reducing Domain Disparity

作者的模型中,cov1-cov5层是对source domain和target domain通用的,但全连接层是分开针对source domain和target domain的,或者说 task-specific 的,因此在迁移之前需要调整。作者在三个全连接层之间都加了多层MK-MMD损失:





所使用的核函数被定义为PSD核(半正定的核函数)的一个凸组合

Supervised Hashing for Source Data

hamming distance(汉明距离):



相似概率的函数如下:



使得两个样例相似(属于同一类)的时候,哈希码的hamming distance较小。不属于同一类的时候,hamming distance则较大。

似然函数:



通过最小化上述的表达式,就可以得到适当的哈希值

但是这是一个离散优化问题,优化起来有一定的的难度,所以作者引入了松弛变量ui=ψ(xi)(就是网络输出的那个)

但是这依然存在问题

近似误差(approximation error),当⟨hi,hj⟩被 ⟨ui,uj⟩ 替代的时候

量化误差(quantization error),当实数编码ui被二进制化的时候。

为了解决近似误差,作者在网络的最后一层增加了一个tanh()作为激活函数使得ui∈(−1,+1)

为了解决量化误差,引入了量化损失||ui−sgn(ui)||22

最终的优化目标:



Unsupervised Hashing for Target Data

作者使用一个概率相似度度量⟨ui,yj⟩来学习具有判别能力的target domain上的映射。

一个理想的target outpututi应该和大部分来自某个类(假设为jth类)的source 样本相似。和大部分来自非jth类的source 样本不相似(作者从每个类中抽取K个样本,假设不失一般性的情况下)。

pij为target 样本xi被认为属于类jth的概率:



当target 样本xi仅仅和其中一个类相似而和其余的类不相似时,它的概率向量pi=[pi1,...,piC]T趋向于one-hot向量(one-hot向量内部的元素仅由一个为1,剩下全部为0)

作者假设所有的pi向量是一个one-hot向量(已被称为低熵概率向量low entropy probability vectors)

作者引入一个熵损失函数,来使得这个向量更加接近one-hot 向量(one-hot 向量的熵很低),是target 样本的输出仅仅和其中一个source 的类中的样本相似:



Domain Adaptive Hash Network

综合以后的损失函数:



网络架构(预先使用VGG-FImageNet 2012上做了训练):



关于数据集Office-Home的细节自行去看论文吧

Experiments

源码

其余的实现细节就自行去查看论文了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐