我是靠谱客的博主 紧张金鱼,这篇文章主要介绍Do We Really Need to Access the Source Data?SHOT,现在分享给大家,希望可以做个参考。

SHOT框架:学习域不变特征加码模块,让输出目标特征可匹配源特征分布,被源假设分类准确,

1. 引言
一个简单但通用的方法:源假设转移(SHOT).
SHOT假设:相同的深度神经网络模型包括一个域之间的特征加密模块和一个分类器模块(假设)。旨在学习一个目标特定的特征加密模块来生成与源数据表示对齐良好的目标数据表示,而不用接触源数据和目标数据的标签。SHOT基于以下进行设计:如果我们已经学习了目标数据的类源表示,源分类器(假设)对目标数据的分类输出应与源数据的类似,即与one-hot编码接近。因此,SHOT冻结了源假设,并通过最大化中间特征表示和分类器输出之间的互信息微调了源加密模块,因为信息最大化鼓励网络分配完全不同的one-hot编码给目标特征表示。

即使信息最大化迫使特征表示很好地适应假设,可能仍将目标特征表示对齐到错误的源假设。为避免,提出一个自监督伪标签方法来增强目标表示学习。考虑到源分类器生成的伪标签可能对目标数据不准确有噪,我们提出对目标域本身保留中间class-wise原型,并进一步从这些原型中通过监督得到更干净的伪标签,来指导映射模块学习。这种自监督标签充分利用了目标域的全局架构,并将学习正确适应源假设的特征表示。而且,还调查了标签平滑,权重正则化,批归一化,在源模型的网络架构内,来增强适应性能。

2. 相关工作
假设迁移学习(HTL)
HTL可看作参数适应的正则化,假设最优目标假设与源假设紧密相关。与著名的微调策略相似,HTL大多获得每个类至少一个带标记的目标例子的小集合,限制了z在半监督DA情景的可用性。
伪标签(PL)
伪标签最初为半监督学习提出,在其他传感学习上很受欢迎,主要思想:标记伪标签的数据用最大预测改了,并与标记数据一起进行微调,很有效。在没有标记数据下,DeepCluster,最好的自监督学习方法之一,通过k-means聚类生成伪标签,并利用他们来重新训练当前模型。考虑到数据集偏移,我们框架结合了两者的优势,发展了一个自建度的伪标签策略来减轻有噪伪标签的伤害。
Federated Learning (FL)
FL是一种分布机器学习方法,训练一个多个去中心化边缘设备之间的模型,而不交换他们的数据样本。FL的通常用法消耗一个简单的来自多个局部使用者的更新集合用于服务器端的学习算法,提供了一个隐私保留的机制。最近:知识从去中心化节点转移到一个新的节点,不需任何监督本身并提出一个基于对抗的解决方案。特别的,它在每个源节点训练一个模型,并用源梯度的集合更新目标模型来减少域偏移。但它可能不能解决普通的DA设定,仅有一个源域可用。

3. 方法
仅用一个预训练模型,不使用源数据来解决无监督DA任务。特别的,考虑 K − w a y K-way K−way分类。对普通的无监督DA任务,给我们 n s n_s ns​个来自源域 D s D_s Ds​的带标签样本 { x s i , y s i } i = 1 n s {{x_s^i,y_s^i}}_{i=1}^{n_s} {xsi​,ysi​}i=1ns​​,其中 x s i ∈ X s , y s i ∈ Y s x_s^iin mathcal{X}_s,y_s^iin mathcal{Y}_s xsi​∈Xs​,ysi​∈Ys​,以及 n t n_t nt​个来自目标域 D t D_t Dt​的无标签样本 { x t i } i = 1 n t {{x_t^i}}_{i=1}^{n_t} {xti​}i=1nt​​,其中 x t i ∈ X t x_t^iin mathcal{X}_t xti​∈Xt​。DA的目标是预测目标域中的标签 { y t i } i = 1 n t {{y_t^i}}_{i=1}^{n_t} {yti​}i=1nt​​,其中 y t i ∈ Y t y_t^i in mathcal{Y}_t yti​∈Yt​,源任务 X s → Y s mathcal{X}_s{rightarrow}mathcal{Y}_s Xs​→Ys​假定与目标任务 X t → Y t mathcal{X}_trightarrow mathcal{Y}_t Xt​→Yt​相同。这里SHOT旨在学习一个目标方程 f t : X t → Y t f_t:mathcal{X}_trightarrow mathcal{Y}_t ft​:Xt​→Yt​,然后仅用 { x t i } i = 1 n t {{x_t^i}}_{i=1}^{n_t} {xti​}i=1nt​​和源方程 f s : X s → Y s f_s:mathcal{X}_srightarrow mathcal{Y}_s fs​:Xs​→Ys​来推断 { y t i } i = 1 n t {{y_t^i}}_{i=1}^{n_t} {yti​}i=1nt​​。

我们通过三个步骤解决UDA的源模型转移任务。首先,从源数据生成源模型。其次,丢弃源数据并转移模型(包括源假设)到目标域而不接触源数据。第三,进一步研究如何为两个模型都设计更好的网络架构来提升适应性能。

3.1 源模型生成
考虑构建一个深度神经网络然后学习源模型 f s : X s → Y s f_s:mathcal{X}_srightarrow mathcal{Y}_s fs​:Xs​→Ys​通过最小化下面的标准交叉熵损失:
L s r c ( f s ; X s , Y s ) = − E ( x s , y s ) ∈ X s × Y s ∑ k = 1 K q k l o g δ k ( f s ( x s ) ) mathcal{L}_{src}(f_s;mathcal{X}_s,mathcal{Y}_s)=-mathbb{E}_{(x_s,y_s)inmathcal{X}_stimes mathcal{Y}_ssum_{k=1}^Kq_klogdelta_k(f_s(x_s))} Lsrc​(fs​;Xs​,Ys​)=−E(xs​,ys​)∈Xs​×Ys​∑k=1K​qk​logδk​(fs​(xs​))​
其中 δ k ( a ) = e x p ( a k ) ∑ i e x p ( a i ) delta_k(a)=frac{exp(a_k)}{sum_iexp(a_i)} δk​(a)=∑i​exp(ai​)exp(ak​)​表示一个K维向量a的softmax输出的第k个元素,q是 y s y_s ys​加密的K中之一,其中 q k q_k qk​对正确类是1,其余是0.为了进一步增加源模型的判别性并帮助下面的目标数据对齐,提出采用标签平滑(LS)方法因为它鼓励样本至于紧密均匀分布的簇中。有了LS,目标方程变为公式1:
L s r c l s ( f s ; X s , Y s ) = − E ( x s , y s ) ∈ X s × Y s ∑ k = 1 K q k l s l o g δ k ( f s ( x s ) ) L_{src}^{l_s}(f_s;mathcal{X}_s,mathcal{Y}_s)=-mathbb{E}_{(x_s,y_s)in mathcal{X}_stimes mathcal{Y}_s}sum_{k=1}^Kq_k^{l_s}logdelta_k(f_s(x_s)) Lsrcls​​(fs​;Xs​,Ys​)=−E(xs​,ys​)∈Xs​×Ys​​k=1∑K​qkls​​logδk​(fs​(xs​))
这里 q k l s = ( 1 − α ) q k + α / K q_k^{l_s}=(1-alpha)q_k+alpha/K qkls​​=(1−α)qk​+α/K是平滑的标签, α alpha α是平滑参数经验上设为0.1.

3.2 信息最大化的源假设转移(SHOT-IM)
源模型通过图2中的DNN进行参数化,包括两个模块:特征编码模块 g s : X s → R d g_s:mathcal{X}_srightarrow mathbb{R}^d gs​:Xs​→Rd,和分类器模块 R d → R K , 即 f s ( x ) = h s ( g s ( x ) ) mathbb{R}^drightarrow mathbb{R}^K,即f_s(x)=h_s(g_s(x)) Rd→RK,即fs​(x)=hs​(gs​(x))。这里的d是输入特征的维数。之前DA方法通过匹配特征空间 R d mathbb{R}^d Rd的数据分布来对齐不同域(使用最大平均差异MMD或域对抗对齐)。然而,这两种策略都假设源和目标域共享同样的特征编码器,并需要在适应中接触源于数据。这在提出的DA设定下不可行。相反,ADDA放松了参数共享限制,提出一个新的对抗框架给DA,对每个域学习不同的映射方程。而且,DIRT-T首先学习一个参数共享的DA框架来初始化,然后通过最小化簇假设violation来微调整个网络。这两个方法意味着学习一个域特定特征加码模块是可行的,甚至比参数共享机制效果更好。
我们遵循这个策略并提出一个源假设转移SHOT框架,通过学习域特定特征加码模块但固定源分类器模块(假设),因为源假设加密了未见源数据的分布信息。具体的,SHOT对不同域特定特征学习模块使用相同分类器模块,即 h t = h s h_t=h_s ht​=hs​。旨在学习最优目标特征学习模块 g t : X t → R d g_t:mathcal{X}_trightarrow mathbb{R}^d gt​:Xt​→Rd,以使输出目标特征可以很好地匹配源特征分布,并且可通过源假设直接被准确分类。值得注意的是SHOT很少使用源数据,只用一次来生成源假设,而ADDA和DIRT-T需要同时用源和目标数据当学习模型时。

重要的,我们希望学习最优目标编码器 g t g_t gt​以至于目标数据分布 p ( g t ( x t ) ) p(g_t(x_t)) p(gt​(xt​))好好匹配源数据分布 p ( g s ( x s ) ) p(g_s(x_s)) p(gs​(xs​))。然而,特征级别的对齐不能好好工作,因为不可能估计 p ( g s ( x s ) ) p(g_s(x_s)) p(gs​(xs​))的分布,在不接触源数据的情况下。我们从另一个角度看这一问题:如果域差异被减小,无标签的目标数据应该会有什么样的输出?我们主张理想的目标输出应该域one-hot编码类似,但彼此不同。为此,我们采用信息最大化IM损失,来让目标输出单独确定并且全局不同。实际上,我们最小化下面的 L e n t 和 L d i v L_{ent}和L_{div} Lent​和Ldiv​一起构成IM损失:
L e n t ( f t ; X t ) = − E x t ∈ X t ∑ k = 1 K δ k ( f t ( x t ) ) l o g δ k ( f t ( x t ) ) , L_{ent}(f_t;mathcal{X}_t)=-mathbb{E}_{x_tin mathcal{X}_t}sum_{k=1}^Kdelta_k(f_t(x_t))logdelta_k(f_t(x_t)), Lent​(ft​;Xt​)=−Ext​∈Xt​​k=1∑K​δk​(ft​(xt​))logδk​(ft​(xt​)),
L d i v ( f t ; X t ) = ∑ k = 1 K p ^ k l o g p ^ k = D K L ( p ^ , 1 K 1 K ) − l o g K L_{div}(f_t;mathcal{X}_t)=sum_{k=1}^Khat p_kloghat p_k=D_{KL}(hat p,frac{1}{K}mathbb{1}_K)-logK Ldiv​(ft​;Xt​)=k=1∑K​p^​k​logp^​k​=DKL​(p^​,K1​1K​)−logK
这里 f t ( x ) = h t ( g t ( x ) ) f_t(x)=h_t(g_t(x)) ft​(x)=ht​(gt​(x))是每个目标样本的K维输出, 1 K 1_K 1K​是一个K维向量(都是1), p ^ = E x t ∈ X t [ δ ( f t ( k ) ( x t ) ) ] hat p=mathbb{E}_{x_tin mathcal{X}_t}[delta(f_t^{(k)}(x_t))] p^​=Ext​∈Xt​​[δ(ft(k)​(xt​))]是整个目标域的平均输出嵌入。IM将比之前DA工作中广泛应用的条件熵最小化更好,因为IM可以避免琐碎的解决方案(其中所有未标记数据通过公平的多样性提升目标 L d i v L_{div} Ldiv​有着相同的one-hot编码。

3.3 使用自监督伪标签的源假设转移加强
如图1,我们展示了仅通过SHOT-IM和源模型学习到的特征t-SNE可视化。直观上,目标特征表示仅在源模型分布混乱,并且使用IM损失可以帮助对齐目标数据(使用未见源数据)。然而,目标数据可能以一定程度匹配到错误的源假设在图1b中。

我们认为:有害的影响源自于不准确的网络输出。比如,来自次类(输出[0.4,0.3,0.1,0.1,0.1]的归一网络)的一个目标样本可能会被迫使有一个期望输出[1.0,0.0,0.0,0.0,0.0]。为减轻这个影响,进一步对未标记数据应用伪标签来更好的监督目标数据编码训练。然而,一般由源假设生成的伪标签由于域偏移是有噪的。受DeepCluster启发,我们提出了一个新颖的自监督伪标签策略。首先,我们对目标域的每个类得到质心,类似于带权重的k-means簇:
c k ( 0 ) = ∑ x t ∈ X t δ k ( f ^ t ( x t ) ) g ^ t ( x t ) ∑ x t ∈ X t δ k ( f ^ k ( x t ) ) c_k^{(0)}=frac{sum_{x_tin mathcal{X}_t}delta_k(hat f_t(x_t))hat g_t(x_t)}{sum_{x_tin mathcal{X}_t}delta_k(hat f_k(x_t))} ck(0)​=∑xt​∈Xt​​δk​(f^​k​(xt​))∑xt​∈Xt​​δk​(f^​t​(xt​))g^​t​(xt​)​
其中 f ^ t = g ^ t ∘ h t hat f_t=hat g_tcirc h_t f^​t​=g^​t​∘ht​表示之前学到的目标假设。这些质心可以鲁棒地更可靠的区分目标域内不同类别的分布。然后,我们通过最近质心分类器得到伪标签:
y ^ t = a r g m i n k D f ( g ^ t ( x t ) , c k ( 0 ) ) hat y_t=arg min_kD_f(hat g_t(x_t),c_k^{(0)}) y^​t​=argmink​Df​(g^​t​(xt​),ck(0)​)
其中 D f ( a , b ) D_f(a,b) Df​(a,b)衡量a和b直接的cos距离。最后,我们基于新的伪标签计算目标质心(公式6)
c k ( 1 ) = ∑ x t ∈ X t 1 ( y ^ k = k ) g ^ t ( x t ) ∑ x t ∈ X t 1 ( y ^ t = k ) c_k^{(1)}=frac{sum_{x_tinmathcal{X}_t}mathbb{1}(hat y_k=k)hat g_t(x_t)}{sum_{x_tin mathcal{X}_t}1(hat y_t=k)} ck(1)​=∑xt​∈Xt​​1(y^​t​=k)∑xt​∈Xt​​1(y^​k​=k)g^​t​(xt​)​
我们将 y ^ t hat y_t y^​t​记作自监督伪标签因为他们是以一种自建度方式得到的质心生成的。实际上,在多轮中我们用公式6更新质心和标签。然而,实验验证更新一次会给出足够好的伪标签。
总结:给定源模型 f s = g s ∘ h s f_s=g_scirc h_s fs​=gs​∘hs​和上面生成的伪标签,SHOT冻结来自源 h t = h s h_t=h_s ht​=hs​的假设,并学习特征编码器 g t g_t gt​,完整目标为:
L ( g t ) = L e n t ( h t ∘ g t ; X t ) + L d i v ( h t ∘ g t ; X t ) − β E ( x t , y ^ t ) ∈ X t × Y ^ t ∑ k = 1 K 1 [ k = y ^ t ] l o g δ k ( h t ( g t ( x t ) ) ) mathcal{L}(g_t)=mathcal{L}_{ent}(h_tcirc g_t;mathcal{X}_t)+mathcal{L}_{div}(h_tcirc g_t;mathcal{X}_t)-betamathbb{E}_{(x_t,hat y_t)in mathcal{X}_ttimes hat mathcal{Y}_t}sum_{k=1}^K1_{[k=hat y_t]}logdelta_k(h_t(g_t(x_t))) L(gt​)=Lent​(ht​∘gt​;Xt​)+Ldiv​(ht​∘gt​;Xt​)−βE(xt​,y^​t​)∈Xt​×Y^​t​​k=1∑K​1[k=y^​t​]​logδk​(ht​(gt​(xt​)))
其中 β > 0 beta>0 β>0是一个平衡超参数。

3.4 源模型的网络架构
研究如何为我们的问题训练一个更好的源假设。我们讨论对神经网络模型的一些结构选择来参数化特征编码模块和假设。首先,我们需要回看公式1中交叉熵损失的期望网络输出。如果 y s = k y_s=k ys​=k,那么最大化 f s ( k ) ( x s ) = e x p ( w k T g s ( x s ) ) ∑ i e x p ( w i T g s ( x s ) ) f_s^{(k)}(x_s)=frac{exp(w_k^Tg_s(x_s))}{sum_iexp(w_i^Tg_s(x_s))} fs(k)​(xs​)=∑i​exp(wiT​gs​(xs​))exp(wkT​gs​(xs​))​意味着最小化 g s ( x s ) 和 w k g_s(x_s)和w_k gs​(xs​)和wk​直接的距离,其中 w k w_k wk​是最后FC层的第k个权重向量。理想地,所有来自第k类的样本将有一个和 w k w_k wk​相近的特征嵌入。如果无标签目标样本给定正确的伪标签,很容易理解源特征嵌入域目标的是相似度通过伪标签项,其动机与之前研究相似,一个简化的MMD被利用来进行判别域混淆。
由于权重归一导致了在softmax输出内的内部距离问题,我们采用权重归一化WN来保持每个权重向量 w i w_i wi​的准则与FC分类层中的相同。而且,批归一化BN可以减小内部数据集偏移因为不同域共享相同的平均(0)和方差,可悲认为是一阶和二阶矩。基于这些,形成SHOT的完整框架如图2。在实验中,充分研究每个之前架构的影响。

四、实验
4.2 实施细节
网络超参数
训练整个网络通过后向传播,新加的层用预训练层的10倍学习率训练。准确的,采用mini-batchSGD以0.9的momentum和1e-3的权重衰减,学习率 η 0 = 1 e − 2 eta_0=1e^{-2} η0​=1e−2对锌层,从头学习的层对所有使用除了VisDA-C。进一步采用相同的学习率规划 η = η 0 ⋅ ( 1 + 10 ⋅ p ) − 0.75 eta=eta_0cdot(1+10cdot p)^{-0.75} η=η0​⋅(1+10⋅p)−0.75,其中p是训练过程从0变为1、而且,将批尺寸设为64对所有任务。使用 β = 0.3 beta=0.3 β=0.3对所有使用除了Digits.

4.4目标识别的结果(普通闭集)
在各种目标识别基准上评估SHOT。表格3,SHOT对D->A和W->A表现最好。可能因为SHOT需要相对大的目标域来学习假设 f t f_t ft​而D和W和目标域一样小。通常,SHOT得到很好性能,甚至在没有直接接触源域数据的情况下。
消融研究
我们研究了自建度伪标签策略的优势,很明显PL策略效果很好,我们呢自建度的PL总是比单纯的好。很惊讶,仅使用 L e n t L_{ent} Lent​和自建度PL甚至产生更差的结果。但使用 L e n t 和 L d i v L_{ent}和L_{div} Lent​和Ldiv​结果变得比自建度PL基准更好,意味着多样性提升目标 L d i v L_{div} Ldiv​的重要性。

最后

以上就是紧张金鱼最近收集整理的关于Do We Really Need to Access the Source Data?SHOT的全部内容,更多相关Do内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(252)

评论列表共有 0 条评论

立即
投稿
返回
顶部