[ICLR2018]啟用最大化生成對抗網路
Contact me:
Blog :
https://
cugtyt。github。io/blog/i
ndex
Email: cugtyt#
http://
qq。com
由於公式顯示的原因,建議看上面原文
ACTIVATION MAXIMIZATION GENERATIVE ADVERSARIAL NETS
ABSTRACT
實驗已經證明類別標籤可用於改善生成對抗網路(GAN)的樣本質量。在本文中,我們在數學上研究了當前使用類別標籤資訊的GAN變種。透過類別感知梯度和交叉熵分解,我們揭示了類別標籤和相關損失如何影響GAN的訓練。基於此,我們提出啟用最大化生成對抗網路(AM-GAN)作為解決方案。我們已經進行了綜合實驗來驗證我們的分析並評估我們的方案的有效性,其中AM-GAN優於其他基準,並在CIFAR-10上獲得最好的IS分數(8。91)。此外,我們證明使用Inception ImageNet分類器,Inception Score主要跟蹤生成器的多樣性,但是沒有可靠的證據表明它可以反映真實的樣本質量。因此我們提出了一種稱為AM Score的新指標,以提供更準確的樣本質量估算,我們提出的模型也優於新指標中的基準方法。
1 INTRODUCTION
生成對抗網路(GAN)作為一種學習生成模型的新方法,最近在各種任務中表現出了很好的結果,例如逼真的影象生成,影象處理和文字生成。儘管取得了巨大成功,但當前GAN模型在對具有高可變性的資料集進行訓練時,即使對於具有低解析度的影象生成(例如CIFAR-10),仍然難以產生令人信服的樣本。同時人們憑經驗發現,利用類別標籤可以顯著提高樣本質量。
有三種典型使用標籤資訊的GAN模型:CatGAN將判別器作為多類分類器; LabelGAN將判別器擴充套件為生成樣本的一個額外類別; AC-GAN聯合訓練了真假判別器和特定真實類別的輔助分類器。透過考慮類標籤,這些GAN模型顯示出更好的生成質量和穩定性,然而他們背後的機制尚未得到充分探索。
在本文中,我們在考慮類標籤的情況下用數學方式來研究GAN模型。我們推匯出LabelGAN的生成器損失對於類別logits的梯度,稱為類別感知梯度,並進一步展示了該梯度引導每個生成的樣本成為特定類別之一。此外我們展示了AC-GAN可以被視為具有分層類別判別器的GAN模型。基於一些分析,我們揭示了先前方法中的一些潛在問題,並提出瞭解決這些問題的新方法。
具體來說,我們認為顯式目標類別的模型將為生成器提供比隱式目標類別模型更清晰的梯度指導。與AC-GAN相比,我們表明透過替換判別器中的真實類別logit來引入特定的類別logit比簡單地訓練輔助分類器更好。我們認為,在AC-GAN中的輔助分類器缺少對抗訓練,這使模型更容易出現模式崩潰併產生低質量樣本。我們還透過實驗發現,預定義標籤往往會導致類內模式崩潰,並對應地提出動態標籤作為解決方案。提出的模型被稱為啟用最大化生成對抗網路(AM-GAN)。我們透過一系列對照實驗來研究AM-GAN的有效性,結果與我們的分析一致。注意到,AM-GAN在CIFAR-10上達到了最好的IS分數(8。91)。
此外,透過實驗我們發現常用的指標需要進一步研究。在我們的論文中,我們對廣泛使用的評估指標IS及其擴充套件指標進行了進一步研究。我們展示了,在Inception模型中,IS分數主要跟蹤生成器的多樣性,但沒有可靠的證據表明它可以測量真實的樣本質量。因此,我們提出了一個名為AM Score的新指標,以提供更準確的樣本質量評估。就AM分數而言,我們提出的方法也優於其他基準方法。
2 PRELIMINARIES
GAN的損失函式為:
其中
D
是二元分類器,
Dr
(
x
)是樣本來自真實資料的機率。
2。1 LABEL GAN
GAN已經被推廣到多類別的情況,每個樣本
x
對應於一個標籤
y
∈1,…,
K
,
K
+1,其中
K
+1
是生成樣本的標籤。損失函式定義為:
其中
Di
(
x
)是
x
屬於類
i
的機率。損失可以寫作交叉熵的形式,便於我們的分析:
其中
D
(
x
)=[
D
1(
x
),
D
2(
x
),…,
DK
+1(
x
)],
v
(
y
)=[
v
1(
y
),…,
vK
+1(
y
)],
vi
(
y
)=0
if i
≠
y and vi
(
y
)=1
if i
=
y
,
H
是交叉熵,定義為:
,我們把上述模型記作LabelGAN。
2。2 AC-GAN*
AC-GAN在GAN的基礎上引入了額外的分類器
C
來分類真實類別。核心思想沒變,我們可以如下定義AC-GAN的變種AC-GAN*:
其中
Dr
(
x
)和
Df
(
x
)=1−
Dr
(
x
)是二元判別器的輸出,與原始GAN相同,
u
(⋅)是向量化運算子,類似於
v
(⋅)但定義在
K
類上,
C
(
x
)是輔助分類器給出的K類機率分佈。
在AC-GAN中,每個樣本具有對應的目標類
y
,並且輔助分類器上的損失被新增到生成器中以利用類別標籤資訊。以上公式是原始AC-GAN的修改版本。具體地,我們省略輔助分類器損失E(
x
,
y
)∼
G
[
H
(
u
(
y
),
C
(
x
))],其鼓勵輔助分類器
C
將偽樣本
x
分類為其目標類
y
。第5。3節提供了進一步的討論。請注意,我們依舊採用了生成器中的−
log
(
Dr
(
x
))損失。
3 CLASS-AWARE GRADIENT
在本節中,我們介紹類別感知梯度,即生成器損失關於判別器類別的梯度。透過分析LabelGAN的類別感知梯度,我們發現梯度傾向於將每個樣本細化為其中一個類,這有助於闡明類別標籤資訊如何幫助生成器提高生成質量。在深入研究細節之前,我們首先介紹以下關於交叉熵損失的梯度特性的引理,以使我們的分析更加清晰。
引理1
l
為logits向量且
σ
為softmax函式時,令
σ
(
l
)為當前softmax機率分佈,
p
^表示目標機率分佈,則
對於一個生成的樣本
x
,LabelGAN的損失是
。根據引理1,對於
logits
向量l(x)
L
1ab
G
(
x
)對於logits向量
l
(
x
)為:
基於以上公式,
L
lab
G
(
x
)關於
x
的梯度為:
其中
從公式中,我們發現整體對於生成樣本
x
的梯度是1−
Dr
(
x
),其與原始GAN中的相同。並且根據其當前機率比
Dk
(
x
)
Dr
(
x
)將真實類別上的梯度進一步分配給每個特定類別logit
lk
(
x
)。
因此,梯度自然地考慮到了標籤資訊:對於生成的樣本,某個較高類的機率將導致向增加相應類置信度的方向走更大步驟。因此判別器對於每個樣本的梯度傾向於將其細化為機率意義上的某一類。
也就是說,LabelGAN中的每個樣本都被最佳化為真正的類別之一,而不是簡單地像普通GAN那樣只求真實。因此,我們將LabelGAN視為隱式目標類別模型。將每個生成的樣本最佳化到特定類別之一將有助於提高樣本質量。有研究表明,GAN用獨立的類別訓練會有更好的結果。而AC-GAN引入了額外的損失,迫使每個樣本屬於某一個類別並得到了更好的結果。
4 THE PROPOSED METHOD
在LabelGAN中,生成器從判別器中的K個特定類別logit獲得其梯度,並傾向於將每個樣本細化為其中一個類。但是,LabelGAN實際上遇到了重疊梯度問題:同時激勵了所有實際類別的logits。雖然在訓練期間驅使每個樣本成為類別中的一個,但是每個樣本的梯度是對多個標籤預測器的加權平均。如圖1所示,這個平均梯度的結果導致根本不是所需要的類別。
在多類別設定中,每個有效樣本應僅由判別器以最高置信度分類為一個類。解決上述問題的一種方法是明確地為每個生成的樣本分配一個特定的類作為其目標。
4。1 AM-GAN
把每個樣本賦予特定的目標類
y
,改進版LabelGAN的損失函式為:
其中
v
(
y
)和前面的定義一樣,具有上述公式的模型在文中被稱為啟用最大化生成對抗網(AM-GAN)。AM-GAN和LabelGAN之間的唯一區別在於生成器的損失函式。AM-GAN中的每個樣本都有一個特定的目標類,它解決了重疊梯度問題。AC-GAN也為每個樣本分配了一個特定的目標類別,但我們將展示AM-GAN和AC-GAN有很大不同。
4。2 LABELGAN + AUXILIARY CLASSIFIER
LabelGAN和AM-GAN都是有
K
+1類的GAN模型。我們引入了交叉熵分解引理來描述兩類和
K
類模型的聯絡。
引理2
給定
,我們有:
根據引理2,AM-GAN的生成器損失函式可以如下分解:
式(17)第二項等價於LabelGAN的生成器損失函式:
類似的分析可以用於第一項和判別器。注意
vr
(
x
)等於1。有趣的是,我們發現透過分解AM-GAN損失函式,AM-GAN可以看作是LabelGAN和輔助分類器的組合。從分解的角度來看不同於AM-GAN的是,AC-GAN是原始GAN和輔助分類器的組合。
公式中的輔助分類器損失(17)也可以看作是CatGAN中生成器損失的交叉熵版本:CatGAN的生成器直接最佳化熵
H
(
R
(
D
(
x
))),使每個樣本具有較高置信度為某一類,但是AM-GAN透過分解損失
H
(
R
(
v
(
x
)),
R
(
D
(
x
)))的第一項以交叉熵與給定目標分佈實現了這一點。也就是說,AM-GAN是CatGAN和LabelGAN的交叉熵版本的組合。
4。3 NON-HIERARCHICAL MODEL
由引理2,我們也可以把AC-GAN*改寫為
K
+1類的模型。把生成器損失作為例子:
在
K
+1模型中,
K
+1類分佈表示為[
Dr
(
x
)⋅
C
(
x
),
Df
(
x
)]。 考慮到利用類別標籤的輔助資訊,AC-GAN引入了輔助分類器,結果表明AC-GAN*的表達可以看作是一個分層的K + 1類模型,由一個兩類判別器和一個K類輔助分類器,如圖2所示。相反的是,AM-GAN是一種非分層模型。所有
K
+1類都與AM-GAN中的判別器保持同一級別。
在分層模型AC-GAN*中,對抗訓練僅在真假二分類下進行,而在輔助分類器中並沒有。對抗性訓練是全域性收斂理論
p
G=
p
data保證的關鍵。以原始GAN公式為例,如果生成的樣本坍塌到某一點
x
,即
p
G(
x
)>
p
data(
x
),那麼必須存在另一個點
x
′使得
p
G(
x
′)<
p
data(
x
′)。給定最優
D
(
x
)=
p
data(
x
)
p
G(
x
)+
p
data(
x
),坍塌點
x
將得到相對較低的分數。並且由於存在更高的得分點(例如
x
′),理論上最大化生成器的期望得分具有從模式崩潰狀態恢復的能力。在實踐中,
p
G和
p
data通常是不相交的,然而行為卻保持一直:當樣本崩潰到某一點時,他們更有可能從對抗性網路獲得相對較低的分數。
如果沒有輔助分類器中的對抗訓練,模式崩潰的生成器將不會從輔助分類器損失中獲得任何懲罰。在我們的實驗中,我們發現AC-GAN更容易出現模式崩潰,並且根據經驗發現,減少輔助分類器損失的重量(例如Gulrajani等人使用的0。1)將有所幫助。
5 EXTENSIONS
5。1 DYNAMIC LABELING
在上一節中,我們簡單地假設每個生成的樣本都有一個目標類。一種可能的解決方案是像AC-GAN那樣,為每個樣本預定義一個類標籤,這實質上導致了條件GAN。實際上,我們可以根據判別器估計的當前機率為每個樣本分配一個目標類。自然的選擇是當前具有最大機率的類別:
y
(
x
)≜argmax
i
∈1,…,
KDi
(
x
)。我們將此命名為動態標籤。
根據我們的實驗,動態標記為AM-GAN帶來了重要的提升,並且適用於需要對每個生成樣本設定目標類別的其他模型,例如AC-GAN,這可以作為預定義標籤的替代品。
我們透過實驗發現,具有預定義標籤的GAN模型往往會遇到類內模式崩潰。此外,透過動態標記,GAN模型仍然從純隨機噪聲產生,這具有潛在的益處,例如在潛在空間的類中進行平滑插值是可行的。
5。2 THE ACTIVATION MAXIMIZATION VIEW
啟用最大化通常應用於對預訓練神經網路的神經元視覺化。GAN訓練可視為對抗啟用最大化過程。具體而言,訓練生成器在表示目標類對數機率的神經元對每個生成的樣本執行啟用最大化,同時訓練判別器以區分生成的樣本並防止它們得到更高的啟用。
值得一提的是,最大化一個神經元啟用的樣本不一定具有高質量,人們也引入各種先驗來對抗這種現象。在GAN中,GAN訓練的對抗過程可以檢測到不切實際的樣本,從而確保來自於高質量樣本,這也會強烈的迷惑判別器。因此我們將模型命名為啟用最大化生成對抗網路(AM-GAN)
5。3 AC-GAN∗+
在實驗上我們發現AC-GAN容易出現模式崩潰,降低生成器損失函式中輔助分類器項的權重將有所幫助。在4。3節中,我們將模式崩潰歸因於輔助分類器中對抗訓練的缺失。從對抗啟用最大化的觀點來看:如果沒有對抗性訓練,輔助分類器損失在某一類上進行高度啟用並不能保證樣本質量。
也就是說,在AC-GAN中,原始GAN損失起到確保樣本質量和避免模式崩潰的作用。在這裡,我們為AC-GAN*中的輔助分類器引入額外的損失,以強制進行對抗訓練,並透過實驗發現它能改善效能
其中
u
(⋅)代表均勻分佈,其思想與CatGAN相同。
回想一下,我們在AC-GAN*中省略了輔助分類器損失E(
x
,
y
)∼
G
[
H
(
u
(
y
)]。根據我們的實驗,E(
x
,
y
)∼
G
[
H
(
u
(
y
)]確實提高了AC-GAN *的穩定性並使其不太容易模式崩潰,但它也導致更差的IS分數。我們對這種現象的理解是:透過鼓勵輔助分類器將假樣本分類到目標類,它實際上降低了輔助分類器向實際類別提供梯度指導的能力,以及因此也減輕了GAN損失和輔助分類器損失之間的衝突。
6 EVALUATION METRICS
生成模型的一個難點是評估方法。在本節中,我們對廣泛使用的評估指標IS分數和其他相關指標進行了數學和實證分析。我們將證明IS分數主要用作多樣性度量,我們提出AM分數作為IS分數的補充來估算生成的樣本質量。
6。1 INCEPTION SCORE
作為最近提出的評估生成模型效能的度量標準,已發現IS分數與人類評估密切相關,其引入了在ImageNet上預先訓練的公開可用的Inception模型
C
。透過將Inception模型應用於每個生成的樣本
x
並獲得相應的類機率分佈
C
(
x
),得到IS分數:
透過其中E
x
是
的縮寫,
是生成的樣本在各類上的總體機率分佈,這由
C
判斷得出,KL表示Kullback-Leibler散度。
可以分為兩個熵:
6。2 THE PROPERTIES OF INCEPTION MODEL
對初始分數如何工作的共識在於,第一項
的高分表明生成的樣本具有高度多樣性(整體類機率分佈均勻分佈),第二項
的高分表示每個單獨的樣本具有高質量(每個生成樣本的類別機率分佈是尖銳的,即它可以被分類為具有一個高置信度的類別)。
但是以CIFAR-10為例,資料並非均勻分佈在ImageNet上訓練的Inception模型的類中,如圖4a所示。從分解得分的角度來看,這使得IS分數有一定的問題。例如,人們會問更高
是否表示更好的模式覆蓋以及更小的
是否表示更好的樣本質量。
我們透過實驗發現,如圖3b所示,
的值通常在訓練過程中下降,但我們期望它會增加。當我們深入研究訓練資料中每個特定樣本的
H
(
C
(
x
))的細節時,我們發現
H
(
C
(
x
))得分的值也是變數,如圖4b所示,這意味著即使在實際資料中,它仍然強烈偏好某些部分樣本。IS分數中的exp運算元和
H
(
C
(
x
))值的大方差加劇了這種現象。我們還觀察到圖4b中類級別的偏好,例如卡車的
=2。14,而鳥類的
=3。80。
看來,對於ImageNet分類器,IS分數的兩個指標都無法正確工作。接下來我們將展示Inception Score實際上是一種多樣性測量。
6。3 INCEPTION SCORE AS A DIVERSITY MEASUREMENT
由於兩個單獨的指標是強相關的,這裡我們回到初始得分的原始公式
。在這種形式中,我們可以將IS分數解釋為它要求每個樣本的分佈
C
(
x
)與生成器的整體分佈
高度不同,這表明生成的樣本具有良好的多樣性。
根據實驗觀察,模式崩潰的生成器通常獲得較低的IS分數。在極端的情況下,假設所有生成的樣本都崩潰到一個點,
C
(
x
)=
CG
,我們將獲得最小的IS分數1。0,這是exp0結果。為了在更復雜的情況下模擬模式崩潰,我們設計實驗如下:給出N點集合
,每個點
xi
採用分佈
C
(
xi
)=
v
(
i
)並表示類i,其中
v
(
i
)是長度為N的向量化運算元,如2。1節的定義,我們隨機地刪除
m
個點,評估
並繪製曲線。如圖5所示,當
N
−
m
增加時,
的值一般單調增加,這意味著它可以很好地捕獲模式丟失和生成分佈的多樣性。
剩下的一個問題是良好的模式覆蓋和樣本多樣性是否意味著高質量的生成樣本。從以上分析,我們沒有找到任何證據。一個可能的解釋是在實踐中樣本多樣性通常與樣本質量密切相關。
6。4 AM SCORE WITH ACCORDINGLY PRETRAINED CLASSIFIER
注意到如果每個點
xi
具有多個變體,例如
x
1
i
,
x
2
i
,
x
3
i
,其中存在一種情況,
x
2
i
和
x
3
i
缺失且僅生成
x
1
i
,
得分並不能檢測到。這意味著使用相應預訓練的分類器,
得分無法檢測到類內級別模式崩潰。這也解釋了為什麼ImageNet上的Inception Network可能是CIFAR-10的一個很好的候選者
C
。探索最優
C
是一個挑戰問題,我們將把它留作未來的工作。
但是,沒有證據表明使用ImageNet訓練的Inception網路可以準確測量樣本質量,如第6。2節所示。為了補充Inception分數,我們提出使用對應的預訓練分類器引入額外的評估。在這個對應的預訓練分類器中,大多數真實樣本有相似的
H
(
C
(
x
)),99。6%的樣本有小於0。05的分數,如圖4c所示,這表明分類器的
H
(
C
(
x
))可以用作樣本質量指標。
當訓練資料在類別上分佈不均勻時,
上的熵項實際上是有問題的,因為argmin
是均勻分佈。考慮到
,我們用
和
之間的KL散度代替
。因此
這要求
接近
並且每個樣本
x
具有低熵
C
(
x
)。 AM Score的最小值為零,值越小越好。 AM Score的樣本訓練曲線如圖6所示,其中AM Score中的所有指標均按預期工作。
7 EXPERIMENTS
為了實驗驗證我們的分析和方法的有效性,我們對影象基準資料集進行了實驗,包括CIFAR-10和Tiny-ImageNet,它包括200個類,每個類有500個訓練影象。為了評估,在我們的整個實驗中使用的度量包括ImageNet分類器的IS分數,AM分數。以下實驗結果略。
7。1 EXPERIMENTS ON CIFAR-10
7。1。1 GAN WITH AUXILIARY CLASSIFIER
7。1。2 COMPARISON AMONG DIFFERENT MODELS
7。1。3 INCEPTION SCORE COMPARING WITH RELATED WORK
7。1。4 DYNAMIC LABELING AND CLASS CONDITION
7。1。5 THE E(x;y)∼G[H(u(y); C(x))] LOSS
7。1。6 THE LEARNING PROPERTY
7。2 EXPERIMENTS ON TINY-IMAGENET
8 CONCLUSION
在本文中,我們分析了當前包含類別標籤資訊的GAN模型。我們的分析表明:LabelGAN作為一個隱式目標類別模型工作,但其存在重疊的梯度問題,而顯式目標類別將解決這個問題。我們展示了以非分層方式引入類別logit,通常比簡單地補充輔助分類器更好,我們為其提供啟用最大化視角,並強調對抗性訓練的重要性。此外,根據我們的實驗,預定義標籤往往會導致類內模式崩潰,我們建議將動態標籤作為替代方案。我們對基準測試資料集的實驗驗證了我們的分析,並證明了我們提出的AM-GAN的卓越效能。此外,我們深入研究評估指標IS分數,揭示了它主要作為多樣性度量,我們提出將AM分數作為補充,以更準確地估計樣本質量。
在本文中,我們關注生成器及其樣本質量,而一些相關的工作側重於判別器和半監督學習。對於未來的工作,我們希望對判別學習和半監督學習進行實證研究。【略】