“用于无监督图像生成解耦的正交雅可比正则化”论文解读
Tikhonov regularization terms https://blog.csdn.net/jiejinquanil/article/details/50411617
本文是對博客https://baijiahao.baidu.com/s?id=1710942953471566583&wfr=spider&for=pc的重寫。
1 簡介
本文是對發表于計算機視覺和模式識別領域的頂級會議 ICCV 2021 的論文“ Orthogonal Jacobian Regularization for Unsupervised Disentanglement in Image Generation(用于無監督圖像生成解耦的正交雅可比正則化)”的解讀。
該論文由哈爾濱工業大學與好未來合作,針對圖像生成中無監督解耦問題,提出了一種正交雅可比正則化(Orthogonal Jacobian Regularization, OroJaR)用于學習解耦的生成模型。OroJaR 通過約束輸入各維在輸出引起的變化之間的正交特性來實現模型的解耦,并使用輸出對輸入的雅可比矩陣表示這種變化。與之前的方法相比,OroJaR 可以應用于模型的多層,并以整體方式對輸出進行約束,使得其可以更好的解耦空間相關的變化。
論文鏈接:https://arxiv.org/abs/2108.07668
代碼地址:https://github.com/csyxwei/OroJaR
2 研究背景
近年來,無監督解耦學習受到了廣泛的關注,不僅因為其對理解生成模型的重要性,也因為其對其他計算機視覺任務也有所幫助,如可控圖像生成、圖像編輯等。對于一個解耦的特征,其各維控制了輸出中不相關的變化,從給定的數據集中無監督學習到解耦的特征仍是當前人工智能領域的一個重要挑戰。
現有的無監督解耦方法主要基于兩種主流的生成模型:變分自編碼器(Variational Autoencoder, VAE)和生成式對抗網絡(Generative Adversarial Networks, GAN)?;?VAE 的方法如 -VAE [ 1 ] ,FactorVAE [ 2 ] 等主要通過約束隱變量之間的獨立性來實現解耦,但受限于 VAE,這些方法生成圖像的質量往往有限。隨著 GAN 在圖像生成領域取得的成功,許多基于 GAN 的無監督解耦方法被提出。SeFa [ 3 ] 通過對 pretrain 的 GAN 的第一層全連接層參數分解得到一系列解耦的隱空間方向向量。但 SeFa 只能作用于第一層且是后處理的方式,限制了其解耦性能。Hessian Penalty [ 4 ] 通過約束輸出對輸入的 Hessian 矩陣是對角的來實現解耦。但其使用 max 函數將約束從標量函數推廣到向量函數,獨立的約束輸出的各個值使得其不能很好的解耦一些空間相關的變化(如,形狀、大小、旋轉等)。
受上述方法的啟發,論文提出了一個用于無監督圖像生成解耦的正交雅可比正則化(OroJaR),用于更好的解耦生成模型。
3 方法介紹
3.1 正交雅可比正則化 ( OroJaR )
令G:X=G(z)G:X = G(\mathbf{z})G:X=G(z)是一個生成模型,其中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是網絡的輸出,xd=Gd(z)x_d = G_d(\mathbf{z})xd?=Gd?(z)進一步用于表示GGG的第ddd層的輸出。
論文基于一個非常直觀的想法:當改變輸入的其中一維時,其在輸出中引起的變化應該與其他維引起的變化獨立(不相關),即ziz_izi?和zjz_jzj?在輸出中引起的變化是獨立的。在論文中,作者使用雅可比向量?Gd?zi\frac{\partial G_d}{\partial z_i}?zi??Gd??表示輸入第iii維在輸出中引起的變化,同時為了實現解耦,作者約束輸入各維對應的雅可比向量相互正交,
[?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)
兩個向量的正交也意味著它們是不相關的,即輸入各維所引起的變化是獨立的??紤]所有輸入維度,作者提出了正交雅可比正則化(OroJaR),來幫助模型學習到解耦的特征:
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?對zzz輸入的雅可比矩陣,°\circ°表示逐元素乘積。I\mathbf{I}I 表示單位陣,1\mathbf{1}1表示全 1 的矩陣。OroJaR 以整體方式對輸出進行約束,而不是像 Hessian Penalty 一樣獨立的約束輸出的每一個元素,這使得 OroJaR 可以更好的解耦復雜的、空間相關的變化。
3.2 近似訓練加速
實際訓練時,公式 (2)中雅可比矩陣的計算是非常耗時的。為了加速運算,作者基于Hutchinson近似[4,7],將公式 (2)的計算重寫為,
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?表示方差計算。jdv\mathbf{j_dv}jd?v是GdG_dGd?沿著v\mathbf{v}v方向的一階導數乘上∣v∣|\mathbf{v}|∣v∣,其可以進一步使用一階差分近似[8]估計得到:
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中的應用
OroJaR可以通過兩種方式應用于GAN中,一種是在訓練GAN時用作正則項,一種是用于尋找pretrain的GAN中一些解耦的方向向量。
GAN訓練時,判別器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(?)是某一個具體的GAN Loss。將OroJaR引入GAN的訓練后,生成器的訓練Loss調整為:
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λ用于控制不同損失之間的權重。引入LJ(G)\mathcal{L}_J(G)LJ?(G)到GAN的訓練中可以幫模型學習到解耦的特征,從而實現可控的圖像生成。
OroJaR也可以用于發現pretrain的GAN的隱空間中可解釋的方向。具體地,作者引入一個可學習的正交矩陣A∈Rm×N\mathbf{A} \in \mathbb{R}^{m \times N}A∈Rm×N,其中NNN是要學習的正交方向的個數,mmm是隱空間維度。A\mathbf{A}A的每列存儲了要學習的正交方向。AAA的優化公式為:
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是一個one-hot的向量,用于索引A\mathbf{A}A的某一列,η\etaη是一個標量用于控制z\mathbf{z}z應該沿著該方向移動多遠。與公式 (7)不同的是,此時的OroJaR是對求的ωi\omega_iωi?而不是z\mathbf{z}z。求得A\mathbf{A}A之后,就可以通過G(z+ηAωi)G(\mathbf{z} + \eta \mathbf{A} \omega_i)G(z+ηAωi?)來對生成圖像進行可控的編輯。
4 實驗結果
論文使用了Edges+Shoes[9]、CLEVR[4]、Dsprites[10]等數據集對OroJaR進行了詳細的定性和定量實驗。
4.1 定性實驗
作者首先在Edges+Shoes上進行了實驗,該數據集是由5k張真實鞋子和5k張輪廓鞋子組成的真實數據集。從下圖中可以看到,雖然沒有其真實的變化因子,但SeFa[3]、Hessian Penalty[4]和OroJaR都學到了相同的變化,即鞋子的樣式和形狀,且論文提出的OroJaR具有更多樣的形狀變化。
下圖給出了論文提出的OroJaR與對比方法在CLEVR-Complex數據集上的定性對比,該數據集包含2個物體的5個變化因子(x軸、y軸位置、形狀、顏色、大小)??梢钥吹?#xff0c;SeFa[3]和Hessian Penalty[4]在改變一個物體的形狀或顏色時另一個物體也會隨之改變,而OroJaR可以獨立的控制左右物體的形狀和顏色,這說明OroJaR可以更好的解耦空間相關的變化。
下圖給出了OroJaR與對比方法在Dsprites數據集上的定性對比,該數據集是常用的解耦數據集,包含了1個物體的5個變化因子(x軸、y軸位置、形狀、角度、大小)。可以看到與SeFa[3]和GAN-VP[5]和Hessian Penalty[4]相比,OroJaR可以更好地解耦5個變化,同時成功抑制多余的維度(第6行)。
如上文中提到的,OroJaR同樣可以用于尋找pretrain的GAN的隱空間中一些有意義的方向向量,作者在ImageNet上pretrain的BigGAN[6]的Golden Retrievers和Churches兩個類上進行了實驗。實驗結果如下圖所示,可以看到,OroJaR可以成功找到一些有意義的控制,如旋轉,縮放,顏色等。
更多詳細的實驗結果請見論文。
4.2 定量實驗
下表給出了OroJaR在Edges+Shoes和CLEVR數據集上的定量對比實驗,其中FID[12]用于衡量圖像的生成質量,PPL[11]用于衡量模型隱空間的連續性,VP[5]用于衡量模型的解耦性能??梢钥吹?#xff0c;與SeFa[3]、InfoGAN[13]和Hessian Penalty[4]相比, OroJaR具有更高的VP指標,說明其更有利于模型的解耦。同時OroJaR也具有更低的PPL指標,這是因為OroJaR與StyleGAN2中提出的感知路徑正則項具有相似的約束,從而實現了更低PPL。
下表給出了OroJaR與對比方法在Dsprites上的VP指標對比,可以看到論文提出的OroJaR取得了更高的結果,說明了其在解耦上的優越性。
5 結語
論文提出了一種用于生成模型解耦的正交雅可比正則化 (OroJaR) ,其通過約束不同輸入維度引起的輸出變化(即雅可比向量)之間的正交性成功實現了模型的解耦。此外,OroJaR 可以應用于模型的多層,并以整體方式約束輸出,使其可以有效地解耦空間相關的變化。
參考文獻
[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.
總結
以上是生活随笔為你收集整理的“用于无监督图像生成解耦的正交雅可比正则化”论文解读的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: (pytorch-深度学习系列)ResN
- 下一篇: 为什么Java开发人员都带眼镜 | 程序