還沒寫完,別罵了.....遇到啥新東西也會補充進來
1. 損失函數(shù)/距離度量
1.1?KL散度
用來衡量分布之間距離
1.1.1 推導(dǎo)過程
如果想要對KL散度有一個比較好的理解,我其實建議看一下,從信息熵的角度入手我認為是一個比較好的切入點?相對熵(KL散度)、JS散度和Wasserstein距離
?和都是概率分布,一般代表真實分布,一般代表擬合的近似分布
利用期望的計算公式就可以得到用期望表示的KL散度
1.1.2 性質(zhì)
- 非負性:KL散度始終非負,即 KL(P || Q) ≥ 0。
- 零值:當(dāng)且僅當(dāng)P和Q相等時,KL散度為0,表示兩個分布完全相同。
- 不對稱性:KL散度是不對稱的,即 KL(P || Q) ≠ KL(Q || P),表示P相對于Q的信息增益和P相對于Q的信息損失不同。
1.1.3 前向和反向KL散度
稱為前向KL散度(forward Kullback-Leibler Divergence)
稱為反向KL散度(reverse Kullback-Leibler Divergence)
【具體分析】進階詳解KL散度 - 知乎 (zhihu.com)
1.2 JS散度(Jensen–Shannon divergence)
為了解決KL散度不對稱的的問題引入了 JS散度
1.2.1 公式
?1.2.2 對稱性證明
1.2.3 缺陷
當(dāng)兩個分布完全不重疊時,即便兩個分布的中心距離有多近,其JS散度都是一個常數(shù),以至于梯度為0,無法更新。
【參考】?GAN:兩者分布不重合JS散度為log2的數(shù)學(xué)證明
1.3?Wasserstein Loss
2.?GAN訓(xùn)練三大問題
- 不收斂:模型參數(shù)震蕩,損失函數(shù)不能收斂到理論值;
- 模式崩潰:合成的樣本都趨同;
- 梯度消失:判別器太強,生成器的梯度消失,訓(xùn)練無法繼續(xù)。
生成對抗網(wǎng)絡(luò)(GAN)的模式崩潰問題
3.1 模式崩潰
GAN本質(zhì)上就是在對比真實分布和生成器生成的分布。
第一:生成器生成了不真實的樣本。對應(yīng)于那些不真實的樣本,Pg(X)>0但Pr(X)≈0,此時KL 散度中間的被積項將會趨于∞;
第二:生成器沒能生成真實的樣本。對應(yīng)于沒能生成的那些真實樣本,pr(x)>0 但 pg(x)≈0,此時 KL 散度中間的被積項將會趨于 0。
GAN 中優(yōu)化生成器的損失函數(shù)要求 KL 散度盡量小。第一種情形損失接近無窮,懲罰巨大,生成器就會避免生成不真實的樣本;第二種情形損失接近零,懲罰非常小,因此生成器完全有可能只生成單一的真實樣本,而不生成更多不同的真實樣本。生成單一的真實樣本已經(jīng)足夠欺騙判別器,生成器沒有必要冒著失真的風(fēng)險生成多樣化的樣本,模式崩潰問題由此產(chǎn)生。
3.模型代碼框架
【參考實現(xiàn)】facebookresearch/pytorch_GAN_zoo: A mix of GAN implementations including progressive growing
3.1 損失部分
3.1.1 鑒別器損失
?3.1.2 生成器損失
3.1.2 漸進式訓(xùn)練策略
在ProGAN出來之后,很多模型同樣也選擇了使用漸進式的訓(xùn)練策略。漸進式的訓(xùn)練策略以方便減少了時間,同時也會在一定程度上避免了模式奔潰
4.評估指標(biāo)
4.1 FID(Frechet Inception Distance score)
Frechet Inception 距離(FID)是評估生成圖像質(zhì)量的度量標(biāo)準(zhǔn),專門用于評估生成對抗網(wǎng)絡(luò)的性能。
基本原理:
- 刪除模型原本的輸出層,將輸出層換為最后一個池化層(即全局空間池化層)的激活函數(shù)輸出值。此輸出層有 2,048 維的激活向量,因此,每個圖像被預(yù)測為 2,048 個激活特征。該向量被稱為圖像的編碼向量或特征向量。
- 然后使用以下公式計算 FID 分數(shù):
文章來源:http://www.zghlxwxcb.cn/news/detail-559794.html
- 該分數(shù)被記為 d^2,表示它是一個有平方項的距離。
- 「mu_1」和「mu_2」指的是真實圖像和生成圖像的特征均值(例如,2,048 維的元素向量,其中每個元素都是在圖像中觀察到的平均特征)。
- C_1 和 C_2 是真實圖像的和生成圖像的特征向量的協(xié)方差矩陣,通常被稱為 sigma。
- || mu_1-mu_2 ||^2 代表兩個平均向量差的平方和。Tr 指的是被稱為「跡」的線性代數(shù)運算(即方陣主對角線上的元素之和)。
- sqrt 是方陣的平方根,由兩個協(xié)方差矩陣之間的乘積給出
【參考】學(xué)習(xí)GAN模型量化評價,先從掌握FID開始吧文章來源地址http://www.zghlxwxcb.cn/news/detail-559794.html
到了這里,關(guān)于【GAN】基礎(chǔ)知識(還在更新)的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!