Score Matching
๐ ๊ด๋ จ ๋ ผ๋ฌธ: [NeurIPS 2019] Generative Modeling by Estimating Gradients of the Data Distribution
๐ ๊ด๋ จ ๋ ผ๋ฌธ: [ICLR 2021] Score-Based Generative Modeling through Stochastic Differential Equations
Score Function
์ฌ๋ฌ ๊ฐ์ ์ฐ์ด ์๋ ํ๋ฅ ๊ณต๊ฐ์์ ๋ฐ์ดํฐ๊ฐ ๋ฐ์ง๋ ๊ณณ์ ์ฐ์ ์ ์์ด๊ณ , ์ฐ ์๋๋ ๋ ธ์ด์ฆ๋ก ์๊ฐํ ์ ์๋ค.
์ฐ ์๋์์ ์ ์์ผ๋ก ๊ฐ๊ธฐ ์ํด์๋ ์ด๋ ๋ฐฉํฅ์ผ๋ก ๊ฐ์ผ ์ ์์ธ์ง๋ฅผ ์๋ ค์ฃผ๋ ๊ฐ์ด๋๊ฐ ํ์ํ๋ค.
์ด ๋ฐฉํฅ์ ์๋ ค์ฃผ๋ ๊ฒ์ด ๊ทธ๋๋์ธํธ์ด๋ค.
์ด ๊ธฐ์ธ๊ธฐ ๊ฐ์ ์ํ์ ์ผ๋ก Score๋ผ๊ณ ํ๋ฉฐ, Log-Likelihood์ ๊ทธ๋๋์ธํธ๋ก ์ ์๋๋ค.
\[\nabla_\vx\log p(\vx) \tag{1}\]์ฆ, Score๋ ํ์ฌ ์ํ ๊ณต๊ฐ์์ ํ๋ฅ ๋ฐ๋ ํจ์๊ฐ ๊ฐ์ฅ ๊ฐํ๋ฅด๊ฒ ์ฆ๊ฐํ๋ ๋ฐฉํฅ์ ์๋ ค์ฃผ๋ ๊ทธ๋๋์ธํธ์ด๋ค.
์ (1) ์์ฒด๋ฅผ ํจ์๋ก ๋ณด๊ณ , Score Function์ด๋ผ๊ณ ๋ ํ๋ค.
\[s(\vx)=\nabla_\vx\log p(\vx) \tag{2}\]Score Matching
Score Matching์ ๋ง ๊ทธ๋๋ก ๋ฐ์ดํฐ ๋ถํฌ์ ๊ธฐ์ธ๊ธฐ์ธ Score Function์ ์์ธกํ๋ ๊ฒ์ด๋ค.
์ฆ, ๋ชจ๋ธ์ด ์์ธกํ Score์ ์ค์ ๋ฐ์ดํฐ์ Score ๊ฐ์ ์ฐจ์ด๋ฅผ ์ค์ด๋๋ก ํ์ตํ๋ค.
\[\mathcal{L}=\frac{1}{2}\mathbb{E}_{p_{data}(\vx)}\left[\lVert s_\theta(\vx)-\nabla_\vx\log p_{data}(\vx)\rVert_2^2\right] \tag{3}\]ํ์ง๋ง ์ฌ๊ธฐ์๋ ์น๋ช ์ ์ธ ๋ชจ์์ด ์๋ค. ์ฐ๋ฆฌ๊ฐ ๋ชจ๋ธ์ ํ์ต์ํค๋ ์ด์ ๋ ์ค์ ๋ฐ์ดํฐ ๋ถํฌ $p_{data}(\vx)$๋ฅผ ๋ชจ๋ฅด๊ธฐ ๋๋ฌธ์ธ๋ฐ, ์ ์์ ๊ณ์ฐํ๋ ค๋ฉด ์ค์ ๋ฐ์ดํฐ ๋ถํฌ์ ๊ธฐ์ธ๊ธฐ๋ฅผ ์์์ผ ํ๋ค. ์ฆ, ์ ๋ต์ ๋ชจ๋ฅด๋๋ฐ ์ ๋ต๊ณผ ๋น๊ตํด์ผ ํ๋ ์ํฉ์ธ ๊ฒ์ด๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด ๋ฑ์ฅํ ๊ธฐ๋ฒ๋ค์ด ๋ฐ๋ก Score Matching์ด๋ค.
Implicit Score Matching
2005๋ Hyvรคrinen์ ๋ถ๋ถ ์ ๋ถ์ ์ด์ฉํด, ์ค์ ๋ฐ์ดํฐ์ ๋ถํฌ๋ฅผ ๋ชฐ๋ผ๋ ์ ๋ชฉ์ ํจ์๋ฅผ ์ต์ํํ ์ ์์์ ์ํ์ ์ผ๋ก ์ฆ๋ช ํ๋ค. ์ ๋ ๊ณผ์ ์ ๊ฑฐ์น ๋ชฉ์ ํจ์๋ ์๋์ ๊ฐ๋ค.
\[\mathcal{L}=\mathbb{E}_{p_{data}(\vx)}\left[\text{tr}\left(\nabla_\vx s_\theta(\vx)\right) +\frac{1}{2}\lVert s_\theta(\vx)\rVert_2^2\right] \tag{4}\]ํ์ง๋ง ์์ ํฌํจ๋ $\text{tr}(\nabla_\vx s_\theta(\vx))$ ํญ์ ๋ชจ๋ธ ์ถ๋ ฅ์ ์ ๋ ฅ์ ๋ํ ๋ฏธ๋ถ๊ฐ(Jacobian)์ ๋๊ฐํฉ์ ๊ตฌํด์ผ ํ๋ค.
์ด๋ ๋ฐ์ดํฐ ์ฐจ์์ด ์ปค์ง์๋ก ๊ณ์ฐ๋์ด ๊ธฐํ๊ธ์์ ์ผ๋ก ๋์ด๋๊ธฐ ๋๋ฌธ์, ๋ฅ๋ฌ๋์ ์ง์ ์ ์ฉํ๊ธฐ์ ๋๋ฌด ๋ฌด๊ฑฐ์ ๋ค.
Denoising Score Matching
Score Estimation์์๋ ๋ฌธ์ ๊ฐ ํ๋ ์๋๋ฐ, ๋ฐ์ดํฐ๊ฐ ์๋ ์์ญ์์๋ ์ ํํ Score๋ฅผ ์ถ์ ํ๊ธฐ ์ด๋ ต๋ค๋ ๊ฒ์ด๋ค.
์ด๋ฅผ ์ํํ๊ธฐ ์ํด ๋ฐ์ดํฐ์ ๋ถ์ฐ์ด $\sigma^2$์ธ ๊ฐ์ฐ์์ ๋ ธ์ด์ฆ๋ฅผ ๋ํ๊ณ , ๋ ธ์ด์ฆ๊ฐ ์์ธ ๋ถํฌ์ Score๋ฅผ ์ถ์ ํ๋๋ก ํ์๋ค.
\[p(\tilde{\vx}\mid\vx)=\mathcal{N}(\tilde{\vx};\vx,\sigma^2\vI) \tag{5}\]์ ์กฐ๊ฑด๋ถ ํ๋ฅ ์ ์ฐ๋ฆฌ๊ฐ ์ง์ ์ ์ํ ๊ฐ์ฐ์์ ๋ถํฌ์ด๊ธฐ ๋๋ฌธ์, ๋ฏธ๋ถ ๋ํ ๊ฐ๋จํ๊ฒ ๊ณ์ฐํ ์ ์๋ค.
\[\nabla_{\tilde{\vx}}\log p(\tilde{\vx}\mid\vx) =-\frac{\tilde{\vx}-\vx}{\sigma^2} \tag{6}\]์ด๋, ์ถ๊ฐํ๋ ๋ ธ์ด์ฆ์ ์์ด ๋ง๋ค๋ฉด ์๋ณธ ๋ฐ์ดํฐ์ ๋ถํฌ ์์ฒด๊ฐ ์์๋๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ธฐ ๋๋ฌธ์ ์ ์ ํ ์กฐ์ ์ด ํ์ํ๋ค.
Vincent๋ ๋ ธ์ด์ฆ๊ฐ ์์ธ ๋ฐ์ดํฐ $\tilde{\vx}$์ Score๋ฅผ ์ถ์ ํ๋ ๊ฒ์ด, ์๋ณธ ๋ฐ์ดํฐ $\vx$์ Score๋ฅผ ์ถ์ ํ๋ ๊ฒ๊ณผ ์ต์ ํ ๊ด์ ์์ ๋์น์์ ์ฆ๋ช ํ๋ค.
\[\mathcal{L}=\mathbb{E}\left[\lVert s_\theta(\tilde{\vx})-\nabla_{\tilde{\vx}}\log p_{data}(\tilde{\vx}\mid\vx)\rVert_2^2\right] =\mathbb{E}\left[\left\lVert s_\theta(\tilde{\vx})-\frac{\tilde{\vx}-\vx}{\sigma^2}\right\rVert_2^2\right] \tag{7}\]


