Gram 矩阵和风格迁移

Gatys 等人在开创风格迁移这一方向的论文中提出可以用 Gram 矩阵衡量从网络中提取的特征之间的风格相关性, 也就是利用 Gram 矩阵计算 Style Loss. 然而, 作者并未明确指出 Gram 矩阵为何能表示风格. 通过查阅资料, 我找到以下结论:

  • 图像的风格本质上可以用CNN不同层的特征分布来表示.
  • 风格转移可以看作是一个从内容图像到风格图像的特征分布逐渐接近过程.

首先回忆 Gatys 等人表示 Style Loss 的方法. 方法给定内容图片 x c \mathbf{x}_c xc和风格图片 x s \mathbf{x}_s xs, 希望生成风格化图片 x ∗ \mathbf x^* x, x ∗ \mathbf x^* x, x c \mathbf{x}_c xc x s \mathbf{x}_s xs 在CNN第 l l l层提取出的特征像分别为 F l , P l , S l ∈ R N l × M l \mathbf{F}^l, \mathbf{P}^l, \mathbf{S}^l \in \mathbb{R}^{N_l\times M_l} Fl,Pl,SlRNl×Ml. 其中 N l N_l Nl 为第 l l l 层的特征项的个数, M l M_l Ml 为特征项的长乘宽.

我们来考察 Style Loss 的表达式,
L style l = 1 4 N l 2 M l 2 ∑ i = 1 N l ∑ j = 1 N l ( G i j l − A i j l ) 2 , L^l_{\text{style}}=\frac{1}{4N_l^2M_l^2}\sum_{i=1}^{N_l}\sum_{j=1}^{N_l}(G_{ij}^l-A_{ij}^l)^2, Lstylel=4Nl2Ml21i=1Nlj=1Nl(GijlAijl)2,
其中 Gram 矩阵 G l ∈ R N l × N l G^l\in\mathbb R^{N_l\times N_l} GlRNl×Nl l l l 层向量化特征映射的内积:
G i j l = ∑ k = 1 M l F i k l F j k l , G_{ij}^l=\sum_{k=1}^{M_l}F_{ik}^lF_{jk}^l, Gijl=k=1MlFiklFjkl,
A l \mathbf{A}^l Al 也是 S l \mathbf{S}^l Sl 对应的 Gram 矩阵.

核函数

核函数到再生希尔伯特空间的内容具体可以参见 From Zero to Reproducing Kernel Hilbert Spaces in Twelve Pages or Less. 下面简单写写我的理解, 函数 f ( x ) f(\mathbf{x}) f(x) 可以看做无穷维向量, 定义一个二元函数 K ( x , y ) K(\mathbf{x}, \mathbf{y}) K(x,y), 我们可以将其看做一个无穷维矩阵. 若 K K K 是对称的且是半正定的, 则称 K K K 为一个核函数.

一个核函数存在特征值 λ \lambda λ和特征向量 ϕ ( x ) \phi(x) ϕ(x)使得
∫ K ( x , y ) ϕ ( x ) d x = λ ϕ ( y ) \int K(\mathbf x, \mathbf y)\phi(\mathbf x)\mathrm d\mathbf x=\lambda\phi(\mathbf y) K(x,y)ϕ(x)dx=λϕ(y)
容易证明不同特征值 λ 1 , λ 2 \lambda_1, \lambda_2 λ1,λ2对应的特征向量 ϕ 1 , ϕ 2 \phi_1, \phi_2 ϕ1,ϕ2 的内积 < ϕ 1 , ϕ 2 > = ∫ ϕ 1 ( x ) ϕ 2 ( x ) d x = 0. <\phi_1,\phi_2>=\int\phi_1(\mathbf x)\phi_2(\mathbf x)\mathrm d\mathbf x=0. <ϕ1,ϕ2>=ϕ1(x)ϕ2(x)dx=0.
Mercer’s theorem 指出, 对于核函数, 存在无穷多个特征值 { λ i } i = 1 ∞ \{\lambda_i\}_{i=1}^\infty {λi}i=1 对应无穷多个特征函数 { ϕ i } i = 1 ∞ \{\phi_i\}_{i=1}^\infty {ϕi}i=1, 使得
K ( x , y ) = ∑ i = 1 ∞ λ i ϕ i ( x ) ϕ i ( y ) , K(\mathbf x, \mathbf y) = \sum_{i=1}^{\infty}\lambda_i\phi_i(\mathbf x)\phi_i(\mathbf y), K(x,y)=i=1λiϕi(x)ϕi(y),
{ ϕ i } i = 1 ∞ \{\phi_i\}_{i=1}^\infty {ϕi}i=1 是函数空间的一组正交基.

多项式核是一种常用的核函数, 表达形式为
K ( x , y ) = ( γ x T y + C ) d . K(\mathbf x, \mathbf y)=(\gamma\mathbf x^T\mathbf y+C)^d. K(x,y)=(γxTy+C)d.

Reproducing Kernel Hilbert Space

{ λ ϕ i } i = 1 ∞ \{\sqrt{\lambda}\phi_i\}_{i=1}^\infty {λ ϕi}i=1 作为希尔伯特空间 H \mathcal H H 的一组正交基. ∀ f ∈ H \forall f\in\mathcal{H} fH,
f = ∑ i = 1 ∞ f i λ i ϕ i , f=\sum_{i=1}^{\infty}f_i\sqrt{\lambda_i}\phi_i, f=i=1fiλi ϕi,
则对于 H \mathcal H H 中两个函数 f = ( f 1 , f 2 , …   ) H T , g = ( g 1 , g 2 , …   ) H T f=(f_1,f_2,\dots)_\mathcal{H}^T, g=(g_1,g_2,\dots)_\mathcal{H}^T f=(f1,f2,)HT,g=(g1,g2,)HT, 有
< f , g > H = ∑ i = 1 ∞ f i g i . <f,g>_\mathcal{H}=\sum_{i=1}^{\infty}f_ig_i. <f,g>H=i=1figi.
对于核函数 K K K, 我们固定其中一个变量 x \mathbf x x, 则得到
K ( x , ⋅ ) = ∑ i = o ∞ λ i ϕ i ( x ) ϕ , K(\mathbf x,\cdot)=\sum_{i=o}^\infty\lambda_i\phi_i(\mathbf x)\phi, K(x,)=i=oλiϕi(x)ϕ,
也是空间 H \mathcal{H} H 中的函数. 因此
< K ( x , ⋅ ) , K ( y , ⋅ ) > H = ∑ i = 1 ∞ λ i ϕ i ( x ) ϕ i ( y ) = K ( x , y ) <K(\mathbf x,\cdot),K(\mathbf y,\cdot)>_{\mathcal{H}}=\sum_{i=1}^{\infty}\lambda_i\phi_i(\mathbf x)\phi_i(\mathbf y)=K(\mathbf x,\mathbf y) <K(x,),K(y,)>H=i=1λiϕi(x)ϕi(y)=K(x,y)
这就是再生性质, H \mathcal{H} H被称为再生核希尔伯特空间(RKHS).

有了RKHS, 我们就可以将一个分布映射到再生希尔伯特空间上的一个点, 这样两个分布之间的距离就可以用两个点的内积进行表示.

Maximum Mean Discrepancy

MMD 常被用来度量两个分布之间的距离, 是迁移学习中常用的损失函数. 定义如下, X = { x i } i = 1 n X=\{\mathbf x_i\}_{i=1}^n X={xi}i=1n 的分布为 p p p, Y = { y j } j = 1 m Y=\{\mathbf y_j\}_{j=1}^m Y={yj}j=1m 的分布为 q q q, 取核函数为 γ = 1 , C = 0 , d = 2 \gamma=1, C=0, d=2 γ=1,C=0,d=2的多项式核函数, 有
MMD 2 [ X , Y ] = ∥ E p [ ϕ ( x ) ] − E q [ ϕ ( y ) ] ∥ 2 = ∥ 1 n ∑ i = 1 n ϕ ( x i ) − 1 m ∑ j = 1 m ϕ ( y j ) ∥ 2 = 1 n 2 ∑ i = 1 n ∑ i ′ = 1 n ϕ ( x i ) T ϕ ( x i ′ ) + 1 m 2 ∑ j = 1 n ∑ j ′ = 1 n ϕ ( y j ) T ϕ ( y j ′ ) − 2 n m ∑ i = 1 n ∑ j = 1 m ϕ ( x i ) T ϕ ( y j ) = 1 n 2 ∑ i = 1 n ∑ i ′ = 1 n K ( x i , x i ′ ) + 1 m 2 ∑ j = 1 n ∑ j ′ = 1 n K ( y j , y j ′ ) − 2 n m ∑ i = 1 n ∑ j = 1 m K ( x i , y j ) . \begin{aligned} \text{MMD}^2[X, Y]=& \|\mathbf{E}_p[\phi(\mathbf x)]-\mathbf{E}_q[\phi(\mathbf y)]\|^2 \\ =&\|\frac{1}{n}\sum_{i=1}^{n}\phi(\mathbf{x}_i)-\frac{1}{m}\sum_{j=1}^{m}\phi(\mathbf{y}_j)\|^2 \\ =&\frac{1}{n^2}\sum_{i=1}^{n}\sum_{i'=1}^{n}\phi(\mathbf{x}_i)^T\phi(\mathbf{x}_{i'})+ \frac{1}{m^2}\sum_{j=1}^{n}\sum_{j'=1}^{n}\phi(\mathbf{y}_j)^T\phi(\mathbf{y}_{j'})\\ &- \frac{2}{nm}\sum_{i=1}^{n}\sum_{j=1}^{m}\phi(\mathbf{x}_i)^T\phi(\mathbf{y}_j) \\ =& \frac{1}{n^2}\sum_{i=1}^{n}\sum_{i'=1}^{n}K(\mathbf{x}_i,\mathbf{x}_{i'})+ \frac{1}{m^2}\sum_{j=1}^{n}\sum_{j'=1}^{n}K(\mathbf{y}_j, \mathbf{y}_{j'})- \frac{2}{nm}\sum_{i=1}^{n}\sum_{j=1}^{m}K(\mathbf{x}_i, \mathbf{y}_j). \end{aligned} MMD2[X,Y]====Ep[ϕ(x)]Eq[ϕ(y)]2n1i=1nϕ(xi)m1j=1mϕ(yj)2n21i=1ni=1nϕ(xi)Tϕ(xi)+m21j=1nj=1nϕ(yj)Tϕ(yj)nm2i=1nj=1mϕ(xi)Tϕ(yj)n21i=1ni=1nK(xi,xi)+m21j=1nj=1nK(yj,yj)nm2i=1nj=1mK(xi,yj).

风格损失

我们重写风格损失表达式,
L style l = 1 4 N l 2 M l 2 ∑ i = 1 N l ∑ j = 1 N l ( ∑ k = 1 M l F i k l F j k l − ∑ k = 1 M l S i k l S j k l ) 2 = 1 4 N l 2 M l 2 ∑ i = 1 N l ∑ j = 1 N l ( ( ∑ k = 1 M l F i k l F j k l ) 2 + ( ∑ k = 1 M l S i k l S j k l ) 2 − 2 ( ∑ k = 1 M l F i k l F j k l ) ( ∑ k = 1 M l S i k l S j k l ) ) = 1 4 N l 2 M l 2 ∑ i = 1 N l ∑ j = 1 N l ∑ k 1 = 1 M l ∑ k 2 = 1 M l ( F i k 1 l F j k 1 l F i k 2 l F j k 2 l + S i k 1 l S j k 1 l S i k 2 l S j k 2 l − 2 F i k 1 l F j k 1 l S i k 2 l S j k 2 l ) = 1 4 N l 2 M l 2 ∑ k 1 = 1 M l ∑ k 2 = 1 M l ∑ i = 1 N l ∑ j = 1 N l ( F i k 1 l F j k 1 l F i k 2 l F j k 2 l + S i k 1 l S j k 1 l S i k 2 l S j k 2 l − 2 F i k 1 l F j k 1 l S i k 2 l S j k 2 l ) = 1 4 N l 2 M l 2 ∑ k 1 = 1 M l ∑ k 2 = 1 M l ( ( ∑ i = 1 N l F i k 1 l F i k 2 l ) 2 + ( ∑ j = 1 N l S j k 1 l S j k 2 l ) 2 − 2 ( ∑ i = 1 N l F i k 1 l S j k 2 l ) 2 ) = 1 4 N l 2 M l 2 ∑ k 1 = 1 M l ∑ k 2 = 1 M l ( K ( f k 1 l , f k 2 l ) + K ( s k 1 l , s k 2 l ) − 2 K ( f k 1 l , s k 2 l ) ) = 1 4 N l 2 MMD 2 [ F l , S l ] , \begin{aligned} L^l_{\text{style}}=&\frac{1}{4N_l^2M_l^2}\sum_{i=1}^{N_l}\sum_{j=1}^{N_l}\Bigl(\sum_{k=1}^{M_l}F_{ik}^lF_{jk}^l-\sum_{k=1}^{M_l}S_{ik}^lS_{jk}^l\Bigr)^2 \\ =& \frac{1}{4N_l^2M_l^2}\sum_{i=1}^{N_l}\sum_{j=1}^{N_l}\Bigl(\bigl(\sum_{k=1}^{M_l}F_{ik}^lF_{jk}^l\bigr)^2+\bigl(\sum_{k=1}^{M_l}S_{ik}^lS_{jk}^l\bigr)^2 -2\bigl(\sum_{k=1}^{M_l}F_{ik}^lF_{jk}^l\bigr)\bigl(\sum_{k=1}^{M_l}S_{ik}^lS_{jk}^l\bigr)\Bigr) \\ =& \frac{1}{4N_l^2M_l^2}\sum_{i=1}^{N_l}\sum_{j=1}^{N_l}\sum_{k_1=1}^{M_l}\sum_{k_2=1}^{M_l}\bigl(F_{ik_1}^lF_{jk_1}^l F_{ik_2}^lF_{jk_2}^l + S_{ik_1}^lS_{jk_1}^l S_{ik_2}^lS_{jk_2}^l -2F_{ik_1}^lF_{jk_1}^l S_{ik_2}^lS_{jk_2}^l\bigr) \\ =& \frac{1}{4N_l^2M_l^2}\sum_{k_1=1}^{M_l}\sum_{k_2=1}^{M_l}\sum_{i=1}^{N_l}\sum_{j=1}^{N_l}\bigl(F_{ik_1}^lF_{jk_1}^l F_{ik_2}^lF_{jk_2}^l + S_{ik_1}^lS_{jk_1}^l S_{ik_2}^lS_{jk_2}^l -2F_{ik_1}^lF_{jk_1}^l S_{ik_2}^lS_{jk_2}^l\bigr) \\ =& \frac{1}{4N_l^2M_l^2}\sum_{k_1=1}^{M_l}\sum_{k_2=1}^{M_l}\Bigl(\bigl(\sum_{i=1}^{N_l}F_{ik_1}^lF_{ik_2}^l\bigr)^2+\bigl(\sum_{j=1}^{N_l}S_{jk_1}^lS_{jk_2}^l\bigr)^2 -2\bigl(\sum_{i=1}^{N_l}F_{ik_1}^lS_{jk_2}^l\bigr)^2\Bigr) \\ =& \frac{1}{4N_l^2M_l^2}\sum_{k_1=1}^{M_l}\sum_{k_2=1}^{M_l}\Bigl(K(\mathbf{f}_{k_1}^l,\mathbf{f}_{k_2}^l)+ K(\mathbf{s}_{k_1}^l,\mathbf{s}_{k_2}^l) - 2K(\mathbf{f}_{k_1}^l,\mathbf{s}_{k_2}^l)\Bigr) \\ =&\frac{1}{4N_l^2}\text{MMD}^2[\mathcal F^l, \mathcal S^l], \end{aligned} Lstylel=======4Nl2Ml21i=1Nlj=1Nl(k=1MlFiklFjklk=1MlSiklSjkl)24Nl2Ml21i=1Nlj=1Nl((k=1MlFiklFjkl)2+(k=1MlSiklSjkl)22(k=1MlFiklFjkl)(k=1MlSiklSjkl))4Nl2Ml21i=1Nlj=1Nlk1=1Mlk2=1Ml(Fik1lFjk1lFik2lFjk2l+Sik1lSjk1lSik2lSjk2l2Fik1lFjk1lSik2lSjk2l)4Nl2Ml21k1=1Mlk2=1Mli=1Nlj=1Nl(Fik1lFjk1lFik2lFjk2l+Sik1lSjk1lSik2lSjk2l2Fik1lFjk1lSik2lSjk2l)4Nl2Ml21k1=1Mlk2=1Ml((i=1NlFik1lFik2l)2+(j=1NlSjk1lSjk2l)22(i=1NlFik1lSjk2l)2)4Nl2Ml21k1=1Mlk2=1Ml(K(fk1l,fk2l)+K(sk1l,sk2l)2K(fk1l,sk2l))4Nl21MMD2[Fl,Sl],
其中 F l \mathcal{F}^l Fl x ∗ \mathbf x^* x 的特征集, 每一个样本为 F l \mathbf F^l Fl 的一列, S l \mathcal S^l Sl 对应风格图像 x s \mathbf x_s xs. 这样, 特征像的每个点都被看做一个单独的样本, 求风格损失转换为求两个分布之间的差异. 因此点的位置信息就被抹掉了, 只留下了整体的特征分布信息, 在图像中具体表现为颜色、纹理等信息, 这就是风格转换想要达到的效果.

最后, 将这一结果与 AdaIN \cite{Huang2017ArbitraryST} 相比较. 简单来说, AdaIN 将内容图片在某些层特征的均值和标准差与风格图片在对应层特征的均值和标准差对齐. 主要想法同样也是将两张图片的特征信息看作两个分布, 然后使得内容图片的特征分布尽量接近风格图片的特征分布, 主要是均值和方差. Huang 等人抓住了风格的本质, 因此能够提出一种更加简单且普适的方法, 这一点值得我们学习.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值