readnote2

Larger Norm More Transferable: An Adaptive Feature Norm Approach for阅读笔记

motivation

作者认为从源域到目标域分类任务中模型退化的原因是目标域的特征范数比源域的特征范数要小,具有较大特征范数的特定任务特征更加容易转移。所以本文通过逐步调大两个域的特征范数到某一个值,提升模型的迁移效果。

提出两种假设:

​ 1.错位特征范数假设:源域和目标域之间的域迁移依赖于它们错位的特征范数期望。将两个域的平均特征范数与任意共享标量相匹配,可以产生相似的传输增益。

​ 2.较小特征范数假设:对于目标任务来说,域迁移实质上依赖于具有较小范数的过多的小特征信息(目标域主要集中在中心区域,特征范数比较小)。尽管没有严格的比对,但调整目标特征远离小范数区域可以实现安全迁移。

如何增大目标域的特征范数?

1.引入L2_preserved dropout

dropout就是使得神经网络的的部分随机失效。这里的失效的概率使用的是伯努利分布,p表示失效的概率,1-p表示有效的概率。
P ( a k ) = { p , a k = 0 1 − p , a k = 1 P\left(a_{k}\right)=\left\{\begin{array}{cc} p, & a_{k}=0 \\ 1-p, & a_{k}=1 \end{array}\right. P(ak)={p,1p,ak=0ak=1
信息缩放因子1/(1-p)
x ^ k = a k 1 1 − p x k \hat{x}_{k}=a_{k} \frac{1}{1-p} x_{k} x^k=ak1p1xk
隐含L1范式
E [ ∣ x ^ k ∣ ] = E [ ∣ a k 1 1 − p x k ∣ ] = 1 1 − p E [ a k ] E [ ∣ x k ∣ ] = E [ ∣ x k ∣ ] \mathbb{E}\left[\left|\hat{x}_{k}\right|\right]=\mathbb{E}\left[\left|a_{k} \frac{1}{1-p} x_{k}\right|\right]=\frac{1}{1-p} \mathbb{E}\left[a_{k}\right] \mathbb{E}\left[\left|x_{k}\right|\right]=\mathbb{E}\left[\left|x_{k}\right|\right] E[x^k]=E[ak1p1xk]=1p1E[ak]E[xk]=E[xk]
本文是基于L2范式,所以将上述的缩放因子变为1/sqrt(1-q)
x ^ k = a k 1 1 − p x k \hat{x}_{k}=a_{k} \frac{1}{\sqrt{1-p}} x_{k} x^k=ak1p 1xk

E [ ∣ x ^ k ∣ 2 ] = E [ ∣ a k 1 1 − p x k ∣ 2 ] = 1 1 − p E [ a k 2 ] E [ ∣ x k ∣ 2 ] = E [ ∣ x k ∣ 2 ] \mathbb{E}\left[\left|\hat{x}_{k}\right|^{2}\right]=\mathbb{E}\left[\left|a_{k} \frac{1}{\sqrt{1-p}} x_{k}\right|^{2}\right]=\frac{1}{1-p} \mathbb{E}\left[a_{k}^{2}\right] \mathbb{E}\left[\left|x_{k}\right|^{2}\right]=\mathbb{E}\left[\left|x_{k}\right|^{2}\right] E[x^k2]=E[ak1p 1xk2]=1p1E[ak2]E[xk2]=E[xk2]

2.基于假设1

提出了一个最大平均特征范数差异Maximum Mean Feature Norm Discrepancy(MMFND)

h ( x ) = ( ∥ ⋅ ∥ 2 ∘ F f ∘ G ) ( x ) h(x)=\left(\|\cdot\|_{2} \circ F_{f} \circ G\right)(x) h(x)=(2FfG)(x)
取所有H类函数中的最小上界,就是平均特征范数差值中的最大值。
MMFND ⁡ [ H , D s , D t ] : = sup ⁡ h ∈ H ( 1 n s ∑ x i ∈ D s h ( x i ) − 1 n t ∑ x i ∈ D t h ( x i ) ) \operatorname{MMFND}\left[\mathcal{H}, \mathcal{D}_{s}, \mathcal{D}_{t}\right]:=\sup _{h \in \mathcal{H}}\left(\frac{1}{n_{s}} \sum_{x_{i} \in \mathcal{D}_{s}} h\left(x_{i}\right)-\frac{1}{n_{t}} \sum_{x_{i} \in \mathcal{D}_{t}} h\left(x_{i}\right)\right) MMFND[H,Ds,Dt]:=hHsup(ns1xiDsh(xi)nt1xiDth(xi))
如果对类函数H(因为这个函数集H中包含大多数为正实值函数)没有限制,那么最大化平均特征范数差异的最小上界将会远离0,但是理想状态为这两者之间的特征差异的最小上界0,这样对源域特征划分的同时也能正确实现对目标域的划分。作者提出HAFN方法,通过将两个域的均值特征范数收敛到一个共享标量R,使得域间差距为0。

C 1 ( θ g , θ f , θ y ) = 1 n s ∑ ( x i , y i ) ∈ D s L y ( x i , y i ) + λ ( L d ( 1 n s ∑ x i ∈ D s h ( x i ) , R ) + L d ( 1 n t ∑ x i ∈ D t h ( x i ) , R ) ) \begin{array}{c} C_{1}\left(\theta_{g}, \theta_{f}, \theta_{y}\right)=\frac{1}{n_{s}} \sum_{\left(x_{i}, y_{i}\right) \in D_{s}} L_{y}\left(x_{i}, y_{i}\right) \\ +\lambda\left(L_{d}\left(\frac{1}{n_{s}} \sum_{x_{i} \in D_{s}} h\left(x_{i}\right), R\right)+L_{d}\left(\frac{1}{n_{t}} \sum_{x_{i} \in D_{t}} h\left(x_{i}\right), R\right)\right) \end{array} C1(θg,θf,θy)=ns1(xi,yi)DsLy(xi,yi)+λ(Ld(ns1xiDsh(xi),R)+Ld(nt1xiDth(xi),R))
这个优化目标分为两个部分。

第一部分的优化目标Ly:是目标域的最后 一层分类输出与标签的交叉熵。

第二部分优化目标:使得目标域与源域的的平均特征范数(是个标量)与给定的共享标量R三者尽可能相等。只有当这三者相等是,后面这一项才会为0。(这一部分实现了对目标域特征范数的增大)

def get_L2norm_loss_self_driven(x):
    l = (x.norm(p=2, dim=1).mean() - args.radius) ** 2
    return args.weight_ring * l
假设一存在问题:

无法很好的确定一个共享变量R,R的设置如果过大会导致梯度爆炸,模型无法收敛。

3.基于假设2

提出了逐步自适应特征范数Stepwise Adaptive Feature Norm(SAFN)

从单个实例的角度出发
C 2 ( θ g , θ f , θ y ) = 1 n s ∑ ( x i , y i ) ∈ D s L y ( x i , y i ) + λ n s + n t ∑ x i ∈ D s ∪ D t L d ( h ( x i ; θ 0 ) + Δ r , h ( x i ; θ ) ) \begin{array}{c} C_{2}\left(\theta_{g}, \theta_{f}, \theta_{y}\right)=\frac{1}{n_{s}} \sum_{\left(x_{i}, y_{i}\right) \in D_{s}} L_{y}\left(x_{i}, y_{i}\right) \\ +\frac{\lambda}{n_{s}+n_{t}} \sum_{x_{i} \in D_{s} \cup D_{t}} L_{d}\left(h\left(x_{i} ; \theta_{0}\right)+\Delta r, h\left(x_{i} ; \theta\right)\right) \end{array} C2(θg,θf,θy)=ns1(xi,yi)DsLy(xi,yi)+ns+ntλxiDsDtLd(h(xi;θ0)+Δr,h(xi;θ))

为了防止在迭代过程中值无限放大,设置一个终止值R.

问题:如果终止值条件取最大的话,似乎不能解决特征无限放大的问题,应该取min。
L d ( max ⁡ ( h ( x i ; θ 0 ) + Δ r , R ) , h ( x i ; θ ) ) L_{d}\left(\max \left(h\left(x_{i} ; \theta_{0}\right)+\Delta r, R\right), h\left(x_{i} ; \theta\right)\right) Ld(max(h(xi;θ0)+Δr,R),h(xi;θ))

def get_L2norm_loss_self_driven(x):
    radius = x.norm(p=2, dim=1).detach()#求L2范数
    assert radius.requires_grad == False
    radius = radius + 0.3#delta r =0.3
    l = ((x.norm(p=2, dim=1) - radius) ** 2).mean()#求上一次迭代和当前迭代的的L2距离求平均
    return args.weight_L2norm * l#超参数默认为0.01

上述代码实现的就是优化目标的第二部分。
在这里插入图片描述

SAFN就是让目标域的特征范式远离中心区域。

个人理解:整个模型的决策边界大多是根据源域上的数据划分的,而源于上的特征范数都比较大,分的比较散。而中心区域是范数比较低的同时是各个决策边界的交汇处,非常容易受决策边界的影响。通过增大范数,让目标域的特征远离中心区域,减少决策边界的影响。
在这里插入图片描述

心区域是范数比较低的同时是各个决策边界的交汇处,非常容易受决策边界的影响。通过增大范数,让目标域的特征远离中心区域,减少决策边界的影响。
理解:特征范数比较大的知识更容易转移,源域数据符合这个条件,但是目标域数据的特征范数远小于源域特征范数,从域适应的条件来看,处于共享标签空间(可以是源域标签等于目标域标签;也可以是源域标签包含那目标域标签,多出的标签类别域目标任务无关)中的源域和目标域相对应的基础分布不同但是相似;相似度越高,域转移增益越好,文章通过逐步增加特征范数使两个域特征范数相近,其实就是使原本聚集于中心区域的目标域数据远离中心,两域分布相似度足够大,减轻负传播。而使两域特征范数足够大,是为了让数据远离中心区域,减少决策边界的影响。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值