淺談Maximum Mean Discrepancy (MMD)


淺談Maximum Mean Discrepancy (MMD)

MMD有什么用

MMD用於檢驗兩堆數據是否是來源於同一分布,即假設
\(D_s = (x_1,x_2,\cdots,x_n) \sim P(x)\)\(D_t=(y_1,y_2,\cdots,y_n)\sim Q(y)\),MMD用於檢驗\(P=Q\)是否成立。

MMD與KL散度(Kullback–Leibler divergence)的區別?
KL散度定義是

\[KL(P,Q)=\sum P(x)\log \frac{P(x)}{Q(x)} \]

\(P(x)\)\(Q(x)\)越相似,KL散度越小。

為了計算KL散度,必須要知道\(P\)\(Q\)的密度函數。因此KL散度常用於監督學習方法,用於衡量訓練的分布\(P_{model}\)與真實分布\(Q_{real}\)之間的相似性。(交叉熵損失本質上就是KL散度的變形)

而MMD評價兩堆數據是否具有相似性。這與KL散度具有本質上的不同。

例子

假設有兩堆手寫數字的圖片,一堆是數據庫MINIST里面的,一堆是由GAN模型生成的。如何斷別GAN生成圖片的質量呢?(即檢驗兩堆數據是否來自於同一分布)
MMD就是干這個的。而KL散度是無法處理這個問題的。

MMD的定義

尋找一個"well-behaved"函數\(f:\mathcal{x}\mapsto \mathbb{R}\in \mathcal{F}\),使得下面的目標最大:

\[R = \max_{f\in \mathcal{F}} |\mathbb{E}_{x\sim P(x)}f(x) - \mathbb{E}_{y\sim Q(y)}f(y)| \]

\[\hat R=\max_{f\in \mathcal{F}} \frac{1}{n}\sum_x f(x)-\frac{1}{m}\sum_y f(y) \]

這個目標為什么能反應出分布\(P\)\(Q\)之間的差異呢?

函數\(f\)將分布\(P\)\(Q\)中的所有樣本映射成一個實數,遍歷函數空間\(\mathcal{F}\)中所有的函數,將這兩堆實數的均值差最大值用於衡量分布的差異。

如果\(P=Q\),則對於任意的\(f\),都有\(|\mathbb{E}_{x\sim P(x)}f(x) - \mathbb{E}_{y\sim Q(y)}f(y)|=0\),故最大差異\(R=0\)

如果\(P\)\(Q\)很相似,則可能存在很多\(f\)使得\(|\mathbb{E}_{x\sim P(x)}f(x) - \mathbb{E}_{y\sim Q(y)}f(y)|=0\),因此這些\(f\)並不能客觀反映出\(P\)\(Q\)之間的差異,所以需要選擇一個合適的\(f\),使得兩個分布最不相似的特性被刻畫出來。

在RKHS中計算R

\(R\)中涉及到積分運算,而且我們只關心\(R\)的數值,並不關心\(f\)到底是什么。

為了解決這些問題,我們可以限制\(f\)的形式。


回憶一下
對於核函數\(k\),其對應的特征向量是\(\phi:\mathcal{x}\mapsto \mathcal{H}\),其中\(\mathcal{H}\)是與\(k\)相對應的再生核Hilbert空間。
對於\(\forall f\in \mathcal{H}\),核函數\(k\)滿足重構屬性:

\[f(x)=\left<f,\phi(x)\right>_\mathcal{H} \]


利用重構屬性,可以非常輕松的將\(f\)與樣本\(x\)分開,然后可以非常輕松的對\(f\)取最大值。

因此我們假設\(f\in \mathcal{H}\)
基於這樣的假設,我們有

\[R=\sup_{f}|\mathbb{E}_{x\sim P(x)}f(x) - \mathbb{E}_{y\sim Q(y)}f(y)| \]

\[=\sup_{f}|\mathbb{E}_{x\sim P(x)}\left<f,\phi(x)\right> - \mathbb{E}_{y\sim Q(y)}\left <f,\phi(y)\right>| \]

\[=\sup_{f}|\left<f,\mathbb{E}_P \phi(x) - \mathbb{E}_Q \phi(y)\right>| \]

進一步限制\(f\):我們假設\(f\)的模小於等於1,即\(\|f\|_\mathcal{H} \leq 1\)
此時,當

\[f=\frac{\mathbb{E}_P \phi(x) - \mathbb{E}_Q \phi(y)}{\|\mathbb{E}_P \phi(x) - \mathbb{E}_Q \phi(y)\|} \]

時,\(|\left<f,\mathbb{E}_P \phi(x) - \mathbb{E}_Q \phi(y)\right>|\)取最大值。

此時,

\[R = \|\mathbb{E}_P \phi(x) - \mathbb{E}_Q \phi(y)\|_{\mathcal{H}} \]

——————
注:可以將\(f\)\(\mathbb{E}_P \phi(x) - \mathbb{E}_Q \phi(y)\)當成是\(\mathbb{R}^n\)中的元素(兩個向量)。當兩個向量相等時,其積取最大值。

——————

MMD定義

假設\(\mathcal{X}\)是一個非空集,函數\(k:\mathcal{X}\times \mathcal{X}\mapsto \mathbb{R}\)是一個正定核函數,其對應的RKHS\(\mathcal{H}\),特征映射是\(\phi:\mathcal{X}\mapsto \mathcal{H}\)。給定兩個數據集,\(D_s = (x_1,x_2,\cdots,x_n) \sim P(x)\)\(D_t=(y_1,y_2,\cdots,y_m)\sim Q(y)\),則最大均值依賴MMD的定義及其經驗評估為,

\[\text{MMD}(P,Q)=\left \|\mathbb{E}_P \phi(x) - \mathbb{E}_Q \phi(y)\right \| \]

\[\widehat{\text{MMD}}(P,Q)=\left \|\frac{1}{m}\sum_{x_i} \phi(x_i) - \frac{1}{n}\sum_{y_i} \phi(y_i)\right \|_2 \]

MMD如何計算

直接平方展開。

\[\widehat{\text{MMD}}(P,Q)^2=\left \|\frac{1}{m}\sum_{x_i} \phi(x_i) - \frac{1}{n}\sum_{y_i} \phi(y_i)\right \|^2_2 \]

\[=\|\frac{1}{m}\sum_{x_i} \phi(x_i)\|^2 + \|\frac{1}{n}\sum_{y_i} \phi(y_i)\|^2 - 2\|\frac{1}{m}\sum_{x_i} \phi(x_i) \frac{1}{n}\sum_{y_i} \phi(y_i)\| \]

\[\|\frac{1}{m}\sum_{x_i} \phi(x_i)\|^2=\frac{1}{m^2} (\phi(x_1)+\phi(x_2)+\cdots+\phi(x_m))^T(\phi(x_1)+\phi(x_2)+\cdots+\phi(x_m)) \]

\[=\frac{1}{m^2}\{\phi(x_1)^T\phi(x_1) + \cdots + \phi(x_1)^T\phi(x_m) \]

\[+\phi(x_2)^T\phi(x_1) + \cdots + \phi(x_2)^T\phi(x_m) \]

\[\cdots+\phi(x_m)^T\phi(x_1) + \cdots + \phi(x_m)^T\phi(x_m)\} \]

\[=\frac{1}{m^2}\{k(x_1,x_1)+k(x_1,x_2)+\cdots +k(x_1,x_m) + k(x_2,x_1)+\cdots+k(x_2,x_m) +\cdots\} \]

\[=\frac{1}{m^2}\sum_{i,j} k(x_i,x_j) \]

同理可得,

\[\|\frac{1}{n}\sum_{y_i} \phi(y_i)\|^2=\frac{1}{n^2}\sum_{i,j} k(y_i,y_j) \]

\[\|\frac{1}{m}\sum_{x_i} \phi(x_i) \frac{1}{n}\sum_{y_i} \phi(y_i)\|=\frac{1}{mn}\sum_{i,j}k(x_i,y_j) \]

所以有,

\[\widehat{\text{MMD}}^2=\frac{1}{m^2}\sum_{i,j} k(x_i,x_j)+\frac{1}{n^2}\sum_{i,j} k(y_i,y_j)-\frac{2}{mn}\sum_{i,j}k(x_i,y_j) \]

下面,將會介紹MMD的重要性質,如 \(MMD = 0\)\(P=Q\)之間的等價性等。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM