Skip to content

Commit

Permalink
fix ref
Browse files Browse the repository at this point in the history
Former-commit-id: 556e1cd8037d1a157d3051f43bc3f27c826a02fb
  • Loading branch information
SwordYork committed Dec 14, 2016
1 parent 6c4447c commit a7d1013
Show file tree
Hide file tree
Showing 12 changed files with 108 additions and 100 deletions.
4 changes: 2 additions & 2 deletions Chapter10/sequence_modeling_rnn.tex
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@ \subsection{作为\glsentrytext{directed_graphical_model}的\glsentrytext{recurr
举一个简单的例子,让我们考虑只有一个标量随机变量序列$ \SetY = \{\RSy^{(1)},\dots,\RSy^{(\tau)}\}$\glssymbol{RNN}模型,也没有额外的输入$\RSx$
\gls{time_step}$t$的输入仅仅是\gls{time_step}$t-1$的输出。
\glssymbol{RNN}则定义了关于$\RSy$变量的\gls{directed_graphical_model}。
我们使用链式法则(|||c|||)参数化这些条件联合分布:
我们使用链式法则(\eqnref{eq:chap3_chain_rule})参数化这些条件联合分布:
\begin{align}
P(\SetY) = P(\RVy^{(1)},\dots,\RVy^{(\tau)}) = \prod_{t=1}^{\tau}P(\RVy^{(t)} \mid \RVy^{(t-1)},\RVy^{(t-2)},
\dots,\RVy^{(1)}),
Expand Down Expand Up @@ -1012,7 +1012,7 @@ \section{优化\glsentrytext{long_term_dependency}}
\subsection{\glsentrytext{clipping_gradient}}
\label{sec:clipping_gradients}
\secref{sec:cliffs_and_exploding_gradients}讨论,强非线性函数如由许多\gls{time_step}计算的\gls{recurrent_network}往往倾向于非常大或非常小幅度的\gls{gradient}。
如图|||c|||\figref{fig:chap10_cliff_clipping_color}所示,我们可以看到,\gls{objective_function}(作为参数的函数)有一个``地形''伴随一个``悬崖'':宽且相当平坦区域被\gls{objective_function}变化快的小区域隔开,形成了一种悬崖。
\figref{fig:chap8_cliff}\figref{fig:chap10_cliff_clipping_color}所示,我们可以看到,\gls{objective_function}(作为参数的函数)有一个``地形''伴随一个``悬崖'':宽且相当平坦区域被\gls{objective_function}变化快的小区域隔开,形成了一种悬崖。

这导致的困难是,当参数\gls{gradient}非常大时,\gls{gradient}下降的参数更新可以将参数抛出很远,进入\gls{objective_function}较大的区域,到达当前解所作的努力变成了无用功。
\gls{gradient}告诉我们,围绕当前参数的无穷小区域内最速下降的方向。
Expand Down
14 changes: 6 additions & 8 deletions Chapter12/applications.tex
Original file line number Diff line number Diff line change
Expand Up @@ -205,10 +205,10 @@ \subsection{\glsentrytext{dynamic_structure}}
序列中的第一分类器具有低\gls{capacity},高\gls{recall}。
换句话说,他们被训练确保当对象存在时,我们不会错误地拒绝输入。
最终的分类器被训练成具有高精度。
在测试时,我们按照顺序运行分类器来进行推理,一旦\gls{cascade}中的任何一个元素拒绝它,就选择放弃。
在测试时,我们按照顺序运行分类器来进行推断,一旦\gls{cascade}中的任何一个元素拒绝它,就选择放弃。
总的来说,这允许我们使用高\gls{capacity}模型以高置信度验证对象的存在,而不是强制我们为每个样本付出完全推断的成本。
有两种不同的方式可以使得\gls{cascade}实现高\gls{capacity}。
一种方法是使\gls{cascade}中较后的成员单独具有高\gls{capacity}。
一种方法是使\gls{cascade}中较后的成员单独具有高\gls{capacity}。
在这种情况下,系统作为一个整体显然具有高\gls{capacity},因为它的一些个体成员。 还可以进行\gls{cascade},其中每个单独的模型具有低\gls{capacity},但是由于许多小型模型的组合,整个系统具有高\gls{capacity}。
\citet{Viola01}使用\gls{cascade}的增强\gls{decision_tree}来实现适合在手持数字相机中使用的快速和鲁棒的面部检测器。
它们的分类器使用滑动窗口方法来定位面部,许多窗口被检查,如果它们不包含面部则被拒绝。
Expand All @@ -217,7 +217,7 @@ \subsection{\glsentrytext{dynamic_structure}}
% 437

\gls{decision_tree}本身是\gls{dynamic_structure}的一个例子,因为树中的每个节点决定应该为输入评估哪个子树。
一个完成\gls{DL}和\gls{dynamic_structure}联合的简单方法是训练一个\gls{decision_tree},其中每个节点使用神经网络做出决策\citep{guo1992classification},虽然这种方法没有实现加速推理计算的目标
一个完成\gls{DL}和\gls{dynamic_structure}联合的简单方法是训练一个\gls{decision_tree},其中每个节点使用神经网络做出决策\citep{guo1992classification},虽然这种方法没有实现加速推断计算的目标
% 437 end


Expand Down Expand Up @@ -270,13 +270,13 @@ \subsection{深度网络的专用硬件实现}
这已成为近年来更迫切的问题,因为\gls{DL}在工业产品中越来越受欢迎,并且由于更快的硬件产生的巨大影响已经通过\glssymbol{GPU}的使用得到了证明。
激励当前对深度网络的专用硬件的研究的另一个因素是单个CPU或\glssymbol{GPU}核心的进展速度已经减慢,并且最近计算速度的改进来自于核心的并行化(无论CPU还是\glssymbol{GPU})。
这与20世纪90年代的情况(前面的神经网络时代)非常不同,其中神经网络的硬件实现(从开始到芯片的可用性可能需要两年)不能跟上快速进展和价格低廉的通用CPU的脚步。
因此,在针对诸如电话的低功率设备开发新的硬件设计的时候,建立专用硬件是一种进一步推动发展的方式,旨在用于\gls{DL}的一般公共应用(例如,具有语音,\gls{CV}或 自然语言功能的设施)。
因此,在针对诸如电话的低功率设备开发新的硬件设计的时候,建立专用硬件是一种进一步推动发展的方式,旨在用于\gls{DL}的一般公共应用(例如,具有语音,\gls{CV}或自然语言功能的设施)。


最近对基于\gls{BP}的神经网络的低精度实现的工作\citep{Vanhoucke-et-al-2011,Courbariaux-et-al-ICLR2015workshop,Gupta-et-al-2015}表明,8和16位之间的精度可以足以使用或训练具有\gls{BP}的\gls{DNN}。
显而易见的是,在训练期间需要比在推理时更精确,并且数字的一些形式的动态定点表示可以用于减少每个数需要的存储空间。
显而易见的是,在训练期间需要比在推断时更精确,并且数字的一些形式的动态定点表示可以用于减少每个数需要的存储空间。
传统的固定点数限制为固定范围(其对应于浮点表示中的给定指数)。
动态固定点表示在一组数字 (例如一个层中的所有权重) 之间共享该范围。
动态固定点表示在一组数字 (例如一个层中的所有权重) 之间共享该范围。
使用固定点而不是浮点表示和每个数目使用较少的比特减少了执行乘法所需的硬件表面积,功率需求和计算时间,并且乘法是使用或训练\gls{BP}的现代深度网络中要求最高的操作。


Expand Down Expand Up @@ -1189,5 +1189,3 @@ \subsubsection{知识、联系和回答}
一般而言,这些方法使用\gls{cost_function}的梯度寻找模型(近似于某些所期望的函数)的参数。
当具有足够的训练数据时,这种方法是非常强大的。
我们现在转到第三部分,开始进入研究领域,旨在使用较少的训练数据或执行更多样的任务,其中的挑战更困难也远远没有解决(相比目前为止所描述的情况)。


36 changes: 22 additions & 14 deletions Chapter13/linear_factor_models.tex
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ \chapter{\glsentrytext{linear_factor}}
\Vx = \MW \Vh + \Vb + \text{noise}
\end{align}
其中噪声通常是对角化的(在维度上是独立的)且服从高斯分布。
在图\ref{fig:linear_factors}有具体说明。
\figref{fig:linear_factors}有具体说明。
% 480

\begin{figure}[!htb]
Expand All @@ -60,7 +60,7 @@ \section{\glsentrytext{PPCA}和\glsentrytext{FA}}
\label{sec:probabilistic_PCA_and_factor_analysis}
% 480

\firstgls{PPCA},\gls{FA}和其他\gls{linear_factor}是上述等式(\eqref{eqn:131},\eqref{eqn:132})的特殊情况,并且仅在对观测到$\Vx$之前的噪声分布和隐变量$\Vh$的先验的选择上不同。
\firstgls{PPCA},\gls{FA}和其他\gls{linear_factor}是上述等式(\eqnref{eqn:131},\eqnref{eqn:132})的特殊情况,并且仅在对观测到$\Vx$之前的噪声分布和隐变量$\Vh$的先验的选择上不同。
% 480

\firstgls{FA}\citep{Bartholomew-1987,Basilevsky94}中,隐变量的先验是一个方差为单位矩阵的高斯分布
Expand Down Expand Up @@ -117,15 +117,15 @@ \section{\glsentrytext{ICA}}

\firstall{ICA}是最古老的表示学习之一算法\citep{Herault+Ans-1984,Jutten+Herault-91,Comon94,Hyvarinen-1999,Hyvarinen-2001,Hinton-ICA-2001,Teh-2003}。
它是一种建模线性因子的方法,旨在分离观察到的信号,并转换为许多基础信号的叠加。
这些信号是完全独立的,而不是仅仅彼此不相关\footnote{\ref{sec:expectation_variance_and_covariance}节讨论了不相关变量和独立变量之间的差异。}。
这些信号是完全独立的,而不是仅仅彼此不相关\footnote{\secref{sec:expectation_variance_and_covariance}讨论了不相关变量和独立变量之间的差异。}。
% 481


许多不同的具体方法被称为\gls{ICA}。
与我们本书中描述的其他的\gls{generative_model}最相似的\gls{ICA}变种是训练完全参数化的\gls{generative_model}\citep{Pham-et-al-1992}。
隐含因子$\Vh$的先验$p(\Vh)$,必须由用户给出并固定。
接着模型确定性的生成$\Vx = \MW \Vh$
我们可以通过非线性变化(使用公式\eqref{eqn:3.47})来确定$p(\Vx)$
我们可以通过非线性变化(使用\eqnref{eqn:3.47})来确定$p(\Vx)$
然后通过一般的方法比如\gls{MLE}进行学习。
% 482 head

Expand All @@ -146,7 +146,7 @@ \section{\glsentrytext{ICA}}
一些版本在$\Vx$的生成中添加一些噪声,而不是使用确定性的\gls{decoder}。
大多数不使用\gls{MLE}准则,而是旨在使$\Vh = \MW^{-1}\Vx$的元素彼此独立。
许多准则能够达成这个目标。
方程\eqref{eqn:3.47}需要用到$\MW$的行列式,这可能是昂贵且数值不稳定的操作。
\eqnref{eqn:3.47}需要用到$\MW$的行列式,这可能是昂贵且数值不稳定的操作。
\gls{ICA}的一些变种通过将$\MW$约束为正交来避免这个有问题的操作。
% 482

Expand All @@ -170,7 +170,7 @@ \section{\glsentrytext{ICA}}
% 483 head


正如\glssymbol{PCA}可以推广到第\ref{chap:autoencoders}章中描述的非线性\gls{AE},\gls{ICA}可以推广到非线性\gls{generative_model},其中我们使用非线性函数$f$来生成观测数据。
正如\glssymbol{PCA}可以推广到\chapref{chap:autoencoders}中描述的非线性\gls{AE},\gls{ICA}可以推广到非线性\gls{generative_model},其中我们使用非线性函数$f$来生成观测数据。
关于非线性\gls{ICA}最初的工作可以参考\citet{hyvarinen1999nonlinear},它和\gls{ensemble_learning}的成功结合可以参见\citet{roberts2001independent,lappalainen2000nonlinear}。
\gls{ICA}的另一个非线性扩展是\firstall{NICE}方法\citep{Dinh-et-al-arxiv2014},这个方法堆叠了一系列可逆变换(\gls{encoder}),从而能够高效的计算每个变换的雅可比行列式。
这使得我们能够精确地计算似然,并且像\gls{ICA}一样,\glssymbol{NICE}尝试将数据变换到具有可分解的边缘分布的空间。
Expand Down Expand Up @@ -300,7 +300,7 @@ \section{\glsentrytext{sparse_coding}}
严格地说,术语``\gls{sparse_coding}''是指在该模型中推断$\Vh$的值的过程,而``稀疏建模''是指设计和学习模型的过程,但是通常这两个概念都可以用术语``\gls{sparse_coding}''描述。
% 486

像其它的\gls{linear_factor}一样,它使用了线性的\gls{decoder}加上噪音的方式获得一个$\Vx$的重构,就像公式~\eqref{eqn:132}描述的一样。
像其它的\gls{linear_factor}一样,它使用了线性的\gls{decoder}加上噪音的方式获得一个$\Vx$的重构,就像\eqnref{eqn:132}描述的一样。
更具体的说,\gls{sparse_coding}模型通常假设线性因子有一个各向同性的精度为$\beta$的高斯噪音:
\begin{align}
\label{eqn:1312}
Expand All @@ -326,7 +326,7 @@ \section{\glsentrytext{sparse_coding}}

使用\gls{MLE}的方法来训练\gls{sparse_coding}模型是不可行的。
相反,训练在编码数据和训练\gls{decoder}之间交替,以在给定编码的情况下更好地重建数据。
稍后在\ref{sec:map_inference_and_sparse_coding}节中,这种方法将被进一步证明为解决似然最大化问题的一种通用的近似方法。
稍后在\secref{sec:map_inference_and_sparse_coding},这种方法将被进一步证明为解决似然最大化问题的一种通用的近似方法。
% 487

对于诸如\glssymbol{PCA}的模型,我们已经看到使用了预测$\Vh$的参数化的\gls{encoder}函数,并且该函数仅包括乘以权重矩阵。
Expand All @@ -339,7 +339,7 @@ \section{\glsentrytext{sparse_coding}}
% 487


结合方程~\eqref{eqn:1313}和~\eqref{eqn:1312},我们得到如下的优化问题:
结合\eqnref{eqn:1313}和\eqnref{eqn:1312},我们得到如下的优化问题:
\begin{align}
\label{eqn:1316}
& \underset{\Vh}{\arg\max}\ p(\Vh\vert\Vx) \\
Expand All @@ -349,7 +349,7 @@ \section{\glsentrytext{sparse_coding}}
其中,我们扔掉了与$\Vh$无关的项,除以一个正的伸缩因子来简化表达。
% 487

由于在$\Vh$上施加$L^1$范数,这个过程将产生稀疏的$\Vh^*$\ref{sec:l1_regularization})。
由于在$\Vh$上施加$L^1$范数,这个过程将产生稀疏的$\Vh^*$\secref{sec:l1_regularization})。
% 487

为了训练模型而不仅仅是进行推理,我们交替迭代关于$\Vh$$\MW$的最小化过程。
Expand Down Expand Up @@ -385,12 +385,12 @@ \section{\glsentrytext{sparse_coding}}


非参数\gls{encoder}的主要缺点是在给定$\Vx$的情况下需要大量的时间来计算$\Vh$,因为非参数方法需要运行迭代算法。
在第\ref{chap:autoencoders}章中讲到的参数化的\gls{AE}方法仅使用固定数量的层,通常只有一层。
\chapref{chap:autoencoders}中讲到的参数化的\gls{AE}方法仅使用固定数量的层,通常只有一层。
另一个缺点是它不直接通过非参数\gls{encoder}进行反向传播,这使得我们很难采用先使用无监督方式预训练\gls{sparse_coding}模型然后使用有监督方式对其进行微调的方法。
允许近似导数的\gls{sparse_coding}模型的修改版本确实存在但未被广泛使用\citep{Bradley+Bagnell-2009-small}。
% 488 end

像其他\gls{linear_factor}一样,\gls{sparse_coding}经常产生糟糕的样本,如图\ref{fig:s3c_samples}所示。
像其他\gls{linear_factor}一样,\gls{sparse_coding}经常产生糟糕的样本,\figref{fig:s3c_samples}所示。
即使当模型能够很好地重构数据并为分类器提供有用的特征时,也会发生这种情况。
这种现象原因是每个单独的特征可以很好地被学习到,但是隐含结点可分解的先验会导致模型包括每个生成的样本中的所有特征的随机子集。
the factorial prior on the hidden code results in the model including random subsets of all of the features in each generated sample.
Expand All @@ -417,12 +417,20 @@ \section{\glssymbol{PCA}的\glsentrytext{manifold}解释}

\gls{linear_factor},包括了\glssymbol{PCA}和\gls{FA},可以被解释为学习一个\gls{manifold}\citep{hinton97modelling}。
我们可以将\gls{PPCA}定义为高概率的薄饼状区域,即高斯分布,沿着某些轴非常窄,就像薄饼沿着其垂直轴非常平坦,但沿着其他轴是细长的,正如薄饼在其水平轴方向是很宽的一样。
图|||c|||解释了这种现象。
\figref{fig:PPCA_pancake}解释了这种现象。
\glssymbol{PCA}可以理解为将该薄饼与更高维空间中的线性\gls{manifold}对准。
这种解释不仅适用于传统\glssymbol{PCA},而且适用于学习矩阵$\MW$$\MV$的任何线性\gls{AE},其目的是使重构的$\Vx$尽可能接近于原始的$\Vx$
% 489 end


\begin{figure}[!htb]
\ifOpenSource
\centerline{\includegraphics{figure.pdf}}
\else
\centerline{\includegraphics{Chapter13/figures/PPCA_pancake_color}}
\fi
\caption{TODO}
\label{fig:PPCA_pancake}
\end{figure}


\gls{encoder}表示为
Expand Down
2 changes: 1 addition & 1 deletion Chapter15/representation_learning.tex
Original file line number Diff line number Diff line change
Expand Up @@ -98,7 +98,7 @@ \section{贪心地逐层\glsentrytext{unsupervised_pretraining}}

\gls{greedy_layer_wise_unsupervised_pretraining}也能用作其他\gls{unsupervised_learning}算法的初始化,比如深度\gls{AE}\citep{Hinton-Science2006}和具有很多\gls{latent_variable}层的概率模型。
这些\gls{model}包括\gls{DBN}\citep{Hinton06-small}和\gls{DBM}\citep{Salakhutdinov+Hinton-2009-small}。
这些\gls{DGM}会在第二十章讨论
这些\gls{DGM}会在\chapref{chap:deep_generative_models}讨论


正如\secref{sec:supervised_pretraining}所探讨的,也可能进行贪心逐层\emph{监督}\gls{pretraining}。
Expand Down
Loading

0 comments on commit a7d1013

Please sign in to comment.