生成模型之Flow-based Model(1)前置知识
本文最后更新于:2024年12月27日 下午
Flow-based Model前置知识
流模型是数学上严密推理得到的模型,本篇为数学上的前置内容
雅各比矩阵 Jacobian Matrix
对于两个矩阵\(x\)和\(z\)
\[z =
\left[\begin{matrix}z_{1}\\z_{2}\end{matrix}\right]\] \[x =
\left[\begin{matrix}x_{1}\\x_{2}\end{matrix}\right]\]
\(x\)和\(z\)之间存在关系:
\(x = f(z)\), \(z = f^{-1}(x)\)
Jacobian Matrix定义为:
\[
J_{f} = \left[ \begin{matrix}
\partial x_{1}/\partial z_{1} && \partial x_{1}/\partial z_{2}
\\
\partial x_{2}/\partial z_{1} && \partial x_{2}/\partial z_{2}
\end{matrix} \right]
\]
\[ J_{f^{-1}} = \left[ \begin{matrix} \partial z_{1}/\partial x_{1} && \partial z_{1}/\partial x_{2} \\ \partial z_{2}/\partial x_{1} && \partial z_{2}/\partial x_{2} \end{matrix} \right] \]
\[ J_{f}J_{f^{-1}}=1 \]
行列式 Determinant
对于一个矩阵\(A\)
\[
A = \left[ \begin{matrix}a && b\\c &&
d\end{matrix}\right]
\] 其行列式结果为:
\[
\det(A) = ad-bc
\]
对于一个矩阵\(B\)
\[
B = \left[ \begin{matrix}a_{1} && a_{2} && a_{3}\\a_{4}
&& a_{5} && a_{6}\\a_{7} && a_{8} &&
a_{9}\end{matrix}\right]
\] 其行列式结果为:
\[
\det(B) =
a_{1}a_{5}a_{9}+a_{2}a_{6}a_{7}+a_{3}a_{4}a_{8}-a_{3}a_{5}a_{7}-a_{2}a_{4}a_{9}-a_{1}a_{6}a_{8}
\]
有公式:
\[
\det (A) = \frac {1}{\det(A^{-1})}
\]
\[ \det (J_{f}) = \frac {1}{\det(J_{f^{-1})}} \]
可变理论 change of variable theorem
对于正态分布\(\pi(z)\)和概率分布\(p(x)\)
其中\(x\)和\(z\)满足\(x=f(z)\)
一维形式
\[ p(x')\Delta x = \pi (z')\Delta z\] \[p(x') = \pi (z') |\frac {\mathrm{d} z}{\mathrm{d} x}| \]
二维形式
\[p(x')|det(J_f)|=\pi(z')\] \[p(x') = \pi(z')|det(J_{f^{-1}})|\]
引申
如果\(x\)和\(z\)满足\(x=f(z)\),则他们的分布之间关系就是相差\(|det(J_f)|\)
生成器Generator
对于一个网络\(G\),我们定义他的分布为\(P_{G}\),对于真实样本的分布为\(P_{data}\)
对于输入\(z\),经过生成器得到的结果为\(x\),记为\(x=G(z)\)
说明\(x\)服从\(P_{G}(x)\)分布
显然一个好的生成器应当使得\(P_{G}(x)\)接近\(P_{data}(x)\)
因此理论上有最优生成器\(G^{*}\)
\(G^{*}= argmax_{G}
\sum\limits_{i=1}^{m}logP_{G}(x^{i})\) 其中 \({x^i from P_{data}(x)}\)
\(G^{*} \approx argmin_{G}KL(P_{data} ||
P_{G})\)
(KL散度越小,两个分布越接近)