多核最大均值差异(MK-MMD)与深度适应网络(DAN)
1. 理论基础
(1)原点矩、中心矩
- 引言:当我们描述一个随机变量 x x x的时候,最直接的方法就是给出它的概率分布函数 f ( x ) f(x) f(x)。一些简单的分布可以这么干,但是对于一些复杂的、高维的随机变量,我们无法给出它们的分布函数。这时候可以用随机变量的矩来描述一个随机变量,比如一阶原点矩是均值,二至四阶中心矩被定义为方差(variance)、偏度(skewness)和峰度(kurtosis)。如果两个分布的均值和方差都相同的话,它们应该很相似,比如同样均值和方差的高斯分布和拉普拉斯分布。但是很明显,均值和方差并不能完全代表一个分布,这时候就需要更高阶的矩来描述一个分布。
- 定义:假设 x x x和 y y y是随机变量,若 E ( X k ) , k = 1 , 2 , ⋯ E\left(X^k\right), k=1,2, \cdots E(Xk),k=1,2,⋯存在,则称其为 x x x的 k k k阶原点矩;若 E { [ X − E ( X ) ] k } , k = 2 , 3 , ⋯ E\left\{[X-E(X)]^k\right\}, k=2,3, \cdots E{[X−E(X)]k},k=2,3,⋯存在,则称其为 x x x的 k k k阶中心矩。易得:均值 E ( X ) E(X) E(X)是 x x x的一阶原点矩,描述随机变量以概率为权重的平均值;方差 D ( X ) D(X) D(X)是 x x x的二阶中心矩,描述随机变量的离散程度。
- 对于任意已知矩母函数存在的分布,如果有另一个随机变量的所有n阶矩都与之相等,则这个随机变量服从于这个已知分布。但某些情况下,矩母函数可能并不收敛,则全部的n阶矩不能完全决定分布。
- 通俗解释:对于随机变量 x x x,每一个关于 x x x的矩都告诉你一些关于 x x x分布的信息,并且在一定情况下全部 n n n阶矩可以完全决定 x x x的分布。
(2)核函数定义(统计学习方法定义7.6)
-
定义内容:假设有输入空间 X \mathcal{X} X( X ∈ R n \mathcal{X} \in R^n X∈Rn)和特征空间 H \mathcal{H} H(希尔伯特空间),若存在一个从 X \mathcal{X} X到 H \mathcal{H} H的映射 ϕ ( x ) : X → H \phi(x): \mathcal{X} \rightarrow \mathcal{H} ϕ(x):X→H,使得对所有样本 x , z ∈ X x, z \in \mathcal{X} x,z∈X,有函数 K ( x , z ) K(x, z) K(x,z)满足条件 K ( x , z ) = ϕ ( x ) ⋅ ϕ ( z ) K(x, z)=\phi(x) \cdot \phi(z) K(x,z)=ϕ(x)⋅ϕ(z)(内积),则称 K ( x , z ) K(x, z) K(x,z)为核函数, ϕ ( x ) \phi(x) ϕ(x)为映射函数。
-
核技巧思路:在学习和预测中只定义核函数 K ( x , z ) K(x, z) K(x,z),而不显式地定义映射函数 ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅),因为通常直接计算 K ( x , z ) K(x, z) K(x,z)比较容易,而由 ϕ ( x ) \phi(x) ϕ(x)和 ϕ ( z ) \phi(z) ϕ(z)来计算 K ( x , z ) K(x, z) K(x,z)比较困难( ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅)是输入空间 X \mathcal{X} X到特征空间 H \mathcal{H} H的映射,特征空间一般是高维甚至无穷维的)。此外,对于给定的核函数 K ( x , z ) K(x, z) K(x,z),特征空间 H \mathcal{H} H和映射函数 ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅)的取法不唯一,即便是在同一特征空间内也能取不同的映射。
-
例:假设输入空间 X ∈ R 2 \mathcal{X} \in R^2 X∈R2,核函数为 K ( x , z ) = ( x ⋅ z ) 2 K(x, z)=(x \cdot z)^2 K(x,z)=(x⋅z)2,试找出其相关的特征空间 H \mathcal{H} H和映射 ϕ ( ⋅ ) : R 2 → H \phi(\cdot): R^2 \rightarrow \mathcal{H} ϕ(⋅):R2→H。
-
法1:取特征空间 H = R 3 \mathcal{H}=R^3 H=R3,记 x = ( x ( 1 ) , x ( 2 ) ) T x=\left(x^{(1)}, x^{(2)}\right)^{\mathrm{T}} x=(x(1),x(2))T, z = ( z ( 1 ) , z ( 2 ) ) T z=\left(z^{(1)}, z^{(2)}\right)^{\mathrm{T}} z=(z(1),z(2))T,核函数为
( x ⋅ z ) 2 = ( x ( 1 ) z ( 1 ) + x ( 2 ) z ( 2 ) ) 2 = ( x ( 1 ) z ( 1 ) ) 2 + 2 x ( 1 ) z ( 1 ) x ( 2 ) z ( 2 ) + ( x ( 2 ) z ( 2 ) ) 2 (x \cdot z)^2=\left(x^{(1)} z^{(1)}+x^{(2)} z^{(2)}\right)^2=\left(x^{(1)} z^{(1)}\right)^2+2 x^{(1)} z^{(1)} x^{(2)} z^{(2)}+\left(x^{(2)} z^{(2)}\right)^2 (x⋅z)2=(x(1)z(1)+x(2)z(2))2=(x(1)z(1))2+2x(1)z(1)x(2)z(2)+(x(2)z(2))2所以可以取映射 ϕ ( x ) = ( ( x ( 1 ) ) 2 , 2 x ( 1 ) x ( 2 ) , ( x ( 2 ) ) 2 ) T \phi(x)=\left(\left(x^{(1)}\right)^2, \sqrt{2} x^{(1)} x^{(2)},\left(x^{(2)}\right)^2\right)^{\mathrm{T}} ϕ(x)=((x(1))2,2x(1)x(2),(x(2))2)T,易验证 ϕ ( x ) ⋅ ϕ ( z ) = ( x ⋅ z ) 2 = K ( x , z ) \phi(x) \cdot \phi(z)=(x \cdot z)^2=K(x, z) ϕ(x)⋅ϕ(z)=(x⋅z)2=K(x,z)。
-
法2:取 H = R 3 \mathcal{H}=R^3 H=R3以及 ϕ ( x ) = 1 2 ( ( x ( 1 ) ) 2 − ( x ( 2 ) ) 2 , 2 x ( 1 ) x ( 2 ) , ( x ( 1 ) ) 2 + ( x ( 2 ) ) 2 ) T \phi(x)=\frac{1}{\sqrt{2}}\left(\left(x^{(1)}\right)^2-\left(x^{(2)}\right)^2, 2 x^{(1)} x^{(2)},\left(x^{(1)}\right)^2+\left(x^{(2)}\right)^2\right)^{\mathrm{T}} ϕ(x)=21((x(1))2−(x(2))2,2x(1)x(2),(x(1))2+(x(2))2)T同样满足条件。
-
法3:取 H = R 4 \mathcal{H}=R^4 H=R4以及 ϕ ( x ) = ( ( x ( 1 ) ) 2 , x ( 1 ) x ( 2 ) , x ( 1 ) x ( 2 ) , ( x ( 2 ) ) 2 ) T \phi(x)=\left(\left(x^{(1)}\right)^2, x^{(1)} x^{(2)}, x^{(1)} x^{(2)},\left(x^{(2)}\right)^2\right)^T ϕ(x)=((x(1))2,x(1)x(2),x(1)x(2),(x(2))2)T满足条件。
-
-
通俗理解:核方法将数据映射到更高维的空间,希望在这个更高维的空间中,数据可以变得更容易分离或更好的结构化。
2. 最大均值差异Maximum Mean Discrepancy(MMD)
(1)使用背景
- Maximum Mean Discrepancy(MMD)是迁移学习,尤其是域适应中最常用的一种损失函数。其基本思想是:1)若两个随机变量的任意阶矩都相同,那么这两个分布就是一致的;2)若两个分布不相同,那么使得两个分布之间差距最大的那个矩应该被用来作为度量两个分布的标准。MMD主要被用来度量两个不同但相关的随机变量分布之间的距离。
(2)定义
-
基本定义:
M M D [ F , p , q ] : = sup f ∈ F ( E p [ f ( x ) ] − E q [ f ( y ) ] ) M M D[\mathcal{F}, p, q]:=\sup _{f \in \mathcal{F}}\left(E_p[f(x)]-E_q[f(y)]\right) MMD[F,p,q]:=f∈Fsup(Ep[f(x)]−Eq[f(y)])
其中, sup \sup sup表示求上界即最大值, E p ( ⋅ ) E_p(\cdot) Ep(⋅)表示求期望值, f ( ⋅ ) f(\cdot) f(⋅)表示映射函数, F \mathcal{F} F表示函数域。 x x x为源域数据, y y y为目标域数据,假设它们的分布分别为 p \mathrm{p} p和 q \mathrm{q} q, f ( x ) f(x) f(x)、 f ( y ) f(y) f(y)分别为源域和目标域数据经过映射 f ( ⋅ ) f(\cdot) f(⋅)后的值。 -
定义式含义:寻找一个映射函数 f ( ⋅ ) f(\cdot) f(⋅), f ( ⋅ ) f(\cdot) f(⋅)能够将变量映射到高维空间,之后求两个分布的随机变量在映射后的期望的差,这个差值便是均值差异,然后寻找这个均值差异的上界,这个最大值便是MMD。
(3)数学推导
-
在实际使用中,函数域 F \mathcal{F} F不可以随便定义,因为即使两个随机变量分布一样,当样本有限时,在任意函数域中,总能找到一个函数 f ( ⋅ ) f(\cdot) f(⋅)使得两个随机变量分布的MMD距离无限大。因此,MMD中函数域定义在再生希尔伯特空间中单位球(即 ∥ f ∥ H ≤ 1 \|f\|_{\mathcal{H}} \leq 1 ∥f∥H≤1)内的一个任意向量 f f f,表示基底向量 f f f在再生希尔伯特空间中的范数应该小于等于1。核函数对应的映射函数 ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅)可以将随机变量 x x x映射到无穷维度上( ϕ ( x ) \phi(x) ϕ(x)), f ( x ) f(x) f(x)表示再生希尔伯特空间中基底向量 f f f与向量 ϕ ( x ) \phi(x) ϕ(x)的点积,即
f ( x ) = ⟨ f , ϕ ( x ) ⟩ H f(x)=\langle f, \phi(x)\rangle_{\mathcal{H}} f(x)=⟨f,ϕ(x)⟩H
一个随机变量经过映射后,其期望可以表示为:
E p [ f ( x ) ] = ∫ X p ( d x ) f ( x ) = ∫ X p ( d x ) ⟨ ϕ ( x ) , f ⟩ H = ⟨ ∫ X p ( d x ) ϕ ( x ) , f ⟩ H = : ⟨ μ p , f ⟩ H \begin{aligned} {E_p[f(x)]} &=\int_{\mathcal{X}} \mathrm{p}(\mathrm{d} x) f(x) \\ &=\int_{\mathcal{X}} \mathrm{p}(\mathrm{d} x)\langle \phi(x), f\rangle_{\mathcal{H}} \\ &=\left\langle\int_{\mathcal{X}} \mathrm{p}(\mathrm{d} x) \phi(x), f\right\rangle_{\mathcal{H}}\\ &=:\left\langle\mu_{\mathrm{p}}, f\right\rangle_{\mathcal{H}} \end{aligned} Ep[f(x)]=∫Xp(dx)f(x)=∫Xp(dx)⟨ϕ(x),f⟩H=⟨∫Xp(dx)ϕ(x),f⟩H=:⟨μp,f⟩H
该式第一步将期望展开;第二步将希尔伯特空间中的函数 f ( x ) f(x) f(x)写成映射函数 ϕ ( x ) \phi(x) ϕ(x)和基底向量 f f f的内积(即将向量通过函数 ϕ ( x ) \phi(x) ϕ(x)映射到希尔伯特空间,再与该空间中的一个单位球内给定的向量 f f f作点积,完成映射到高维的变换。);第三步利用内积的性质可得;最后一步用 μ p \mu_{\mathrm{p}} μp表示kernel mean embedding,即 μ p = ∫ X p ( d x ) ϕ ( x ) \mu_{\mathrm{p}}=\int_{\mathcal{X}} \mathrm{p}(\mathrm{d} x) \phi(x) μp=∫Xp(dx)ϕ(x)。 -
推导1的意义就是将 x x x利用核函数 k ( x , ⋅ ) k(x,\cdot) k(x,⋅)映射到无穷维上,然后在每一个维度上都求期望。结合基本定义,可得如下表达式:
M M D [ p , q , H ] : = sup f ∈ H , ∥ f ∥ H ≤ 1 ( E p [ f ( x ) ] − E q [ f ( y ) ] ) = sup f ∈ H , ∥ f ∥ H ≤ 1 ( ⟨ μ p , f ⟩ H − ⟨ μ q , f ⟩ H ) = sup f ∈ H , ∥ f ∥ H ≤ 1 ( ⟨ μ p − μ q , f ⟩ H ) ≤ sup f ∈ H , ∥ f ∥ H ≤ 1 ∥ μ p − μ q ∥ H ∥ f ∥ H ≤ ∥ μ p − μ q ∥ H \begin{aligned} M M D[p, q, \mathcal{H}]:&=\sup _{f \in \mathcal{H}, \|f\|_{\mathcal{H}} \leq 1}\left(E_p[f(x)]-E_q[f(y)]\right)\\ &=\sup _{f \in \mathcal{H}, \|f\|_{\mathcal{H}} \leq 1}\left(\left\langle\mu_{\mathrm{p}}, f\right\rangle_{\mathcal{H}}-\left\langle\mu_{\mathrm{q}}, f\right\rangle_{\mathcal{H}}\right)\\ &=\sup _{f \in \mathcal{H}, \|f\|_{\mathcal{H}} \leq 1}\left(\left\langle\mu_{\mathrm{p}}-\mu_{\mathrm{q}}, f\right\rangle_{\mathcal{H}}\right)\\ &\leq\sup _{f \in \mathcal{H}, \|f\|_{\mathcal{H}} \leq 1}\|\mu_{\mathrm{p}}-\mu_{\mathrm{q}}\|_{\mathcal{H}}\|f\|_{\mathcal{H}}\\ &\leq\|\mu_{\mathrm{p}}-\mu_{\mathrm{q}}\|_{\mathcal{H}} \end{aligned} MMD[p,q,H]:=f∈H,∥f∥H≤1sup(Ep[f(x)]−Eq[f(y)])=f∈H,∥f∥H≤1sup(⟨μp,f⟩H−⟨μq,f⟩H)=f∈H,∥f∥H≤1sup(⟨μp−μq,f⟩H)≤f∈H,∥f∥H≤1sup∥μp−μq∥H∥f∥H≤∥μp−μq∥H
上式中第一步是MMD的基本定义,利用推导1中的结果可得第二步,再利用内积的性质 < a , b > ≤ ∥ a ∥ ∥ b ∥ <a, b>\leq\|a\|\|b\| <a,b>≤∥a∥∥b∥以及 ∥ f ∥ H ≤ 1 \|f\|_{\mathcal{H}} \leq 1 ∥f∥H≤1,得到最终结果。 -
计算结果:由推导1可知 μ p \mu_{\mathrm{p}} μp和 μ q \mu_{\mathrm{q}} μq分别代表期望 E p [ ϕ ( x ) ] E_p[\phi(x)] Ep[ϕ(x)]和 E p [ ϕ ( y ) ] E_p[\phi(y)] Ep[ϕ(y)],将 μ p \mu_{\mathrm{p}} μp和 μ q \mu_{\mathrm{q}} μq由均值代替计算,并假设 x x x有 n n n个样本, y y y有 m m m个样本,可得:
M M D [ p , q , H ] = ∥ μ p − μ q ∥ H = ∥ 1 n ∑ i = 1 n ϕ ( x i ) − 1 m ∑ j = 1 m ϕ ( y j ) ∥ H \begin{aligned} M M D[p, q, \mathcal{H}] &=\|\mu_{\mathrm{p}}-\mu_{\mathrm{q}}\|_{\mathcal{H}}\\ &=\left\|\frac{1}{n} \sum_{i=1}^n \phi\left(x_i\right)-\frac{1}{m} \sum_{j=1}^m \phi\left(y_j\right)\right\|_{\mathcal{H}} \end{aligned} MMD[p,q,H]=∥μp−μq∥H=∥∥∥∥∥n1i=1∑nϕ(xi)−m1j=1∑mϕ(yj)∥∥∥∥∥H
利用核技巧的思路,不需要显式地表示映射函数 ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅),来求解映射到高维两个向量的内积,转化为直接计算 K ( x , y ) K(x, y) K(x,y)更容易,因此我们对上式两边取平方,化简得到内积并用核函数表达。 x i x_i xi, y i y_i yi在特征空间 H \mathcal{H} H的内积等于它们在原始样本空间中通过核函数 k ( ⋅ , ⋅ ) k(\cdot,\cdot) k(⋅,⋅)计算的结果。
M M D 2 [ p , q , H ] = ∥ 1 n ∑ i = 1 n ϕ ( x i ) − 1 m ∑ j = 1 m ϕ ( y j ) ∥ H 2 = ∥ 1 n 2 ∑ i = 1 n ∑ i = 1 n ϕ ( x i ) ϕ ( x i ′ ) − 2 n m ∑ i = 1 n ∑ j = 1 m ϕ ( x i ) ϕ ( y j ) + 1 m 2 ∑ j = 1 m ∑ j ′ = 1 m ϕ ( y j ) ϕ ( y j ′ ) ∥ H = ∥ 1 n 2 ∑ i = 1 n ∑ i = 1 n k ( x i , x i ′ ) − 2 n m ∑ i = 1 n ∑ j = 1 m k ( x i , y j ) + 1 m 2 ∑ j = 1 m ∑ j ′ = 1 m k ( y j , y j ′ ) ∥ H \begin{aligned} &M M D^2[p, q, \mathcal{H}]=\left\|\frac{1}{n} \sum_{i=1}^n \phi\left(x_i\right)-\frac{1}{m} \sum_{j=1}^m \phi\left(y_j\right)\right\|_{\mathcal{H}}^2\\ &=\left\|\frac{1}{n^2} \sum_{i=1}^n \sum_{i=1}^n \phi\left(x_i\right) \phi\left(x_i^{\prime}\right)-\frac{2}{n m} \sum_{i=1}^n \sum_{j=1}^m \phi\left(x_i\right) \phi\left(y_j\right)+\frac{1}{m^2} \sum_{j=1}^m \sum_{j^{\prime}=1}^m \phi\left(y_j\right) \phi\left(y_j^{\prime}\right)\right\|_{\mathcal{H}}\\ &=\left\|\frac{1}{n^2} \sum_{i=1}^n \sum_{i=1}^n k\left(x_i, x_i^{\prime}\right)-\frac{2}{n m} \sum_{i=1}^n \sum_{j=1}^m k\left(x_i, y_j\right)+\frac{1}{m^2} \sum_{j=1}^m \sum_{j^{\prime}=1}^m k\left(y_j, y_j^{\prime}\right)\right\|_{\mathcal{H}} \end{aligned} MMD2[p,q,H]=∥∥∥∥∥n1i=1∑nϕ(xi)−m1j=1∑mϕ(yj)∥∥∥∥∥H2=∥∥∥∥∥∥n21i=1∑ni=1∑nϕ(xi)ϕ(xi′)−nm2i=1∑nj=1∑mϕ(xi)ϕ(yj)+m21j=1∑mj′=1∑mϕ(yj)ϕ(yj′)∥∥∥∥∥∥H=∥∥∥∥∥∥n21i=1∑ni=1∑nk(xi,xi′)−nm2i=1∑nj=1∑mk(xi,yj)+m21j=1∑mj′=1∑mk(yj,yj′)∥∥∥∥∥∥H
为简化计算,将上式化为矩阵形式,最终可计算为。
M M D 2 [ p , q , H ] = t r ( K L ) = t r ( [ K s , s K s , t K t , s K t , t ] L ) 其 中 L = { 1 n 2 , x i ∈ S 1 m 2 , y j ∈ T − 2 m n , otherwise } \begin{aligned} M M D^2[p, q, \mathcal{H}] &=tr(KL)\\ &=tr(\left[\begin{array}{cc} K_{s, s} & K_{s, t} \\ K_{t, s} & K_{t, t} \end{array}\right] L)\\ &其中L=\left\{\begin{array}{c} \frac{1}{n^2}, x_i \in S \\ \frac{1}{m^2}, y_j \in T \\ -\frac{2}{m n}, \text { otherwise } \end{array}\right\} \end{aligned} MMD2[p,q,H]=tr(KL)=tr([Ks,sKt,sKs,tKt,t]L)其中L=⎩⎨⎧n21,xi∈Sm21,yj∈T−mn2, otherwise ⎭⎬⎫
3.多核最大均值差异Multiple Kernel Maximum Mean Discrepancy(MK-MMD)
(1)由来
- MK-MMD基于原有的MMD发展而来,由Gretton在2012年提出。MMD把source和target用一个相同的映射 ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅)映射到一个再生核希尔伯特空间(Reproducing Kernel Hilbert Space,RKHS)中,然后求映射后两部分数据的均值差异,就当作是两部分数据分布的差异。其中最重要的一个概念是核函数 k ( ⋅ , ⋅ ) k(\cdot,\cdot) k(⋅,⋅),在MMD中这个核函数是固定的,在实现的时候可以选择是高斯核还是线性核,但不知道如何才能选择一个最优的核函数。
- 为了解决上述问题,MK-MMD中提出用多个核去构造一个总的核。
(2)定义
-
与MMD类似,对于两种概率分布 p p p和 q q q,多核最大均值差异(MK-MMD)$d_k^2(p, q) 定 义 为 定义为 定义为p 和 和 和q$mean embeddings之间的RKHS距离,如下。
d k 2 ( p , q ) ≜ ∥ E p [ ϕ ( x s ) ] − E q [ ϕ ( x t ) ] ∥ H k 2 d_k^2(p, q) \triangleq\left\|\mathbf{E}_p\left[\phi\left(\mathbf{x}^s\right)\right]-\mathbf{E}_q\left[\phi\left(\mathbf{x}^t\right)\right]\right\|_{\mathcal{H}_k}^2 dk2(p,q)≜∥∥Ep[ϕ(xs)]−Eq[ϕ(xt)]∥∥Hk2
上式中,当且仅当 d k 2 ( p , q ) = 0 d_k^2(p, q)=0 dk2(p,q)=0时,分布 p p p和 q q q相等。 -
与特征映射 ϕ ( ⋅ ) \phi(\cdot) ϕ(⋅)关联的特征核 k ( x s , x t ) = ϕ ( x s ) ⋅ ϕ ( x t ) k(\mathbf{x}^s, \mathbf{x}^t)=\phi(\mathbf{x}^s) \cdot \phi(\mathbf{x}^t) k(xs,xt)=ϕ(xs)⋅ϕ(xt)在这里定义为 m m m个不同核的加权和,如下。
K ≜ { k = ∑ u = 1 m β u k u : ∑ u = 1 m β u = 1 , β u ⩾ 0 , ∀ u } \mathcal{K} \triangleq\left\{k=\sum_{u=1}^m \beta_u k_u: \sum_{u=1}^m \beta_u=1, \beta_u \geqslant 0, \forall u\right\} K≜{k=u=1∑mβuku:u=1∑mβu=1,βu⩾0,∀u}
其中, β u \beta_u βu表示权重,对其施加约束以保证导出的多核 K \mathcal{K} K是特征的。 -
正如Gretton在文中所提到的,分布mean embedding所采用的核是确保测试能力和低测试误差的关键。多核 K \mathcal{K} K可以利用不同的核来增强MK-MMD,从而为优化核选择提供了一种原则性方法。
4.深度适应网络Deep Adaptation Network(DAN)
(1)研究意义
- 深度神经网络可以学习可迁移的特征,这些特征可以很好地推广到新的领域适应任务。但是,随着深度特征最终沿着网络从一般过渡到特定,特征可迁移性在更高层中随着域差异的增加而显着下降。(多层,多核适配)
(2)Deep Adaptation Network and Loss
- 由于深层特征最终会沿着网络从一般特征过度到特殊特征,用于学习可迁移特性的DAN结构构建如图:
(1)卷积层 c o n v 1 – c o n v 3 conv1–conv3 conv1–conv3提取的特征是一般特征,因此这些层被冻结;
(2)层 c o n v 4 – c o n v 5 conv4–conv5 conv4–conv5提取的特征的可转移性稍差,因此通过微调来学习这些层;
(3)完全连接的层 f c 6 – f c 8 fc6–fc8 fc6–fc8是为适应特定任务而定制的,因此它们不可迁移,使用MK-MMD进行调整。
- 整个网络结构由Alexnet扩展而来,包含五个卷积层
c
o
n
v
1
–
c
o
n
v
5
conv1–conv5
conv1–conv5和三个全连接层
f
c
6
–
f
c
8
fc6–fc8
fc6–fc8,第
ℓ
\ell
ℓ个
f
c
fc
fc层学习非线性映射
h
i
ℓ
=
f
ℓ
(
W
ℓ
h
i
ℓ
−
1
+
b
ℓ
)
\mathbf{h}_i^{\ell}=f^{\ell}\left(\mathbf{W}^{\ell} \mathbf{h}_i^{\ell-1}+\mathbf{b}^{\ell}\right)
hiℓ=fℓ(Wℓhiℓ−1+bℓ),其中
h
i
ℓ
\mathbf{h}_i^{\ell}
hiℓ是样本
x
i
\mathbf{x}_i
xi在第
ℓ
\ell
ℓ 个隐含层的representation,
W
ℓ
\mathbf{W}^{\ell}
Wℓ和
b
ℓ
\mathbf{b}^{\ell}
bℓ是第
ℓ
\ell
ℓ层的权值和偏差,
f
ℓ
f^{\ell}
fℓ表示激活函数。假设用
Θ
=
{
W
ℓ
,
b
ℓ
}
ℓ
=
1
l
\Theta=\left\{\mathbf{W}^{\ell}, \mathbf{b}^{\ell}\right\}_{\ell=1}^l
Θ={Wℓ,bℓ}ℓ=1l表示整个CNN的所有参数,其经验风险可以最小化为:
min Θ 1 n a ∑ i = 1 n a J ( θ ( x i a ) , y i a ) \min _{\Theta} \frac{1}{n_a} \sum_{i=1}^{n_a} J\left(\theta\left(\mathbf{x}_i^a\right), y_i^a\right) Θminna1i=1∑naJ(θ(xia),yia)
其中 J J J是交叉熵损失函数, θ ( x i a ) \theta\left(\mathbf{x}_i^a\right) θ(xia)表示网络将 x i a \mathbf{x}_i^a xia分配给 y i a y_i^a yia的条件概率。在调整预训练的Alexnet以让它适应目标任务时,首先冻结 c o n v 1 – c o n v 3 conv1–conv3 conv1–conv3然后fine-tune c o n v 4 – c o n v 5 conv4–conv5 conv4–conv5,然后最小化MK-MMD使得源数据和目标数据的分布在完全连接层 f c 6 – f c 8 fc6–fc8 fc6–fc8的隐含层表示下变得相似( f c fc fc层是根据其source task定制的,以牺牲目标任务的性能为代价的,因此它们不能通过微调和有限的目标监控直接迁移到目标域),这可以通过在CNN的经验风险中添加基于MK-MMD的多层自适应正则化器来实现:
min Θ 1 n a ∑ i = 1 n a J ( θ ( x i a ) , y i a ) + λ ∑ ℓ = l 1 l 2 d k 2 ( D s ℓ , D t ℓ ) \min _{\Theta} \frac{1}{n_a} \sum_{i=1}^{n_a} J\left(\theta\left(\mathbf{x}_i^a\right), y_i^a\right)+\lambda \sum_{\ell=l_1}^{l_2} d_k^2\left(\mathcal{D}_s^{\ell}, \mathcal{D}_t^{\ell}\right) Θminna1i=1∑naJ(θ(xia),yia)+λℓ=l1∑l2dk2(Dsℓ,Dtℓ)
其中 λ \lambda λ是惩罚系数, l 1 l_1 l1和 l 2 l_2 l2是应用正则化器的层索引,在DAN中设置 l 1 = 6 l_1=6 l1=6和 l 2 = 8 l_2=8 l2=8, d k 2 ( D s ℓ , D t ℓ ) d_k^2\left(\mathcal{D}_s^{\ell}, \mathcal{D}_t^{\ell}\right) dk2(Dsℓ,Dtℓ)是源分布和目标分布的多核最大均值差异在第 l l l层的表示。
(3)Algorithm
-
优化 Θ = { W ℓ , b ℓ } ℓ = 1 l \Theta=\left\{\mathbf{W}^{\ell}, \mathbf{b}^{\ell}\right\}_{\ell=1}^l Θ={Wℓ,bℓ}ℓ=1l:使用核技巧可以将MK-MMD计算如下。
d k 2 ( p , q ) = ∥ 1 n 2 ∑ i = 1 n ∑ i = 1 n k ( x s , x ′ s ) − 2 n m ∑ i = 1 n ∑ j = 1 m k ( x s , x t ) + 1 m 2 ∑ j = 1 m ∑ j ′ = 1 m k ( x t , x ′ t ) ∥ H \begin{aligned} d_k^2(p, q)&=\left\|\frac{1}{n^2} \sum_{i=1}^n \sum_{i=1}^n k\left(\mathbf{x}^s, \mathbf{x}^{\prime s}\right)-\frac{2}{n m} \sum_{i=1}^n \sum_{j=1}^m k\left(\mathbf{x}^s, \mathbf{x}^t\right)+\frac{1}{m^2} \sum_{j=1}^m \sum_{j^{\prime}=1}^m k\left(\mathbf{x}^t, \mathbf{x}^{\prime t}\right)\right\|_{\mathcal{H}}\\ \end{aligned} dk2(p,q)=∥∥∥∥∥∥n21i=1∑ni=1∑nk(xs,x′s)−nm2i=1∑nj=1∑mk(xs,xt)+m21j=1∑mj′=1∑mk(xt,x′t)∥∥∥∥∥∥H
其中 x s , x ′ s ∼ i i d p , x t , x ′ t ∼ i i d q \mathbf{x}^s, \mathbf{x}^{\prime s}\stackrel{i i d}{\sim} p, \mathbf{x}^t, \mathbf{x}^{\prime t} \stackrel{i i d}{\sim} q xs,x′s∼iidp,xt,x′t∼iidq, 且 k ∈ K k \in \mathcal{K} k∈K, K ≜ { k = ∑ u = 1 m β u k u : ∑ u = 1 m β u = 1 , β u ⩾ 0 , ∀ u } \mathcal{K} \triangleq\left\{k=\sum_{u=1}^m \beta_u k_u: \sum_{u=1}^m \beta_u=1, \beta_u \geqslant 0, \forall u\right\} K≜{k=∑u=1mβuku:∑u=1mβu=1,βu⩾0,∀u},但是这个计算带了指数计算复杂度 O ( n 2 ) O(n^2) O(n2),增加了深度网络的学习难度,因此采用MK-MMD的无偏估计(Gretton et al.,2012b),该估计可以用线性复杂度进行计算。定义四元组 z i ≜ ( x 2 i − 1 s , x 2 i s , x 2 i − 1 t , x 2 i t ) \mathbf{z}_i \triangleq\left(\mathbf{x}_{2 i-1}^s, \mathbf{x}_{2 i}^s, \mathbf{x}_{2 i-1}^t, \mathbf{x}_{2 i}^t\right) zi≜(x2i−1s,x2is,x2i−1t,x2it)和 g k ( z i ) ≜ k ( x 2 i − 1 s , x 2 i s ) + k ( x 2 i − 1 t , x 2 i t ) − k ( x 2 i − 1 s , x 2 i t ) − k ( x 2 i s , x 2 i − 1 t ) g_k(\mathbf{z}_i )\triangleq k\left(\mathbf{x}_{2 i-1}^s, \mathbf{x}_{2 i}^s\right)+k\left(\mathbf{x}_{2 i-1}^t, \mathbf{x}_{2 i}^t\right)-k\left(\mathbf{x}_{2 i-1}^s, \mathbf{x}_{2 i}^t\right)-k\left(\mathbf{x}_{2 i}^s, \mathbf{x}_{2 i-1}^t\right) gk(zi)≜k(x2i−1s,x2is)+k(x2i−1t,x2it)−k(x2i−1s,x2it)−k(x2is,x2i−1t)并将上式修改为:
d k 2 ( p , q ) = 2 n s ∑ i = 1 n s / 2 [ k ( x 2 i − 1 s , x 2 i s ) + k ( x 2 i − 1 t , x 2 i t ) − k ( x 2 i − 1 s , x 2 i t ) − k ( x 2 i s , x 2 i − 1 t ) ] = 2 n s ∑ i = 1 n s / 2 g k ( z i ) \begin{aligned} d_k^2(p, q)&=\frac{2}{n_s} \sum_{i=1}^{n_s/2} \left[k\left(\mathbf{x}_{2 i-1}^s, \mathbf{x}_{2 i}^s\right)+k\left(\mathbf{x}_{2 i-1}^t, \mathbf{x}_{2 i}^t\right)-k\left(\mathbf{x}_{2 i-1}^s, \mathbf{x}_{2 i}^t\right)-k\left(\mathbf{x}_{2 i}^s, \mathbf{x}_{2 i-1}^t\right)\right]\\ &=\frac{2}{n_s} \sum_{i=1}^{n_s/2} g_k(\mathbf{z}_i ) \end{aligned} dk2(p,q)=ns2i=1∑ns/2[k(x2i−1s,x2is)+k(x2i−1t,x2it)−k(x2i−1s,x2it)−k(x2is,x2i−1t)]=ns2i=1∑ns/2gk(zi)
即可用线性复杂度求解。当用mini-batch SGD训练深度CNN时,只需要考虑经验风险相对于每个数据点 x i xi xi的梯度。对于四元组在第 l l l个隐含层的表示 z i ℓ = ( h 2 i − 1 s ℓ , h 2 i s ℓ , h 2 i − 1 t ℓ , h 2 i t ℓ ) \mathbf{z}_i^\ell = \left(\mathbf{h}_{2 i-1}^{s\ell}, \mathbf{h}_{2 i}^{s\ell}, \mathbf{h}_{2 i-1}^{t\ell}, \mathbf{h}_{2 i}^{t\ell}\right) ziℓ=(h2i−1sℓ,h2isℓ,h2i−1tℓ,h2itℓ),可以计算梯度 ∂ g k ( z i ℓ ) ∂ Θ ℓ \frac{\partial g_k\left(\mathbf{z}_i^{\ell}\right)}{\partial \Theta^{\ell}} ∂Θℓ∂gk(ziℓ),同时为了与MK-MMD的梯度保持一致,计算CNN的梯度为 ∂ J ( z i ) ∂ Θ ℓ \frac{\partial J\left(\mathbf{z}_i\right)}{\partial \Theta^{\ell}} ∂Θℓ∂J(zi),其中 J ( z i ) = ∑ i ′ J ( θ ( x i ′ a ) , y i ′ a ) J\left(\mathbf{z}_i\right)=\sum_{i^\prime }J\left(\theta\left(\mathbf{x}_{i^\prime }^a\right), y_{i^\prime }^a\right) J(zi)=∑i′J(θ(xi′a),yi′a),并且 { ( x i ′ a , y i ′ a ) } \left\{\left(\mathbf{x}_{i^{\prime}}^a, y_{i^{\prime}}^a\right)\right\} {(xi′a,yi′a)}表示带标记的四元组, { ( x i ′ a , y i ′ a ) } = { ( x 2 i − 1 s , y 2 i − 1 s ) , ( x 2 i s , y 2 i s ) } \left\{\left(\mathbf{x}_{i^{\prime}}^a, y_{i^{\prime}}^a\right)\right\}=\left\{\left(\mathbf{x}_{2 i-1}^s, y_{2 i-1}^s\right),\left(\mathbf{x}_{2 i}^s, y_{2 i}^s\right)\right\} {(xi′a,yi′a)}={(x2i−1s,y2i−1s),(x2is,y2is)},以第 ℓ \ell ℓ层为例,为执行小批量梯度更新我们计算经验风险相对于该层的参数 Θ ℓ \Theta^\ell Θℓ如下。
∇ Θ ℓ = ∂ J ( z i ) ∂ Θ ℓ + λ ∂ g k ( z i ℓ ) ∂ Θ ℓ \nabla_{\Theta^{\ell}}=\frac{\partial J\left(\mathbf{z}_i\right)}{\partial \Theta^{\ell}}+\lambda \frac{\partial g_k\left(\mathbf{z}_i^{\ell}\right)}{\partial \Theta^{\ell}} ∇Θℓ=∂Θℓ∂J(zi)+λ∂Θℓ∂gk(ziℓ) -
优化 β \beta β:多层自适应正则化器通过MK-MMD执行分层匹配,通过联合最大化测试功率和最小化第二类误差来学习MK-MMD的最佳核参数 β \beta β,从而实现优化 max k ∈ K d k 2 ( D s ℓ , D t ℓ ) σ k − 2 \max _{k \in \mathcal{K}} d_k^2\left(\mathcal{D}_s^{\ell}, \mathcal{D}_t^{\ell}\right) \sigma_k^{-2} maxk∈Kdk2(Dsℓ,Dtℓ)σk−2,其中 σ k 2 = E z g k 2 ( z ) − [ E z g k ( z ) ] 2 \sigma_k^2=\mathbf{E}_{\mathbf{z}} g_k^2(\mathbf{z})-\left[\mathbf{E}_{\mathbf{z}} g_k(\mathbf{z})\right]^2 σk2=Ezgk2(z)−[Ezgk(z)]2是估计方差。(下面这个我还没理解,哪位大佬给我讲讲)
Letting d = ( d 1 , d 2 , … , d m ) ⊤ \mathbf{d}=\left(d_1, d_2, \ldots, d_m\right)^{\top} d=(d1,d2,…,dm)⊤, each d u d_u du is MMD via kernel k u k_u ku. Covariance Q = cov ( g k ) ∈ R m × m \mathbf{Q}=\operatorname{cov}\left(g_k\right) \in \mathbb{R}^{m \times m} Q=cov(gk)∈Rm×m can be computed in O ( m 2 n ) O\left(m^2 n\right) O(m2n) cost, i.e. Q u u ′ = 4 n s ∑ i = 1 n s / 4 g k u Δ ( z ‾ i ) g k u ′ Δ ( z ‾ i ) \mathbf{Q}_{u u^{\prime}}=\frac{4}{n_s} \sum_{i=1}^{n_s / 4} g_{k_u}^{\Delta}\left(\overline{\mathbf{z}}_i\right) g_{k_{u^{\prime}}}^{\Delta}\left(\overline{\mathbf{z}}_i\right) Quu′=ns4∑i=1ns/4gkuΔ(zi)gku′Δ(zi), where z ‾ i ≜ ( z 2 i − 1 , z 2 i ) \overline{\mathbf{z}}_i \triangleq\left(\mathbf{z}_{2 i-1}, \mathbf{z}_{2 i}\right) zi≜(z2i−1,z2i) and g k u Δ ( z ‾ i ) ≜ g k u ( z 2 i − 1 ) − g_{k_u}^{\Delta}\left(\overline{\mathbf{z}}_i\right) \triangleq g_{k_u}\left(\mathbf{z}_{2 i-1}\right)- gkuΔ(zi)≜gku(z2i−1)− g k u ( z 2 i ) g_{k_u}\left(\mathbf{z}_{2 i}\right) gku(z2i).
简化为二次优化问题 (QP),
min d ⊤ β = 1 , β ⩾ 0 β ⊤ ( Q + ε I ) β , \min _{\mathbf{d}^{\top} \boldsymbol{\beta}=1, \boldsymbol{\beta} \geqslant \mathbf{0}} \boldsymbol{\beta}^{\top}(\mathbf{Q}+\varepsilon \mathbf{I}) \boldsymbol{\beta}, d⊤β=1,β⩾0minβ⊤(Q+εI)β,
其中 ε = 1 0 − 3 \varepsilon=10^{-3} ε=10−3 i是一个小正则化器,可以使问题得到很好的定义。通过求解上式, 可以得到一个同时最大化测试功率和最小化第二类误差的多核 k = ∑ u = 1 m β u k u k=\sum_{u=1}^m \beta_u k_u k=∑u=1mβuku 。 -
最终得到DAN的目标本质上是一个minimax问题,即需要计算 min Θ max K d k 2 ( D s ℓ , D t ℓ ) σ k − 2 \min_{\Theta} \max_K d_k^2\left(\mathcal{D}_s^{\ell}, \mathcal{D}_t^{\ell}\right) \sigma_k^{-2} minΘmaxKdk2(Dsℓ,Dtℓ)σk−2,CNN参数 Θ \Theta Θ通过最小化MK-MMD作为域差异来学习,而MK-MMD的参数 β \beta β通过最小化第二类误差来学习。这两个目标都致力于有效适应域差异,旨在巩固DAN的可迁移性。因此,DAN采用了一种交替优化,通过小批量SGD迭代更新 Θ \Theta Θ,通过QP迭代更新 β \beta β。这两个更新的成本都是 O ( n ) O(n) O(n),并且可以扩展到大型数据集。
5.参考鸣谢
-
MMD https://zhuanlan.zhihu.com/p/163839117
-
MMD https://zhuanlan.zhihu.com/p/471732960
-
随机变量的矩和高阶矩 https://www.zhihu.com/question/25344430/answer/64509141
-
矩 https://blog.csdn.net/racesu/article/details/109644160
-
内积空间 https://zhuanlan.zhihu.com/p/91201310
-
Basis and kernel http://songcy.net/posts/story-of-basis-and-kernel-part-1/
-
MK-MMD https://zhuanlan.zhihu.com/p/27657910
-
Gretton A, Borgwardt K M, Rasch M J, et al. A kernel two-sample test[J]. Journal of Machine Learning Research, 2012, 13(Mar): 723-773.
-
Long M, Cao Y, Wang J, et al. Learning transferable features with deep adaptation networks[C]//International Conference on Machine Learning. 2015: 97-105.
-
Yosinski, J., Clune, J., Bengio, Y., and Lipson, H. How transferable are features in deep neural networks? In NIPS, 2014.文章来源:https://www.toymoban.com/news/detail-780574.html
-
https://blog.csdn.net/qq_41076797/article/details/119829512?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522166618747216781432991713%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=166618747216781432991713&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-119829512-null-null.142v59pc_search_tree,201v3control_1&utm_term=Deep%20Adaptation%20Networks&spm=1018.2226.3001.4187文章来源地址https://www.toymoban.com/news/detail-780574.html
6.注
- 才疏学浅,欢迎批评、指导和交流;
- 有错误望大家及时指正!
- 看完觉得还行记得点个赞哦~
到了这里,关于【ML算法学习】多核最大均值差异(MK-MMD)与深度适应网络(DAN)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!