查看“︁证据下界”︁的源代码
←
证据下界
跳转到导航
跳转到搜索
因为以下原因,您没有权限编辑该页面:
您请求的操作仅限属于该用户组的用户执行:
用户
您可以查看和复制此页面的源代码。
{{贝叶斯统计}} 在[[变分贝叶斯方法]]中,'''证据下界'''({{lang-en|evidence lower bound}},{{lang|en|ELBO}};有时也称为'''变分下界'''<ref name=":0">{{Cite arXiv|last1=Kingma|title=Auto-Encoding Variational Bayes|eprint=1312.6114}}</ref>或'''负变分自由能''')是一种用于估计一些观测数据的对数似然的下限。 == 术语和符号 == 设<math> X</math>和<math> Z</math>是随机变量,其联合分布为<math>p_\theta</math>。例如,<math>p_\theta( X)</math>是<math> X</math>的[[边缘分布]],<math>p_\theta( Z \mid X)</math>是在给定<math> X</math>的条件下,<math> Z</math>的条件分布。那么对于任何从<math>p_\theta</math>中抽取的样本<math>x\sim p_\theta</math>和任何分布<math> q_\phi </math>,我们有: <math display="block">\ln p_\theta(x) \ge \mathbb \mathbb E_{z\sim q_\phi}\left[ \ln\frac{p_\theta(x, z)}{q_\phi(z)} \right].</math> 我们将上述不等式称为ELBO不等式。其中,左侧称为<math>x</math>的证据,右侧称为<math>x</math>的证据下界(ELBO)。 在变分贝叶斯方法的术语中,分布<math>p_\theta( X)</math>称为证据。一些人使用“证据”一词来表示<math>\ln p_\theta( X)</math>,而其他作者将<math>\ln p_\theta( X)</math>称为对数证据,有些人会交替使用证据和对数证据这两个术语。 ELBO 没有普遍且固定的表示法。在本文中我们使用<math display="block">L(\phi, \theta; x) := \mathbb E_{z\sim q_\phi(\cdot | x)}\left[ \ln\frac{p_\theta(x, z)}{q_\phi(z|x)} \right].</math> == 动机 == === 变分贝叶斯推理 === 假设我们有一个可观察的随机变量<math>X</math>,并且我们想找到其真实分布<math>p^*</math>。这将允许我们通过抽样生成数据,并估计未来事件的概率。一般来说,精确找到<math>p^*</math>是不可能的,因此我们不得不寻找一个近似。 也就是说,我们定义一个足够大的参数化分布族<math>\{p_\theta\}_{\theta\in\Theta}</math>,然后最小化某种损失函数<math>L</math>,<math>\min_\theta L(p_\theta, p^*)</math>。解决这个问题的一种可能方法是考虑从<math>p_\theta</math>到<math>p_{\theta + \delta \theta}</math>的微小变化,并解决<math>L(p_\theta, p^*) - L(p_{\theta+\delta \theta}, p^*) =0</math>。这是[[变分法]]中的一个变分问题,因此被称为变分方法。 由于明确参数化的分布族并不多(所有经典的分布族,如正态分布、Gumbel分布等都太过简单,无法很好地模拟真实分布),我们考虑隐式参数化的概率分布: * 首先,定义一个在潜在随机变量<math>Z</math>上的简单分布<math>p(z)</math>。通常情况下,正态分布或均匀分布已足够。 * 接下来,定义一个由<math>\theta</math>参数化的复杂函数族<math>f_\theta</math>(例如[[深度学习|深度神经网络]])。 * 最后,定义一种将任何<math>f_\theta(z)</math>转换为可观测随机变量<math>X</math>的简单分布的方法。例如,让<math>f_\theta(z) = (f_1(z), f_2(z))</math>具有两个输出,那么我们可以将相应的分布定义为在<math>X</math>上的正态分布<math>\mathcal N(f_1(z), e^{f_2(z)})</math>。 这定义了一个关于<math>(X, Z)</math>的联合分布族<math>p_\theta</math>。从<math>p_\theta</math>中抽取样本<math>(x, z) \sim p_\theta</math>变得非常容易:只需从<math>p</math>中抽样<math>z\sim p</math>,然后计算<math>f_\theta(z)</math>,最后使用<math>f_\theta(z)</math>来抽样<math>x \sim p_\theta(\cdot | z)</math>。 换句话说,我们拥有了一个可观测量和潜在随机变量的生成模型。 现在,我们认为一个分布<math>p_\theta</math>是好的,如果它是<math>p^*</math>的一个接近近似:<math display="block">p_\theta(X) \approx p^*(X)</math>由于右侧的分布仅涉及到<math>X</math>,因此左侧的分布必须消除潜在变量<math>Z</math>的影响,即要对<math>Z</math>进行边缘化。 一般情况下,我们无法积分<math>p_\theta(x) = \int p_\theta(x|z)p(z)dz</math>,这迫使我们寻找另一个近似。 由于<math>p_\theta(x) = \frac{p_\theta(x|z)p(z)}{p_\theta(z|x)}</math>,因此我们只需要找到一个<math>p_\theta(z|x)</math>的好的近似即可。因此,我们定义另一个分布族<math>q_\phi(z|x)</math>来近似<math>p_\theta(z|x)</math>,这是一个针对潜在变量的判别模型。 下表概述了所有情况: {| class="wikitable" |+ !<math>X</math>:观测量 !<math>X, Z</math> !<math>Z</math>:潜变量 |- |<math>p^*(x)\approx p_\theta(x) \approx \frac{p_\theta(x|z)p(z)}{q_\phi(z|x)}</math>可近似的 | |<math>p(z)</math>,简单 |- | |<math>p_\theta(x|z)p(z)</math>,简单 | |- | <math>p_\theta(z|x) \approx q_\phi(z|x)</math>可近似的 | |<math>p_\theta(x|z)</math>,简单 |} 用贝叶斯的方式来说,<math>X</math>是观测到的证据,<math>Z</math>是潜在/未观测到的随机变量。分布<math>p</math>在<math>Z</math>上是<math>Z</math>的先验分布,<math>p_\theta(x|z)</math>是似然函数,而<math>p_\theta(z|x)</math>是<math>Z</math>的后验分布。 给定一个观测值<math>x</math>,我们可以通过计算<math>p_\theta(z|x)</math>来推断出可能导致<math>x</math>出现的<math>z</math>。通常的贝叶斯方法是估计积分: <math display="block">p_\theta(x) = \int p_\theta(x|z)p(z)dz</math> 然后通过[[贝叶斯定理]]计算: <math display="block">p_\theta(z|x) = \frac{p_\theta(x|z)p(z)}{p_\theta(x)}</math> 这通常是非常耗时的,但如果我们可以找到一个在大多数<math>x, z</math>下的好近似<math>q_\phi(z|x) \approx p_\theta(z|x)</math>,那么我们就可以快速地从<math>x</math>推断出<math>z</math>。因此,寻找一个好的<math>q_\phi</math>也称为'''摊销推断'''。 综上所述,我们找到了一个'''变分贝叶斯推断'''问题。 === 推导ELBO === 变分推断中的一个基本结果是,最小化[[相对熵|Kullback–Leibler 散度]](KL散度)等价于最大化对数似然:<math display="block">\mathbb{E}_{x\sim p^*(x)}[\ln p_\theta (x)] = -H(p^*) - D_{\mathit{KL}}(p^*(x) \| p_\theta(x))</math>其中<math>H(p^*) = -\mathbb \mathbb E_{x\sim p^*}[\ln p^*(x)]</math>是真实分布的熵。因此,如果我们可以最大化<math>\mathbb{E}_{x\sim p^*(x)}[\ln p_\theta (x)]</math> 我们就可以最小化<math>D_{\mathit{KL}}(p^*(x) \| p_\theta(x))</math> 因此找到一个准确的近似<math>p_\theta \approx p^*</math>。要最大化<math>\mathbb{E}_{x\sim p^*(x)}[\ln p_\theta (x)]</math>我们只需从真实分布中抽取许多样本<math>x_i\sim p^*(x)</math>,然后使用:<math display="block">N\max_\theta \mathbb{E}_{x\sim p^*(x)}[\ln p_\theta (x)]\approx \max_\theta \sum_i \ln p_\theta (x_i)</math>为了最大化<math>\sum_i \ln p_\theta (x_i)</math>,必须要找到<math>\ln p_\theta (x_i)</math>:{{NoteTag|事实上,根据Jensen不等式,有 <math>\mathbb E_{x\sim p^{}(x)}\left[\max {\theta }\sum {i}\ln p{\theta }(x{i})\right]\geq \max {\theta }\mathbb E{x\sim p^{}(x)}\left[\sum {i}\ln p{\theta }(x_{i})\right]=N\max {\theta }\mathbb {E} {x\sim p^{*}(x)}[\ln p{\theta }(x)]</math> 这个估计量存在向上的偏差。这可以看作是过度拟合:对于一些有限的采样数据 <math>x{i}</math> ,通常存在一些 <math>\theta</math> 比整个 <math>p^{*}</math> 分布更好地拟合它们。|name=注1}}<math display="block">\ln p_\theta(x) = \ln \int p_\theta(x|z) p(z)dz</math>这通常没有解析解,必须进行估计。估计积分的常用方法是使用[[重要性采样]]进行[[蒙地卡羅積分|蒙特卡洛积分]]:<math display="block">\int p_\theta(x|z) p(z)dz = \mathbb E_{z\sim q_\phi(\cdot|x)}\left[\frac{p_\theta (x, z)}{q_\phi(z|x)}\right]</math>其中,<math>q_\phi(z|x)</math>是我们用于进行蒙特卡罗积分的在<math>z</math>上的抽样分布。因此,我们可以看到,如果我们抽样<math>z\sim q_\phi(\cdot|x)</math>,那么<math>\frac{p_\theta (x, z)}{q_\phi(z|x)}</math>是<math>p_\theta(x)</math>的一个无偏估计量。不幸的是,这并不能给我们一个对<math>\ln p_\theta(x)</math>的无偏估计量,因为<math>\ln</math>是非线性的。事实上,由于[[簡森不等式|琴生(Jensen)不等式]],我们有:<math display="block">\ln p_\theta(x)= \ln \mathbb E_{z\sim q_\phi(\cdot|x)}\left[\frac{p_\theta (x, z)}{q_\phi(z|x)}\right] \geq \mathbb E_{z\sim q_\phi(\cdot|x)}\left[\ln\frac{p_\theta (x, z)}{q_\phi(z|x)}\right]</math>事实上,所有明显的<math>\ln p_\theta(x)</math>的估计量都是向下偏的,因为无论我们取多少个<math>z_i\sim q_\phi(\cdot | x)</math>的样本,我们都可以由琴生不等式得到:<math display="block">\mathbb E_{z_i \sim q_\phi(\cdot|x)}\left[ \ln \left(\frac 1N \sum_i \frac{p_\theta (x, z_i)}{q_\phi(z_i|x)}\right) \right] \leq \ln \mathbb E_{z_i \sim q_\phi(\cdot|x)}\left[ \frac 1N \sum_i \frac{p_\theta (x, z_i)}{q_\phi(z_i|x)} \right] = \ln p_\theta(x) </math>减去右边,我们可以看出问题归结为零的有偏估计问题:<math display="block">\mathbb E_{z_i \sim q_\phi(\cdot|x)}\left[ \ln \left(\frac 1N \sum_i \frac{p_\theta (z_i|x)}{q_\phi(z_i|x)}\right) \right] \leq 0</math>通过[[Delta方法|delta 方法]],我们有<math display="block">\mathbb E_{z_i \sim q_\phi(\cdot|x)}\left[ \ln \left(\frac 1N \sum_i \frac{p_\theta (z_i|x)}{q_\phi(z_i|x)}\right) \right] \approx -\frac{1}{2N} \mathbb V_{z \sim q_\phi(\cdot|x)}\left[\frac{p_\theta (z|x)}{q_\phi(z|x)}\right] = O(N^{-1})</math>如果我们继续推导,我们将得到加权自编码器。<ref>{{Cite journal |last=Burda |first=Yuri |last2=Grosse |first2=Roger |last3=Salakhutdinov |first3=Ruslan |date=2015-09-01 |title=Importance Weighted Autoencoders |url=https://ui.adsabs.harvard.edu/abs/2015arXiv150900519B |access-date=2023-03-22 |archive-date=2023-03-22 |archive-url=https://web.archive.org/web/20230322191936/https://ui.adsabs.harvard.edu/abs/2015arXiv150900519B |dead-url=no }}</ref>但是让我们先回到最简单的情况,即<math>N=1</math>:<math display="block">\ln p_\theta(x)= \ln \mathbb E_{z\sim q_\phi(\cdot|x)}\left[\frac{p_\theta (x, z)}{q_\phi(z|x)}\right] \geq \mathbb E_{z\sim q_\phi(\cdot|x)}\left[\ln\frac{p_\theta (x, z)}{q_\phi(z|x)}\right]</math>不等式的紧度有一个解析解:<math display="block">\ln p_\theta(x)- \mathbb E_{z\sim q_\phi(\cdot|x)}\left[\ln\frac{p_\theta (x, z)}{q_\phi(z|x)}\right] = D_{\mathit{KL}}(q_\phi(\cdot | x)\| p_\theta(\cdot | x))\geq 0</math>这样我们就得到了ELBO函数:<math display="block">L(\phi, \theta; x) := \ln p_\theta(x) - D_{\mathit{KL}}(q_\phi(\cdot | x)\| p_\theta(\cdot | x))</math> === 最大化 ELBO === 对于固定的<math>x</math>,优化<math>\max_{\theta, \phi} L(\phi, \theta; x)</math>的同时试图最大化<math>\ln p_\theta(x)</math>和最小化<math>D_{\mathit{KL}}(q_\phi(\cdot | x)\| p_\theta(\cdot | x))</math>。如果<math>p_\theta</math>和<math>q_\phi</math>的参数化足够灵活,我们会得到一些 <math>\hat\phi, \hat \theta</math>,使得我们同时得到了以下近似:<math display="block">\ln p_{\hat \theta}(x) \approx \max_\theta \ln p_\theta(x); \quad q_{\hat\phi}(\cdot | x)\approx p_{\hat\theta}(\cdot | x)</math>由于<math display="block">\mathbb{E}_{x\sim p^*(x)}[\ln p_\theta (x)] = -H(p^*) - D_{\mathit{KL}}(p^*(x) \| p_\theta(x))</math>我们有<math display="block">\ln p_{\hat \theta}(x) \approx \max_\theta -H(p^*) - D_{\mathit{KL}}(p^*(x) \| p_\theta(x))</math>所以<math display="block">\hat\theta \approx \arg\min D_{\mathit{KL}}(p^*(x) \| p_\theta(x))</math>也就是说: 最大化ELBO将同时使我们得到一个准确的生成模型<math>p_{\hat\theta} \approx p^*</math>和一个准确的判别模型 <math>q_{\hat\phi}(\cdot | x)\approx p_{\hat\theta}(\cdot | x)</math>。 == 主要形式 == ELBO具有许多可能的表达式,每个表达式都有不同的强调。<math display="block">\mathbb{E}_{z\sim q_\phi(\cdot | x)}\left[\ln\frac{p_\theta(x, z)}{q_\phi(z|x)}\right] = \int q_\phi(z|x)\ln\frac{p_\theta(x, z)}{q_\phi(z|x)}dz</math>这个形式表明,如果我们抽样<math>z\sim q_\phi(\cdot | x)</math> , 则<math>\ln\frac{p_\theta(x, z)}{q_\phi(z|x)}</math>是 ELBO 的[[估计量的偏差|无偏估计量]]。<math display="block">\ln p_\theta(x) - D_{\mathit{KL}}(q_\phi(\cdot | x) \;\|\; p_\theta(\cdot | x))</math>这种形式显示 ELBO 是证据<math>\ln p_\theta(x)</math>的下界 ,并且关于<math>\phi</math>最大化 ELBO 等价于最小化从<math>p_\theta(\cdot | x)</math>到<math>q_\phi(\cdot | x)</math> KL 散度 .<math display="block">\mathbb{E}_{z\sim q_\phi(\cdot | x)}[\ln p_\theta(x|z)] - D_{\mathit{KL}}(q_\phi(\cdot | x) \;\|\; p)</math>这种形式显示,最大化ELBO同时试图将<math>q_\phi(\cdot | x)</math>保持接近<math>p</math>,并将<math>q_\phi(\cdot | x)</math>集中在最大化<math>\ln p_\theta (x|z)</math>的那些<math>z</math>上。也就是说,近似后验<math>q_\phi(\cdot | x)</math>在保持先验<math>p</math>的同时,朝着最大似然<math>\arg\max_z \ln p_\theta (x|z)</math>移动。<math display="block">H(q_\phi(\cdot | x)) + \mathbb{E}_{z\sim q(\cdot | x)}[\ln p_\theta(z|x)] + \ln p_\theta(x)</math>这个形式显示,最大化ELBO同时试图保持<math>q_\phi(\cdot | x)</math>的熵高,并将<math>q_\phi(\cdot | x)</math>集中于最大化<math>\ln p_\theta (z|x)</math>的那些<math>z</math> 。也就是说,近似后验<math>q_\phi(\cdot | x)</math>在均匀分布和向最大后验<math>\arg\max_z \ln p_\theta (z|x)</math>之间保持平衡。 === 数据处理不等式 === 假设我们从<math>p^*</math>中取<math>N</math>个独立样本,并将它们收集在数据集<math>D = \{x_1, ..., x_N\}</math>中,则我们具有[[经验测度|经验分布]]<math>q_D(x) = \frac 1N \sum_i \delta_{x_i}</math>。其中<math>\delta</math>表示冲激函数(Dirac函数)。 从<math>p_\theta(x)</math>拟合<math>q_D(x)</math>通常可以通过最大化对数似然<math>\ln p_\theta(D)</math>来完成:<math display="block">D_{\mathit{KL}}(q_D(x) \| p_\theta(x)) = -\frac 1N \sum_i \ln p_\theta(x_i) - H(q_D)= -\frac 1N \ln p_\theta(D) + H(q_D) </math>现在,根据 ELBO 不等式,我们可以约束<math>\ln p_\theta(D)</math> , 因此<math display="block">D_{\mathit{KL}}(q_D(x) \| p_\theta(x)) \leq -\frac 1N L(\phi, \theta; D) - H(q_D)</math>右侧简化为 KL 散度,因此我们得到:<math display="block">D_{\mathit{KL}}(q_D(x) \| p_\theta(x)) \leq -\frac 1N \sum_i L(\phi, \theta; x_i) - H(q_D)= D_{\mathit{KL}}(q_{D, \phi}(x, z); p_\theta(x, z))</math>这个结果可以解释为[[数据处理不平等|数据处理不等式]]的一个特例。 在这个解释下,最大化<math>L(\phi, \theta; D)= \sum_i L(\phi, \theta; x_i)</math>等价于最小化<math>D_{\mathit{KL}}(q_{D, \phi}(x, z); p_\theta(x, z))</math>,其中上式是真实的需要估计的量<math>D_{\mathit{KL}}(q_{D}(x); p_\theta(x))</math>的上界,通过数据处理不等式获得。也就是说,我们通过将潜在空间与观测空间连接起来,为了更高效地最小化KL散度而付出了较弱的不等式代价。<ref>{{Cite journal |last=Kingma |first=Diederik P. |last2=Welling |first2=Max |date=2019-11-27 |title=An Introduction to Variational Autoencoders |url=https://www.nowpublishers.com/article/Details/MAL-056 |journal=Foundations and Trends in Machine Learning |language=English |volume=12 |issue=4 |at=Section 2.7 |arxiv=1906.02691 |doi=10.1561/2200000056 |issn=1935-8237 |access-date=2023-03-22 |archive-date=2023-03-22 |archive-url=https://web.archive.org/web/20230322191937/https://www.nowpublishers.com/article/Details/MAL-056 |dead-url=no }}</ref> == 参考 == <references /> == 注释 == {{NoteFoot}} [[Category:概率分布理论]] {{DEFAULTSORT:证据下界}}
该页面使用的模板:
Template:Cite arXiv
(
查看源代码
)
Template:Cite journal
(
查看源代码
)
Template:Lang
(
查看源代码
)
Template:Lang-en
(
查看源代码
)
Template:NoteFoot
(
查看源代码
)
Template:NoteTag
(
查看源代码
)
Template:贝叶斯统计
(
查看源代码
)
返回
证据下界
。
导航菜单
个人工具
登录
命名空间
页面
讨论
不转换
查看
阅读
查看源代码
查看历史
更多
搜索
导航
首页
最近更改
随机页面
MediaWiki帮助
特殊页面
工具
链入页面
相关更改
页面信息