Skip to content

Commit

Permalink
update chap 19
Browse files Browse the repository at this point in the history
  • Loading branch information
futianfan committed May 13, 2017
1 parent 53d37b8 commit 8d9c9ef
Showing 1 changed file with 13 additions and 13 deletions.
26 changes: 13 additions & 13 deletions Chapter19/approximate_inference.tex
Original file line number Diff line number Diff line change
Expand Up @@ -100,7 +100,7 @@ \section{把推断视作优化问题}
\end{align}


对于一个较好的分布$q$的选择来说$\CalL$是容易计算的。
对于一个选择的合适分布$q$来说$\CalL$是容易计算的。
对任意分布$q$的选择来说,$\CalL$提供了似然函数的一个下界。
越好地近似$p(\Vh\mid\Vv)$的分布$q(\Vh\mid\Vv)$,得到的下界就越紧,换言之,就是与$\log p(\Vv)$更加接近。
$q(\Vh\mid\Vv) = p(\Vh\mid\Vv)$时,这个近似是完美的,也意味着$\CalL(\Vv,{\Vtheta},q) = \log {p(\Vv;{\Vtheta})} $
Expand All @@ -117,7 +117,7 @@ \section{把推断视作优化问题}


无论我们选择什么样的分布$q$$\CalL$始终是一个下界。
我们可以通过选择一个更简单抑或更复杂的计算过程来得到对应的更松抑或更紧的下界
我们可以通过选择一个更简单或更复杂的计算过程来得到对应的更松或更紧的下界
通过一个不彻底的优化过程或者将分布$q$做很强的限定(并且使用一个彻底的优化过程)我们可以获得一个很差的分布$q$,但是降低了计算开销。
% 626 head

Expand Down Expand Up @@ -154,7 +154,7 @@ \section{\glsentrytext{EM}}

基于\gls{latent_variable}模型的\gls{SGA}可以被看作是一个~\glssymbol{EM}~算法的特例,其中~\gls{m_step}包括了单次梯度操作。
\glssymbol{EM}~算法的其他变种可以实现多次梯度操作。
对一些模型族来说,\gls{m_step}甚至可以通过推出解析解直接完成,不同于其他方法,在给定当前$q$的情况下直接求出最优解。
对一些模型族来说,\gls{m_step}甚至可以直接推出解析解,不同于其他方法,在给定当前$q$的情况下直接求出最优解。
% 626 end


Expand All @@ -168,7 +168,7 @@ \section{\glsentrytext{EM}}

\glssymbol{EM}~算法还包含一些不同的见解。
首先,它包含了学习过程的一个基本框架,就是我们通过更新模型参数来提高整个数据集的似然,其中缺失变量的值是通过后验分布来估计的。
这种特定的性质并不是~\glssymbol{EM}~算法独有的。
这种特定的性质并非~\glssymbol{EM}~算法独有的。
例如,使用\gls{GD}来最大化对数似然函数的方法也有相同的性质。
计算对数似然函数的梯度需要对\gls{hidden_unit}的后验分布求期望。
\glssymbol{EM}~算法另一个关键的性质是当我们移动到另一个$\Vtheta$时候,我们仍然可以使用旧的分布$q$
Expand Down Expand Up @@ -213,7 +213,7 @@ \section{\glsentrytext{MAP}推断和\glsentrytext{sparse_coding}}
q(\Vh\mid\Vv) = \delta(\Vh - {\Vmu}).
\end{align}
这也意味着现在我们可以通过$\Vmu$来完全控制分布$q$
通过将$\CalL$中不随$\Vmu$变化的项丢弃,我们只需解决一个优化问题:
$\CalL$中不随$\Vmu$变化的项丢弃,我们只需解决一个优化问题:
\begin{align}
\Vmu^* = \underset{\Vmu}{\arg\max}\ \log p(\Vh = \Vmu,\Vv),
\end{align}
Expand All @@ -229,7 +229,7 @@ \section{\glsentrytext{MAP}推断和\glsentrytext{sparse_coding}}
因此我们能够证明一种类似于~\glssymbol{EM}~算法的学习算法,其中我们轮流迭代两步,一步是用~\glssymbol{MAP}~推断估计出$\Vh^*$,另一步是更新$\Vtheta$来增大$\log p(\Vh^*,\Vv)$
从~\glssymbol{EM}~算法角度看,这也是对$\CalL$的一种形式的\gls{coordinate_ascent},交替迭代时通过推断来优化关于$q$$\CalL$以及通过参数更新来优化关于$\Vtheta$$\CalL$
作为一个整体,这个算法的正确性可以得到保证,因为$\CalL$$\log p(\Vv)$的下界。
在~\glssymbol{MAP}~推断中,这个保证是无效的,因为~\gls{dirac_distribution}的熵的微分趋近于负无穷,使得这个界会无限地松。
在~\glssymbol{MAP}~推断中,这个保证是无效的,因为~\gls{dirac_distribution}的微分熵趋近于负无穷,使得这个界会无限地松。
然而,人为加入一些$\Vmu$的噪声会使得这个界又有了意义。
% 628

Expand Down Expand Up @@ -275,7 +275,7 @@ \section{\glsentrytext{MAP}推断和\glsentrytext{sparse_coding}}


我们可以通过交替迭代,分别关于$\MH$$\MW$最小化$J$的方式来最小化$J$
两个子问题都是凸的
且两个子问题都是凸的
事实上,关于$\MW$的最小化问题就是一个\gls{linear_regression}问题。
然而关于这两个变量同时最小化$J$的问题通常并不是凸的。
% 629
Expand All @@ -296,7 +296,7 @@ \section{变分推断和变分学习}
% 629

% 在一个关于q的有约束的分布族上
变分学习的核心思想就是我们在一个关于$q$的有约束的分布族上最大化$\CalL$
变分学习的核心思想就是在一个关于$q$的有约束的分布族上最大化$\CalL$
选择这个分布族时应该考虑到计算$\SetE_q \log p(\Vh,\Vv)$的难易度。
一个典型的方法就是添加分布$q$如何分解的假设。
% 630 head
Expand All @@ -307,7 +307,7 @@ \section{变分推断和变分学习}
q(\Vh\mid\Vv) = \prod_{i}^{}q(h_i \mid \Vv).
\end{align}
这被称为\firstgls{mean_field}方法。
更一般地说,我们可以通过选择分布$q$的形式来选择任何\gls{graphical_models}的结构,通过选择变量之间的相互作用来灵活地决定近似程度的大小
更一般地说,我们可以通过选择分布$q$的形式来选择任何\gls{graphical_models}的结构,通过选择变量之间相互作用的多少来灵活地决定近似程度的大小
这种完全通用的\gls{graphical_models}方法被称为\firstgls{structured_variational_inference} \citep{Saul96}。
% 630

Expand Down Expand Up @@ -477,7 +477,7 @@ \subsection{离散型\gls{latent_variable}}
但是,由于两个原因,我们往往不这么做。
第一点,对每一个$\Vv$我们需要存储$\hat{\Vh}$
我们通常更加偏向于那些不需要为每一个样本都准备内存的算法。
如果我们需要为每一个样本都存储一个动态更新的向量,使得算法很难处理上亿的样本
如果我们需要为每一个样本都存储一个动态更新的向量,使得算法很难处理几十亿的样本
第二个原因就是为了能够识别$\Vv$的内容,我们希望能够有能力快速提取特征$\hat{\Vh}$
在实际应用场景中,我们需要在有限时间内计算出$\hat{\Vh}$
% 634
Expand Down Expand Up @@ -822,7 +822,7 @@ \subsection{学习和推断之间的相互作用}
为了准确衡量变分近似带来的危害,我们需要知道$\Vtheta^* = \max_{\Vtheta} \log p(\Vv;\Vtheta)$
$\CalL(\Vv,\Vtheta,q)\approx \log p(\Vv;\Vtheta)$$\log p(\Vv;\Vtheta)\ll \log p(\Vv;\Vtheta^*)$同时成立是有可能的。
如果存在$\max_q \CalL(\Vv,\Vtheta^*,q)\ll \log p(\Vv;\Vtheta^*)$,即在$\Vtheta^*$点处后验分布太过复杂使得$q$分布族无法准确描述,那么学习过程永远无法到达$\Vtheta^*$
这样的一类问题是很难发现的,因为只有在我们有一个能够找到$\Vtheta^*$的超级学习算法时,才能确定地进行上述的比较。
这样的一类问题是很难发现的,因为只有在我们有一个能够找到$\Vtheta^*$的较好的学习算法时,才能确定地进行上述的比较。
% 642


Expand All @@ -834,7 +834,7 @@ \section{\glsentrytext{learned}\glsentrytext{approximate_inference}}
我们已经看到了推断可以被视作一个增加函数$\CalL$值的优化过程。
显式地通过迭代方法(比如\gls{fixed_point_equation}或者基于梯度的优化算法)来进行优化的过程通常是代价很高且耗时巨大的。
通过学习一个近似推断,许多推断算法避免了这种代价。
具体地说,我们可以将优化过程视作将一个输入$\Vv$投影到一个近似分布$q^* = \arg\max_q\ \CalL(\Vv,q)$的一个函数$f$
具体地说,我们可以将优化过程视作将一个输入$\Vv$投影到一个近似分布$q^* = \arg\max_q\ \CalL(\Vv,q)$的一个$f$的函数
一旦我们将多步的迭代优化过程看作是一个函数,我们可以用一个近似函数为$\hat{f}(\Vv;{\Vtheta})$\gls{NN}来近似它。


Expand Down Expand Up @@ -878,7 +878,7 @@ \subsection{\glsentrytext{learned}推断的其他形式}

这种\gls{learned}\gls{approximate_inference}策略已经被应用到了其他模型中。
\citet{Salakhutdinov+Larochelle-2010}证明了在\gls{learned}推断网络中的单遍传递相比于在\gls{DBM}中的迭代\gls{mean_field}\gls{fixed_point_equation}能够得到更快的推断。
其训练过程基于运行推断网络,然后运行一步\gls{mean_field}来改进其估计,并训练推断网络来输出这个更精细的估计以代替其原始估计。
其训练过程是基于运行推断网络的,然后运行一步\gls{mean_field}来改进其估计,并训练推断网络来输出这个更精细的估计以代替其原始估计。
% 644


Expand Down

0 comments on commit 8d9c9ef

Please sign in to comment.