“用于无监督图像生成解耦的正交雅可比正则化”论文解读
Tikhonov regularization terms https://blog.csdn.net/jiejinquanil/article/details/50411617
本文是對(duì)博客https://baijiahao.baidu.com/s?id=1710942953471566583&wfr=spider&for=pc的重寫(xiě)。
1 簡(jiǎn)介
本文是對(duì)發(fā)表于計(jì)算機(jī)視覺(jué)和模式識(shí)別領(lǐng)域的頂級(jí)會(huì)議 ICCV 2021 的論文“ Orthogonal Jacobian Regularization for Unsupervised Disentanglement in Image Generation(用于無(wú)監(jiān)督圖像生成解耦的正交雅可比正則化)”的解讀。
該論文由哈爾濱工業(yè)大學(xué)與好未來(lái)合作,針對(duì)圖像生成中無(wú)監(jiān)督解耦問(wèn)題,提出了一種正交雅可比正則化(Orthogonal Jacobian Regularization, OroJaR)用于學(xué)習(xí)解耦的生成模型。OroJaR 通過(guò)約束輸入各維在輸出引起的變化之間的正交特性來(lái)實(shí)現(xiàn)模型的解耦,并使用輸出對(duì)輸入的雅可比矩陣表示這種變化。與之前的方法相比,OroJaR 可以應(yīng)用于模型的多層,并以整體方式對(duì)輸出進(jìn)行約束,使得其可以更好的解耦空間相關(guān)的變化。
論文鏈接:https://arxiv.org/abs/2108.07668
代碼地址:https://github.com/csyxwei/OroJaR
2 研究背景
近年來(lái),無(wú)監(jiān)督解耦學(xué)習(xí)受到了廣泛的關(guān)注,不僅因?yàn)槠鋵?duì)理解生成模型的重要性,也因?yàn)槠鋵?duì)其他計(jì)算機(jī)視覺(jué)任務(wù)也有所幫助,如可控圖像生成、圖像編輯等。對(duì)于一個(gè)解耦的特征,其各維控制了輸出中不相關(guān)的變化,從給定的數(shù)據(jù)集中無(wú)監(jiān)督學(xué)習(xí)到解耦的特征仍是當(dāng)前人工智能領(lǐng)域的一個(gè)重要挑戰(zhàn)。
現(xiàn)有的無(wú)監(jiān)督解耦方法主要基于兩種主流的生成模型:變分自編碼器(Variational Autoencoder, VAE)和生成式對(duì)抗網(wǎng)絡(luò)(Generative Adversarial Networks, GAN)。基于 VAE 的方法如 -VAE [ 1 ] ,FactorVAE [ 2 ] 等主要通過(guò)約束隱變量之間的獨(dú)立性來(lái)實(shí)現(xiàn)解耦,但受限于 VAE,這些方法生成圖像的質(zhì)量往往有限。隨著 GAN 在圖像生成領(lǐng)域取得的成功,許多基于 GAN 的無(wú)監(jiān)督解耦方法被提出。SeFa [ 3 ] 通過(guò)對(duì) pretrain 的 GAN 的第一層全連接層參數(shù)分解得到一系列解耦的隱空間方向向量。但 SeFa 只能作用于第一層且是后處理的方式,限制了其解耦性能。Hessian Penalty [ 4 ] 通過(guò)約束輸出對(duì)輸入的 Hessian 矩陣是對(duì)角的來(lái)實(shí)現(xiàn)解耦。但其使用 max 函數(shù)將約束從標(biāo)量函數(shù)推廣到向量函數(shù),獨(dú)立的約束輸出的各個(gè)值使得其不能很好的解耦一些空間相關(guān)的變化(如,形狀、大小、旋轉(zhuǎn)等)。
受上述方法的啟發(fā),論文提出了一個(gè)用于無(wú)監(jiān)督圖像生成解耦的正交雅可比正則化(OroJaR),用于更好的解耦生成模型。
3 方法介紹
3.1 正交雅可比正則化 ( OroJaR )
令G:X=G(z)G:X = G(\mathbf{z})G:X=G(z)是一個(gè)生成模型,其中z=[z1,…,zi,…,zm]T∈R\mathbf{z}=[z_1, \dots, z_i, \dots, z_m]^T \in \mathbb{R}z=[z1?,…,zi?,…,zm?]T∈R是輸入向量,ziz_izi?表示輸入的第iii維。x\mathbf{x}x是網(wǎng)絡(luò)的輸出,xd=Gd(z)x_d = G_d(\mathbf{z})xd?=Gd?(z)進(jìn)一步用于表示GGG的第ddd層的輸出。
論文基于一個(gè)非常直觀的想法:當(dāng)改變輸入的其中一維時(shí),其在輸出中引起的變化應(yīng)該與其他維引起的變化獨(dú)立(不相關(guān)),即ziz_izi?和zjz_jzj?在輸出中引起的變化是獨(dú)立的。在論文中,作者使用雅可比向量?Gd?zi\frac{\partial G_d}{\partial z_i}?zi??Gd??表示輸入第iii維在輸出中引起的變化,同時(shí)為了實(shí)現(xiàn)解耦,作者約束輸入各維對(duì)應(yīng)的雅可比向量相互正交,
[?Gd?zi]T?Gd?zj=0.(1)[\frac{\partial G_d}{\partial z_i}]^T \frac{\partial G_d}{\partial z_j} = 0. \tag1[?zi??Gd??]T?zj??Gd??=0.(1)
兩個(gè)向量的正交也意味著它們是不相關(guān)的,即輸入各維所引起的變化是獨(dú)立的。考慮所有輸入維度,作者提出了正交雅可比正則化(OroJaR),來(lái)幫助模型學(xué)習(xí)到解耦的特征:
L(G)=∑d=1D∣∣JdTJd°(1?I)∣∣=∑d=1D∑i=1m∑j≠i∣[?Gd?zi]T?Gd?zj∣2,(2)\mathcal{L}(G) = \sum_{d = 1} ^D||\mathbf{J}_d^T \mathbf{J}_d \circ ( \mathbf{1} - \mathbf{I})|| = \sum_{d = 1}^D \sum_{i = 1}^m \sum_{j \neq i}|[\frac{\partial G_d}{\partial z_i}]^T \frac{\partial G_d}{\partial z_j}|^2, \tag2L(G)=d=1∑D?∣∣JdT?Jd?°(1?I)∣∣=d=1∑D?i=1∑m?j?=i∑?∣[?zi??Gd??]T?zj??Gd??∣2,(2)
其中Jd={jd,1,…,jd,i,…,jd,m}\mathbf{J}_d = \{\mathbf{j}_{d, 1}, \dots, \mathbf{j}_{d, i}, \dots, \mathbf{j}_{d, m}\}Jd?={jd,1?,…,jd,i?,…,jd,m?}表示GdG_dGd?對(duì)zzz輸入的雅可比矩陣,°\circ°表示逐元素乘積。I\mathbf{I}I 表示單位陣,1\mathbf{1}1表示全 1 的矩陣。OroJaR 以整體方式對(duì)輸出進(jìn)行約束,而不是像 Hessian Penalty 一樣獨(dú)立的約束輸出的每一個(gè)元素,這使得 OroJaR 可以更好的解耦復(fù)雜的、空間相關(guān)的變化。
3.2 近似訓(xùn)練加速
實(shí)際訓(xùn)練時(shí),公式 (2)中雅可比矩陣的計(jì)算是非常耗時(shí)的。為了加速運(yùn)算,作者基于Hutchinson近似[4,7],將公式 (2)的計(jì)算重寫(xiě)為,
L(G)=∑d=1DVarv[vT(jdTjd)v]=∑d=1DVarv[(jdv)Tjdv],(3)\mathcal{L}(G) = \sum_{d = 1}^D \mathbf{Var_v}[\mathbf{v}^T (\mathbf{j_d}^T \mathbf{j_d}) \mathbf{v}] = \sum_{d = 1}^D \mathbf{Var_v}[(\mathbf{j_dv})^T\mathbf{j_dv}], \tag3L(G)=d=1∑D?Varv?[vT(jd?Tjd?)v]=d=1∑D?Varv?[(jd?v)Tjd?v],(3)
其中v\mathbf{v}v是Rademacher向量(每維為-1或1的概率為0.5),Varv\mathbf{Var_v}Varv?表示方差計(jì)算。jdv\mathbf{j_dv}jd?v是GdG_dGd?沿著v\mathbf{v}v方向的一階導(dǎo)數(shù)乘上∣v∣|\mathbf{v}|∣v∣,其可以進(jìn)一步使用一階差分近似[8]估計(jì)得到:
jdv=1?[G(z+?v)?G(z)],(4)\mathbf{j_dv} = \frac{1}{\epsilon}[G(\mathbf{z}+ \epsilon \mathbf{v}) - G(\mathbf{z})], \tag4jd?v=?1?[G(z+?v)?G(z)],(4)
3.3 在GAN中的應(yīng)用
OroJaR可以通過(guò)兩種方式應(yīng)用于GAN中,一種是在訓(xùn)練GAN時(shí)用作正則項(xiàng),一種是用于尋找pretrain的GAN中一些解耦的方向向量。
GAN訓(xùn)練時(shí),判別器DDD和生成器GGG迭代的使用LD\mathcal{L}_DLD?和LG\mathcal{L}_GLG?更新:
LD=Ex[f(D(x))]+Ez[f(1?D(G(z)))],(5)\mathcal{L}_D = \mathbb{E}_\mathbf{x}[f(D(\mathbf{x}))] + \mathbb{E}_\mathbf{z}[f(1-D(G(\mathbf{z})))], \tag5LD?=Ex?[f(D(x))]+Ez?[f(1?D(G(z)))],(5)
LG=Ez[f(1?D(G(z)))],(6)\mathcal{L}_G = \mathbb{E}_\mathbf{z}[f(1 - D(G(\mathbf{z})))], \tag6LG?=Ez?[f(1?D(G(z)))],(6)
其中f(?)f(\cdot)f(?)是某一個(gè)具體的GAN Loss。將OroJaR引入GAN的訓(xùn)練后,生成器的訓(xùn)練Loss調(diào)整為:
LGoro=Ez[f(1?D(G(z)))]+λEz[LJ(G(z))],(7)\mathcal{L}_G^{oro} = \mathbb{E}_\mathbf{z}[f(1 - D(G(\mathbf{z})))] + \lambda \mathbb{E}_\mathbf{z}[\mathcal{L}_J(G(\mathbf{z}))], \tag7LGoro?=Ez?[f(1?D(G(z)))]+λEz?[LJ?(G(z))],(7)
其中λ\lambdaλ用于控制不同損失之間的權(quán)重。引入LJ(G)\mathcal{L}_J(G)LJ?(G)到GAN的訓(xùn)練中可以幫模型學(xué)習(xí)到解耦的特征,從而實(shí)現(xiàn)可控的圖像生成。
OroJaR也可以用于發(fā)現(xiàn)pretrain的GAN的隱空間中可解釋的方向。具體地,作者引入一個(gè)可學(xué)習(xí)的正交矩陣A∈Rm×N\mathbf{A} \in \mathbb{R}^{m \times N}A∈Rm×N,其中NNN是要學(xué)習(xí)的正交方向的個(gè)數(shù),mmm是隱空間維度。A\mathbf{A}A的每列存儲(chǔ)了要學(xué)習(xí)的正交方向。AAA的優(yōu)化公式為:
A?=arg?min?AEz,ωiLJ(G(z+ηAωi)),(8)A^* = \arg \min_\mathbf{A} \mathbb{E}_{\mathbf{z}, \omega_i}\mathcal{L}_J(G(\mathbf{z} + \eta \mathbf{A} \omega_i)), \tag8A?=argAmin?Ez,ωi??LJ?(G(z+ηAωi?)),(8)
其中ωi∈{0,1}N\omega_i \in \{0, 1\}^Nωi?∈{0,1}N是一個(gè)one-hot的向量,用于索引A\mathbf{A}A的某一列,η\etaη是一個(gè)標(biāo)量用于控制z\mathbf{z}z應(yīng)該沿著該方向移動(dòng)多遠(yuǎn)。與公式 (7)不同的是,此時(shí)的OroJaR是對(duì)求的ωi\omega_iωi?而不是z\mathbf{z}z。求得A\mathbf{A}A之后,就可以通過(guò)G(z+ηAωi)G(\mathbf{z} + \eta \mathbf{A} \omega_i)G(z+ηAωi?)來(lái)對(duì)生成圖像進(jìn)行可控的編輯。
4 實(shí)驗(yàn)結(jié)果
論文使用了Edges+Shoes[9]、CLEVR[4]、Dsprites[10]等數(shù)據(jù)集對(duì)OroJaR進(jìn)行了詳細(xì)的定性和定量實(shí)驗(yàn)。
4.1 定性實(shí)驗(yàn)
作者首先在Edges+Shoes上進(jìn)行了實(shí)驗(yàn),該數(shù)據(jù)集是由5k張真實(shí)鞋子和5k張輪廓鞋子組成的真實(shí)數(shù)據(jù)集。從下圖中可以看到,雖然沒(méi)有其真實(shí)的變化因子,但SeFa[3]、Hessian Penalty[4]和OroJaR都學(xué)到了相同的變化,即鞋子的樣式和形狀,且論文提出的OroJaR具有更多樣的形狀變化。
下圖給出了論文提出的OroJaR與對(duì)比方法在CLEVR-Complex數(shù)據(jù)集上的定性對(duì)比,該數(shù)據(jù)集包含2個(gè)物體的5個(gè)變化因子(x軸、y軸位置、形狀、顏色、大小)。可以看到,SeFa[3]和Hessian Penalty[4]在改變一個(gè)物體的形狀或顏色時(shí)另一個(gè)物體也會(huì)隨之改變,而OroJaR可以獨(dú)立的控制左右物體的形狀和顏色,這說(shuō)明OroJaR可以更好的解耦空間相關(guān)的變化。
下圖給出了OroJaR與對(duì)比方法在Dsprites數(shù)據(jù)集上的定性對(duì)比,該數(shù)據(jù)集是常用的解耦數(shù)據(jù)集,包含了1個(gè)物體的5個(gè)變化因子(x軸、y軸位置、形狀、角度、大小)。可以看到與SeFa[3]和GAN-VP[5]和Hessian Penalty[4]相比,OroJaR可以更好地解耦5個(gè)變化,同時(shí)成功抑制多余的維度(第6行)。
如上文中提到的,OroJaR同樣可以用于尋找pretrain的GAN的隱空間中一些有意義的方向向量,作者在ImageNet上pretrain的BigGAN[6]的Golden Retrievers和Churches兩個(gè)類(lèi)上進(jìn)行了實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果如下圖所示,可以看到,OroJaR可以成功找到一些有意義的控制,如旋轉(zhuǎn),縮放,顏色等。
更多詳細(xì)的實(shí)驗(yàn)結(jié)果請(qǐng)見(jiàn)論文。
4.2 定量實(shí)驗(yàn)
下表給出了OroJaR在Edges+Shoes和CLEVR數(shù)據(jù)集上的定量對(duì)比實(shí)驗(yàn),其中FID[12]用于衡量圖像的生成質(zhì)量,PPL[11]用于衡量模型隱空間的連續(xù)性,VP[5]用于衡量模型的解耦性能。可以看到,與SeFa[3]、InfoGAN[13]和Hessian Penalty[4]相比, OroJaR具有更高的VP指標(biāo),說(shuō)明其更有利于模型的解耦。同時(shí)OroJaR也具有更低的PPL指標(biāo),這是因?yàn)镺roJaR與StyleGAN2中提出的感知路徑正則項(xiàng)具有相似的約束,從而實(shí)現(xiàn)了更低PPL。
下表給出了OroJaR與對(duì)比方法在Dsprites上的VP指標(biāo)對(duì)比,可以看到論文提出的OroJaR取得了更高的結(jié)果,說(shuō)明了其在解耦上的優(yōu)越性。
5 結(jié)語(yǔ)
論文提出了一種用于生成模型解耦的正交雅可比正則化 (OroJaR) ,其通過(guò)約束不同輸入維度引起的輸出變化(即雅可比向量)之間的正交性成功實(shí)現(xiàn)了模型的解耦。此外,OroJaR 可以應(yīng)用于模型的多層,并以整體方式約束輸出,使其可以有效地解耦空間相關(guān)的變化。
參考文獻(xiàn)
[1] Irina Higgins, Loic Matthey, Arka Pal, Christopher Burgess, Xavier Glorot, Matthew Botvinick, Shakir Mohamed, and Alexander Lerchner. beta-vae: Learning basic visual concepts with a constrained variational framework. 2016.
[2] Hyunjik Kim and Andriy Mnih. Disentangling by factorising. In International Conference on Machine Learning, pages 2649–2658. PMLR, 2018.
[3] Yujun Shen and Bolei Zhou. Closed-form factorization of latent semantics in gans. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, 2021.
[4] William Peebles, John Peebles, Jun-Yan Zhu, Alexei A. Efros, and Antonio Torralba. The hessian penalty: A weak prior for unsupervised disentanglement. In Proceedings of the European Conference on Computer Vision, 2020
[5] Xinqi Zhu, Chang Xu, and Dacheng Tao. Learning disentangled representations with latent variation predictability. In Proceedings of the European Conference on Computer Vision, pages 684–700. Springer, 2020
[6] Andrew Brock, Jeff Donahue, and Karen Simonyan. Large scale gan training for high fidelity natural image synthesis. In International Conference on Learning Representations, 2018.
[7] Michael F Hutchinson. A stochastic estimator of the trace of the influence matrix for laplacian smoothing splines. Communications in Statistics-Simulation and Computation, 18(3):1059–1076, 1989.
[8] Clarence Hudson Richardson. An introduction to the calculus of finite differences. Van Nostrand, 1954.
[9] Aron Yu and Kristen Grauman. Fine-grained visual comparisons with local learning. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 192–199, 2014.
[10] Loic Matthey, Irina Higgins, Demis Hassabis, and Alexander Lerchner. dsprites:
Disentanglement testing sprites dataset. https://github.com/deepmind/dsprites-dataset/, 2017.
[11] Tero Karras, Samuli Laine, and Timo Aila. A style-based generator architecture for generative adversarial networks. In Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition, pages 4401–4410, 2019.
[12] Martin Heusel, Hubert Ramsauer, Thomas Unterthiner, Bernhard Nessler, and Sepp Hochreiter. Gans trained by a two time-scale update rule converge to a local nash equilibrium. In Advances in Neural Information Processing Systems, pages 6629–6640, 2017.
[13] Xi Chen, Yan Duan, Rein Houthooft, John Schulman, Ilya Sutskever, and Pieter Abbeel. Infogan: interpretable representation learning by information maximizing generative adversarial nets. In Advances in Neural Information Processing Systems, 2016.
總結(jié)
以上是生活随笔為你收集整理的“用于无监督图像生成解耦的正交雅可比正则化”论文解读的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: (pytorch-深度学习系列)ResN
- 下一篇: 为什么Java开发人员都带眼镜 | 程序