目標函數的優化
在第一篇我們了解到,原生的GAN采用零和博弈(zero-sum game)的策略,這會導致在訓練初期生成器的臨梯度消失(gradient vanishing),訓練停止。如果將零和博弈改為非飽和博弈,這雖然能夠解決梯度消失的問題,但會導致訓練不穩定(instable)。為了解決這兩個問題,許多研究者對目標函數的優化做了不同的嘗試。
上一篇中,我們已經了解到GAN的目標函數等價於JS散度(JS divergence),那我們下面就先從散度的角度重新認識一下GAN,然后再介紹對目標函數的優化策略。
f-GAN
f-GAN又稱為f-divergence GAN,其中f-divergence(f散度)是各類散度(divergences)的通稱,定義為:
\begin{equation} D_f{(p(x) \parallel q(x))} = \int{q(x) f(\frac{p(x)}{q(x)})} dx \label{2.1} \end{equation}
其中$p$和$q$都是連續密度函數,$f$是一個凸下半連續函數(凸下半連續函數例如$圖2.1$所示)。$f$滿足$f(1)=0$,這保證了當$p$等於$q$時,它們的散度$D_f$為·零。當$f(u)=u \log{u}$時,f-divergence為KL散度,而當$f(u) = -(u+1)\log{(1+u)/2}+u \log{u}$時,f散度為JS散度(如$表2.1$所示)。從上一篇的式$(5)$我們知道,原生的GAN的目標函數是JS散度的近似,所以原生的GAN實際上屬於f-GAN的特例
(表2.1、2.2,來自:f-GAN training generative neural samplers using variational divergence minimization,Nowozin)
(圖2.1,來自百度)
f-GAN的目標函數可以統一表示為:
\begin{equation} V(D,G) = E_{x \sim p_{data}} [D(x)] + E_{x \sim p_g} [f^* (D(x))] \label{2.2} \end{equation}
其中$D$和$G$分別為判別器和生成器,$f^*$為函數$f$的凸共軛函數(convex conjugate function)或者稱Frenchel conjugate,定義為:
\begin{equation} f^* (t) = \sup_{u \in dom_f}{ \lbrace ut - f(u) \rbrace } \nonumber \end{equation}
其中$\sup$表示上確界或最小上界(supremum),也就是集合${·}$中的所有值的上邊界,這個上邊界可能包含在集合${·}$中,也可能不在${·}$中。$\sup{ \lbrace x \in R,0<x<1 \rbrace}=1$就是上確界不包含於集合中的例子。$dom_f$為函數$f$的定義域,或者說$u$的取值范圍。不同散度對應的$dom_f$如$表2.2$中所示。
函數$f$之所以有Frenchel 共軛,是因為它是凸下半連續函數(在這里不做證明,有興趣可以自己找答案)。另外,$f^*$也是凸下半連續函數,且與$f$互為共軛,$f^{**}= f$。因此:
\begin{equation} f(u) = \sup_{t \in dom_{f^*}}{ \lbrace tu - f^* (t) \rbrace} \label{2.3} \end{equation}
將式$(\ref{2.3})$帶入$(\ref{2.1})$,得到f散度的下界(lower bound):
\begin{align} D_f (p(x) \parallel q(x)) &= \int{q(x) \sup_{t \in dom_{f^*}}{ \lbrace t \frac{p(x)}{q(x)} - f^* (t) \rbrace}} dx \nonumber \\ &\ge \sup_{t \in T}{ \lbrace \int{p(x)t(x)} dx - \int{q(x) f^* (t(x)) } dx \rbrace} \nonumber \\ &= \sup_{t \in T}{ \lbrace E_{x \sim p} [t(x)] - E_{x \sim q} [f^* (t(x))] \rbrace} \label{2.4} \end{align}
$(\ref{2.4})$是f散度的下界(小於等於$D_f$),原因是:1)根據Jensen’s不等式(Jensen’s inequality),在交換積分和求上確界的順序時,得到的值小於等於原值;2)函數集$T$可能只是所有可能函數的子集(subset),取不到最優函數。另外,當$p$被替換為$p_{data}$,$q$替換為$p_g$,並且令變分函數(variational function)$t$為$D$,我們就將$(\ref{2.4})$轉換為f-GAN的目標函數$(\ref{2.2})$。也就是說,f-GAN的目標函數是f散度的估計。根據論文$[2.1]$,最優的$D$為:
\begin{equation} D^* (x) = f^{\prime} (\frac{p(x)}{q(x)}) \nonumber \end{equation}
時,下界$(\ref{2.4})$越接近f散度,或者說f-GAN的目標函數越接近f散度(注意,$D^*$表示最優的$t$,而$f^*$表示$f$的共軛函數,$f^{\prime}$表示$f$的導數)。對於原生的GAN來說,$D^*$就是第一篇中推導出的$(4)$:
\begin{align} D^* (x) = \frac{p_{data} (x)}{p_{data} (x) + p_g (x)} = f^{\prime} (\frac{p_{data} (x)}{p_g (x)}) \nonumber \end{align}
因為f散度是f-GAN目標函數的上確界,最大化f-GAN的目標函數(優化判別器)是使目標函數接近f散度,最小化f-GAN的目標函數(優化生成器)實際上是減小f散度。當f散度趨近於0時,生成數據的分布趨近於真實數據。
WGAN
WGAN,又稱為Wasserstein GAN,是GAN的IPM(Integral Probability Metric)類的模型。IPM類的模型會用一個函數來衡量兩個分布的差異,在WGAN中,這個函數是EM距離(Earth-Mover distance/Wasserstein-1,推土機距離)。EM 距離的定義如下:
\begin{equation} W(p_{data},p_g) = \inf_{p_{\gamma} \in \prod{(p_{data} \;,p_g)}}{ \lbrace E_{(x,\hat{x}) \sim p_{\gamma}} [ \parallel x - \hat{x} \parallel] \rbrace} \label{2.5} \end{equation}
其中$\inf$是下確界或最大下界(infimum),與$\sup$相反。例如,對於不包含下確界的集合,$\inf{ \lbrace x \in R,0<x<1 \rbrace}=0$。$x$和$\hat{x}$的分布分別為$p_{data}$和$p_g$它們的聯合分布(joint distribution)為$p_{\gamma} (x,\hat{x})$,$\prod{(p_{data},p_g)}$是這些聯合分布的集合,也就是所有可能的聯合分布組成的集。當生成數據$\hat{x}$越接近真實數據$x$時,EM距離越小,而優化判別器則是使EM距離最大化。但是EM距離中的$\inf$的不能直接計算,因為我們不知道$p_{data}$和$p_g$,不能求出聯合分布$p_{\gamma}$。為了得到EM距離,我們需要對式子$(\ref{2.5})$做一些轉換。
利用Kantorovish-Rubistein對偶(duality),上面的式子可以轉換為:
\begin{equation} W(p_{data},p_g) = \sup_{{\parallel f \parallel}_L \leq 1}{ \lbrace E_{x \sim p_{data}} [f(x)] - E_{x \sim p_g} [f(x)] \rbrace} \label{2.6} \end{equation}
其中${\parallel f \parallel}_L \leq 1$表示函數$f$必須滿足1-Lipschitz約束。Lipschitz約束(constraint)的定義是:
\begin{equation} \parallel f(x_1) - f(x_2) \parallel \leq k \parallel x_1 - x_2 \parallel \nonumber \end{equation}
當$k=1$時,k-Lipschitz約束為1-Lipschitz。這一約束保證對於相鄰的兩點$x_1$和$x_2$,函數值$f$不會劇烈波動,或者說函數$f$對數據不會過度敏感。
對EM距離$(\ref{2.6})$做一些變化,我們就得到了WGAN的目標函數:
\begin{equation} \min_G{\max_f{V_W (f,G)}} = E_{x \sim p_{data}} [f(x)] - E_{z \sim p_z} [f(G(z))] \label{2.7} \end{equation}
式$(\ref{2.7})$中的$f$是critic。不同於執行二分類任務的判別器$D$,$f$可以是滿足1-Lipschitz約束的任意函數,它的輸出值沒有限制,所以可以認為它是一個回歸模型。當生成的數據$G(z)=x$時,$f(G(z))=f(x)$。
EM距離相對於JS散度和KL散度的優勢是,它對沒有重疊的兩個分布的差異也能夠進行衡量,或者說EM距離衡量的就是任意兩個分布的差異。這樣一個優勢,使得WGAN不會出現生成器梯度消失的問題。
基於JS散度的GAN之所以會遇到梯度消失的情況,可以認為是因為JS散度無法處理不重疊的兩個分布。根據在第一篇中推導得到的式子$(5)$,在判別器取到最優時,生成器的目標函數等價於JS散度:
\begin{align} \min_G{V(D^*,G)} &= 2 JS(p_{data} \parallel p_g) - \log{4} \nonumber \\ &= KL(p_{data} \parallel \frac{(p_{data} + p_g)}{2}) + KL(p_g \parallel \frac{(p_{data} + p_g)}{2}) - \log{4} \nonumber \\ &= \int{p_{data} (x) \log{\frac{2 p_{data} (x)}{p_{data}(x) + p_g(x)}}} dx + \int{p_g (x) \log{\frac{2 p_g (x)}{p_{data} (x) + p_g (x)}}} dx - \log{4} \label{2.8} \end{align}
其中$p_{data} (x)$和$p_g (x)$的取值有四種情況,分別是:
$p_{data} (x)=0$, $p_g (x) \neq 0$
$p_{data} (x) \neq 0$, $p_g (x)=0$
$p_{data} (x)=0$, $p_g (x)=0$
$p_{data} (x) \neq 0$, $p_g (x) \neq 0$
當$p_{data} (x)=0$時,生成器的目標函數$(\ref{2.8})$變成:
\begin{align} \min_G{V(D^*,G)} &= \int{p_g (x) \log{\frac{2 p_g (x)}{p_g (x)}}} dx - \log{4} \nonumber \\ &= \int{p_g (x) \log{2}} dx - \log{4} \label{2.9} \end{align}
當$p_g (x)=0$時, $(\ref{2.8})$變成,而常數的導數為0:
\begin{equation} \min_G{V(D^*,G)} = \int{p_{data} (x) \log{2}} dx - \log{4} \label{2.10} \end{equation}
當$p_{data} (x)$和$p_g (x)$都為零時:
\begin{equation} \min_G{V(D^*,G)} = - \log{4} \label{2.11} \end{equation}
$(\ref{2.9})$、$(\ref{2.10})$和$(\ref{2.11})$都是常數,而常數的導數為0,此時生成器$G$停止優化。
當$p_{data} (x)$和$p_g (x)$都不為0時,也就是說數據$x$同時存在於$p_{data} (x)$和$p_g (x)$,$p_{data} (x)$和$p_g (x)$出現重疊。但是在訓練初期,這種情況的概率很低,就像二維平面中的兩條線,它們重疊的部分很小,甚至沒有重疊。所以基於JS散度的GAN在訓練初期,很容易出現梯度消失。
除了避免梯度消失外,WGAN的訓練也很穩定,不會發生模式坍塌(mode collapse),因為EM距離就是在衡量兩個分布的差異,訓練生成器就是使EM距離變小,不存在同時變大又變小的情況。
參數約束
WGAN的目標函數中的函數$f$可以通過神經網絡模型來估計。假設模型的每一層的激活函數(activation function)的輸出為$a(Wx+b)$,其中$a(·)$為激活函數,$W$和$b$為模型參數,使這一層滿足Lipschtz約束(Lipschitz constraint):
\begin{equation} \parallel a(x_1) - a(x_2) \parallel \leq k \parallel x_1 - x_2 \parallel \nonumber \end{equation}
根據泰勒展式:近似$a(x_1) - a(x_2)$:
\begin{align} &f(x_0 + \Delta x) = f(x_0) + \Delta x f^{\prime} (x_0) + \dotsb \nonumber \\[6pt] &f(x_0 + \Delta x) - f(x_0) \approx \Delta x f^{\prime} (x_0) \nonumber \end{align}
其中$f^{\prime}$為$f$的一階導,$\Delta x = \parallel x_1 - x_2 \parallel$,$\parallel · \parallel$為求絕對值,將$f$替換為$a$,得到:
\begin{align} &a(x_1) - a(x_2) \approx \parallel x_1 - x_2 \parallel a^{\prime} (x_1) = \frac{∂a}{∂x} W \parallel x_1 - x_2 \parallel \nonumber \\[6pt] &\parallel \frac{∂a}{∂x} W(x_1 - x_2) \parallel \leq k \parallel x_1 - x_2 \parallel \label{2.12} \end{align}
根據$(\ref{2.12})$,要使$k$盡可能小,需要$\frac{∂a}{∂x}$和$W$的絕對值盡可能小。因為在神經網絡中,激活函數a的導數的絕對值基本上都小於或等於1(例如ReLU在$Wx+b>0$時導數都為1)。假設激活函數的導數為1,那么要使這一層滿足1-Lipschitz約束,只需要約束參數$W$:
\begin{equation} \parallel W(x_1 - x_2) \parallel \leq k \parallel x_1 - x_2 \parallel \label{2.13} \end{equation}
參數裁剪
為了使f對數據點x滿足1-Lipschitz約束,WGAN$[2.2]$的作者采用參數裁剪(weight clipping)的方法來約束參數的范圍。參數裁剪方法是設置閾值$c$,使f的參數落在區間$[-c,c]$的方法。雖然這種方法能夠約束$f$,但用這種方法訓練出來的模型過於簡單,能力較差。另外,論文$[2.3]$中的實驗顯示,采用參數裁剪的方法,模型的訓練比較耗時。
除裁剪之外,其他對參數進行約束的方法有:參數歸一化(weight normalization)、譜歸一化(spectral normalization)等。
參數歸一化
參數歸一化的方法是受到批歸一化(Batch Normalization,BN)的啟發而設計的。批歸一化方法對神經網絡每一層的輸入做歸一化,使$\bar{x}=(x-\mu)/ \sigma$——這里$\mu$是某一批(minibatch)數據$x$的均值,而$\sigma$是它們的標准差。參數歸一化是采用重參數技巧(reparameterization trick),將$W$用新的參數$V$和$g$替換:
\begin{equation} W = g \frac{V}{\parallel V \parallel} \nonumber \end{equation}
其中$V$和$W$一樣都是參數矩陣。在這里我們所做的參數歸一化是將W替換為$\bar{W}$:
\begin{align} &\bar{W} = \frac{W}{{\parallel W \parallel}_F} \label{2.14} \\[6pt] &{\parallel W \parallel}_F = \sqrt{ \sum_{i,j}{w_{i,j}^2}} \nonumber \end{align}
從$(\ref{2.14})$可以發現,參數歸一化等價於Frobenius歸一化,其中${\parallel W \parallel}_F$為Frobenius范數(Frobenius norm)。
如果不是用歸一化的方式,而是用正則化(regularization)的方式來約束參數的話,那么目標函數則是:
\begin{align} V_{new}{(D,G)} &= V(D,G) + \lambda {\parallel W \parallel}_F \nonumber \\ &= V(D,G) + \lambda {\parallel W \parallel}_2 \nonumber \end{align}
這相對於L2正則化。所以L2正則化實際上是使模型的參數對數據的敏感度降低,使模型泛化能力更強。另外,正則化相比歸一化,它不需要對每個參數進行重新計算。
譜歸一化
譜范數(spectral norm)的定義是:
\begin{align} {\parallel W \parallel}_s = \max_{x \neq 0}{\frac{{\parallel Wx \parallel}_2}{{\parallel x \parallel}_2}} = \max_{{\parallel x \parallel}_2 \leq 1}{{\parallel Wx \parallel}_x} \label{2.15} \end{align}
${\parallel W \parallel}_s$等於矩陣$W$的最大特征值(maximum singular value),它可以通過冪迭代(power iteration)的方式計算出來。
對$(\ref{2.15})$做一些調整:
\begin{equation} {\parallel Wx \parallel}_2 \leq {\parallel W \parallel}_s \cdot {\parallel x \parallel}_2 \nonumber\end{equation}
如果將$x$替換為$(x_1 - x_2)$:
\begin{equation} {\parallel W(x_1 - x_2) \parallel}_2 \leq {\parallel W \parallel}_s \cdot {\parallel x_1 - x_2 \parallel}_2 \label{2.16} \end{equation}
結合$(\ref{2.13})$和$(\ref{2.16})$,發現譜范數能更准確地反映Lipschitz約束中的$k$。如果將參數矩陣$W$除以譜范數${\parallel W \parallel}_s$,就可以使$k$等於1。這就是譜歸一化,參數歸一化得到的是它的上界(upper bound):
\begin{align} &W_{SN} = \frac{W}{{\parallel W \parallel}_s} \nonumber \\[6pt] &{\parallel W_{SN} \parallel}_s = 1 \nonumber \end{align}
對於多層網絡結構:
\begin{align} {\parallel f \parallel}_L &\leq {\parallel a^l \parallel}_L \cdot {\parallel W^l h^l + b^l \parallel}_L \cdot {\parallel a^{l-1} \parallel}_L \cdot {\parallel W^{l-1} h^{l-1} + b^{l-1} \parallel}_L \cdot \dotsb \cdot {\parallel a^1 \parallel}_L \cdot {\parallel W^1 h^1 + b^1 \parallel}_L \nonumber \\ &= \prod_l{{\parallel W^1 h^1 + b^1 \parallel}_L} = \prod_l{{\parallel W^l \parallel}_s} \nonumber \end{align}
只要通過譜歸一化,用${\parallel W_{SN} \parallel}_s=1$替換每一層的${\parallel W^l \parallel}_s$,就可以使整個模型${\parallel f \parallel}_L \leq 1$。
如果用正則化代替歸一化,那就是譜正則化(spectral norm regularization)。它就是將參數的譜范數作為正則化項加入目標函數,約束參數的范圍。
梯度約束
除了對參數進行約束,還可以直接對梯度進行約束,因為1-Lipschitz約束為:
\begin{equation} \frac{\parallel f(x) - f(y) \parallel}{\parallel x - y \parallel} \leq 1 \nonumber \end{equation}
對梯度進行約束的方法有WGAN-GP模型,其中GP代表梯度懲罰(Gradient Penalty)。在梯度懲罰中,為了使梯度趨向於1,將梯度設置成正則項,將其添加到WGAN的目標函數后面:
\begin{equation} V_W{(D,G)} = E_{x \sim p_{data}} [f(x)] - E_{z \sim p_z} [f(G(z))] + \lambda E_{\check{x} \sim p(\check{x})} [({\parallel f^{\prime} (\check{x}) \parallel}_2 - 1)^2] \nonumber \end{equation}
其中右邊前兩項為WGAN的目標函數,第三項為正則項,超參數$lambda$控制懲罰對目標函數的影響。$f^{\prime}$是函數$f$的梯度/一階導。$\check{x}$通過采樣得到:
\begin{equation} \check{x} = \epsilon \hat{x} + (1- \epsilon) x \nonumber \end{equation}
其中$\hat{x}$為生成的數據,$x$為真實數據,$\epsilon$是[0, 1]區間內的隨機數。
根據論文$[2.4]$的作者分析,梯度懲罰有兩個缺點:1)$f^{\prime} (G(z))$依賴於生成模型生成的數據的分布,而這一分布在訓練時不斷地變化,這會導致訓練不穩定,這一現象在學習率較大時比較明顯;2)求導$f^{\prime}$要參與前向傳播(forward propagation)和后向傳播(backword propagation),因而計算量較大。
LS-GAN
LS-GAN又稱loss sensitive GAN,和WGAN一樣,也是基於Lipschitz約束的GAN模型。事實上,WGAN可以被認為是LS-GAN的一種特例。
LS-GAN中的loss是一個函數,或者loss模型,和判別器或者WGAN中的critic類似。Loss函數的工作是給真實數據一個較低的評分(loss),給生成的數據較高的loss值。另外,loss函數要滿足下面的約束:
\begin{equation} L_{\theta} (x) \leq L_{\theta} (G(z)) - \Delta (x,G(z)) \label{2.17} \end{equation}
其中$L_{\theta}$是以$\theta$為參數的loss函數,$G$是生成器,$z$是噪音變量,與原生的GAN中的$z$相同。這個約束其實就是1-Lipschitz約束。
因為上面的約束過於嚴苛,所以LS-GAN中引入了非負的松弛變量${\xi}_{x,z}$。這樣,帶約束的目標函數變成:
\begin{align} &V_{LS} {(L,G)} = E_{x \sim p_{data}} [L(x)] + \lambda E_{x \sim p_{data} \; ,z \sim p_z} [{\xi}_{x,z}] \label{2.18} \\[6pt] &L(x) - {\xi}_{x,z} \leq L(G(z)) - \Delta(x,G(z)) \nonumber \\[6pt] &{\xi}_{x,z} \ge 0 \nonumber \end{align}
最小化$(\ref{2.18})$等號右邊第一項等於使真實數據得到較小的loss值,因為${\xi}_{x,z}$可以衡量生成的數據使得違反約束$(\ref{2.17})$的程度,所以最小化等號右邊第二項等於使生成的數據盡可能滿足1-Lipschitz約束。把$(\ref{2.18})$中所有的約束帶$(\ref{2.18})$中的目標函數,得到:
\begin{equation} V_{LS} {(L,G)} = E_{x \sim p_{data}} [L(x)] + \lambda E_{x \sim p_{data} \; ,z \sim p_z} [\max{(0,L(x) - L(G(z)) + \Delta(x,G(z)))}] \label{2.19} \end{equation}
$\max{(0,·)}$是一個鉸鏈損失函數(hinge loss)。
對於最優loss模型$L^*$,生成器$G$的目標是使生成的數據的loss值也和真實數據一樣小,它的目標函數是:
\begin{equation} \min_G{E_{z \sim p_z} [L^* (G(z))]} \nonumber \end{equation}
因為不知道具體的$p_{data}$和$p_g$,所以上面的目標函數要通過采樣估計:
\begin{gather} V_{LS} {(L,G^* )} = \frac{1}{m} \sum_i^m{L(x_i )} + \frac{λ}{m} \sum_i^m{\max{(0,L(x_i) - L(G^* (z_i)) + \Delta(x_i,G^* (z_i)))}} \nonumber \\[6pt] \min_{\phi}{\frac{1}{n} \sum_i^n{L^* (G(z_i))}} \nonumber \end{gather}
對此LS-GAN$[2.5]$的作者分析了需要多少數據才能使估計值接近目標函數真實值。分析結果顯示,所需的數據量與模型的復雜度以及Lipschitz常數k有關。因此,論文作者建議通過梯度懲罰,使loss模型$L$和生成器$G$的k-Lipschitz的$k$盡可能小。
另外,論文[2.5]作者還論證了LS-GAN和WGAN都屬於GLS-GAN的特例,而GLS-GAN是LS-GAN的泛化版本。如果將LS-GAN的目標函數(2.19)中的將$\max{(0,a)}$替換為一個函數$C(a,υa)$,也就是使目標函數變為:
\begin{equation} V_{LS} {(L,G)} = E_{x \sim p_{data}} [L(x)] + \lambda E_{x \sim p_{data} \; ,z \sim p_z} [C(0,L(x) - L(G(z)) + \Delta(x,G(z)))] \nonumber \end{equation}
當$υ=0$時,$C(a,υa)=\max{(0,a)}$,而當$υ=1$時,GLS-GAN等價於WGAN:
\begin{align} V_{LS} {(L,G)} &= E_{x \sim p_{data}} [L(x)] + \lambda E_{x \sim p_{data} \; ,z \sim p_z} [L(x) - L(G(z)) + \Delta(x,G(z))] \nonumber \\[6pt] &= (1+ λ) E_{x \sim p_{data}} [L(x)] - \lambda E_{z \sim p_z} [L(G(z))] + \lambda E_{x \sim p_{data} \; ,z \sim p_z} [\Delta(x,G(z))] \label{2.20} \end{align}
其中等號右邊第三項是常數,省略掉后就得到了WGAN的目標函數:
\begin{align} V_{LS}{(L,G)} &= (1+ λ) E_{x \sim p_{data}} [L(x)] - \lambda E_{z \sim p_z} [L(G(z))] \nonumber \\[6pt] &= E_{x \sim p_{data}} [L(x)] - E_{z \sim p_z} [L(G(z))] \nonumber \end{align}
其中$\lambda$是一個遠大於1的值($1+ \lambda \approx \lambda$),而且因為它在等號右邊的兩項中都出現,所以可以將其放入$L$中。
未完待續~
[2.1] X. Nguyen, M. Wainwright, M. Jordan, (2008). “Estimating Divergence Functionals and the Likelihood Ratio by Convex Risk Minimization”.
[2.2] M. Arjovsky, S. Chintala, and L. Bottou, (2017). “Wasserstein generative adversarial networks”.
[2.3] A. Radford, L. Metz, and S. Chintala, (2015). “Unsupervised representation learning with deep convolutional generative adversarial networks”.
[2.4] T. Miyato, T. Kataoka, M. Koyama, and Y. Yoshida, (2018). “Spectral normalization for generative adversarial networks”.
[2.5] G.-J. Qi, (2019). “Loss-sensitive generative adversarial networks on lipschitz densities”.
小提示1:本篇部分內容基於個人理解,僅供參考,如有錯誤(非常)歡迎指出。另外,如果有看不明白的不好理解的地方,也歡迎告知作者。
小提示2:轉載請注明出處。