Skip to content

Commit

Permalink
fix label ref
Browse files Browse the repository at this point in the history
Former-commit-id: f6f3902
Former-commit-id: 4239af557f99dc4fd2188bc0dc2577552f5faeba
  • Loading branch information
SwordYork committed Dec 9, 2016
1 parent 9fc9a35 commit 553589a
Show file tree
Hide file tree
Showing 14 changed files with 41 additions and 33 deletions.
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
*.sh
*.glo
*.ist
Chapter20
agreement.jpg
dlbook_cn_public.tex
dlbook_cn_public.bib
Expand Down
10 changes: 6 additions & 4 deletions Chapter12/applications.tex
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ \subsection{深度网络的专用硬件实现}
因此,在针对诸如电话的低功率设备开发新的硬件设计的时候,建立专用硬件是一种进一步推动发展的方式,旨在用于\gls{DL}的一般公共应用(例如,具有语音,\gls{CV}或 自然语言功能的设施)。


最近对基于\gls{BP}的神经网络的低精度实现的工作\citep{Vanhoucke-et-al-2011,}表明,8和16位之间的精度可以足以使用或训练具有\gls{BP}的\gls{DNN}。
最近对基于\gls{BP}的神经网络的低精度实现的工作\citep{Vanhoucke-et-al-2011,Courbariaux-et-al-ICLR2015workshop,Gupta-et-al-2015}表明,8和16位之间的精度可以足以使用或训练具有\gls{BP}的\gls{DNN}。
显而易见的是,在训练期间需要比在推理时更精确,并且数字的一些形式的动态定点表示可以用于减少每个数需要的存储空间。
传统的固定点数限制为固定范围(其对应于浮点表示中的给定指数)。
动态固定点表示在一组数字 (例如一个层中的所有权重) 之间共享该范围。
Expand Down Expand Up @@ -448,7 +448,7 @@ \subsubsection{对比度归一化}

\subsection{\glsentrytext{dataset_augmentation}}
\label{sec:dataset_augmentation_chap12}
\ref{sec:chap7_dataset_augmentation}节中所讲到的,通过增加训练集的额外副本来增加训练集的大小,从而改进分类器的\gls{generalization}能力。
\ref{sec:dataset_augmentation_chap7}节中所讲到的,通过增加训练集的额外副本来增加训练集的大小,从而改进分类器的\gls{generalization}能力。
其中训练集的额外副本并不改变其标签。
对象识别是特别适合于这种形式的\gls{dataset_augmentation}的分类任务,因为标签对于许多变换是不变的,可以对输入使用许多几何变换。
如前所述,分类器可以受益于随机转换旋转,以及在某些情况下,输入的翻转以增强数据集。
Expand Down Expand Up @@ -715,7 +715,7 @@ \subsubsection{分层Softmax}
这些嵌套类别构成一棵树,其叶上是词。
在平衡树中,树的深度为$\log |\SetV|$
选择一个词的概率是由路径(从树根到包含该词叶子的路径)上的每个节点通向该词分支概率的乘积给出。
\ref{chap12_word_hierarchy}是一个简单的例子。
\ref{fig:chap12_word_hierarchy}是一个简单的例子。
\citet{Mnih+Hinton-2009}也描述了使用多个路径来识别单个词的方法,以便更好地建模具有多个含义的词。
计算词的概率则涉及在导向该词所有路径上的求和。
\begin{figure}[htp]
Expand Down Expand Up @@ -775,6 +775,7 @@ \subsubsection{分层Softmax}
这可能是词类选择得不好。

\subsubsection{\glsentrytext{importance_sampling}}
\label{sec:importance_sampling_chap12}
加速\gls{NLM}训练的一种方式是避免明确计算所有词(未出现在下一位置)对梯度的贡献。
每个不正确的词在此模型下应该具有低概率。
枚举所有这些单词计算成本可能会很高。
Expand All @@ -793,7 +794,7 @@ \subsubsection{\glsentrytext{importance_sampling}}
从模型中抽样需要对词汇表中所有的$i$计算$P(i \mid C)$,这正是我们试图避免的。

我们可以从另一个分布中抽样,而不是从模型中抽样,称为\firstgls{proposal_distribution}(记为$q$),并通过适当的权重来校正从错误分布抽样引入的\gls{bias_sta} \citep{Bengio+Senecal-2003-small,Bengio+Senecal-2008}。
这是一种称为\firstgls{importance_sampling}的更通用技术的应用,我们将在\ref{sec:importance_sampling}节中更详细地描述。
这是一种称为\firstgls{importance_sampling}的更通用技术的应用,我们将在\ref{sec:importance_sampling_chap12}节中更详细地描述。
不幸的是,即使精确\gls{importance_sampling}也不一定有效,因为需要计算权重$p_i / q_i$,其中的$p_i = P(i \mid C)$只能在计算所有得分$a_i$后才能计算。
这个应用采取的解决方案称为\gls{biased_importance_sampling},其中重要性权重被归一化加和为1。
当对负词$n_i$进行采样时,相关联的梯度被加权为:
Expand Down Expand Up @@ -921,6 +922,7 @@ \subsection{\glsentrytext{NMT}}
% -- 462 --

\subsubsection{使用\glsentrytext{attention_mechanism}并对齐数据片段}
\label{sec:using_an_attention_mechanism_and_aligning_pieces_of_data}
使用固定大小的表示来概括非常长的句子(例如60个词)的所有语义细节是非常困难的。
这可以使用足够大的RNN,并且用足够长时间训练得很好,才能实现,如 \citet{Cho-et-al-EMNLP2014}和\citet{Sutskever-et-al-NIPS2014}所表明的。
然而,更高效的方法是先读取整个句子或段落(以获得正在表达的上下文和焦点),然后一次翻译一个词,每次聚焦于输入句子的不同部分来收集产生下一个输出词所需的语义细节。
Expand Down
4 changes: 2 additions & 2 deletions Chapter13/linear_factor_models.tex
Original file line number Diff line number Diff line change
Expand Up @@ -125,7 +125,7 @@ \section{\glsentrytext{ICA}}
与我们本书中描述的其他的\gls{generative_model}最相似的\gls{ICA}变种是训练完全参数化的\gls{generative_model}\citep{Pham-et-al-1992}。
隐含因子$\Vh$的先验$p(\Vh)$,必须由用户给出并固定。
接着模型确定性的生成$\Vx = \MW \Vh$
我们可以通过非线性变化(使用公式\eqref{eqn:347})来确定$p(\Vx)$
我们可以通过非线性变化(使用公式\eqref{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:347}需要用到$\MW$的行列式,这可能是昂贵且数值不稳定的操作。
方程\eqref{eqn:3.47}需要用到$\MW$的行列式,这可能是昂贵且数值不稳定的操作。
\gls{ICA}的一些变种通过将$\MW$约束为正交来避免这个有问题的操作。
% 482

Expand Down
2 changes: 1 addition & 1 deletion Chapter14/autoencoders.tex
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ \chapter{\glsentrytext{AE}}

数十年间,\gls{AE}的想法一直是\gls{NN}历史景象的一部分~\citep{Lecun-these87,Bourlard88,hinton1994amd-small}。
传统上,\gls{AE}被用于\gls{dimensionality_reduction}或特征学习。
近年来,\gls{AE}与隐变量模型理论的联系将\gls{AE}带到了生成建模的前沿,我们将在\ref{chap:generative_models}章看到更多细节。
近年来,\gls{AE}与隐变量模型理论的联系将\gls{AE}带到了生成建模的前沿,我们将在\ref{chap:deep_generative_models}章看到更多细节。
\gls{AE}可以被看作是\gls{feedforward_network}的一种特殊情况,并且可以使用完全相同的技术进行训练,通常使用\gls{minibatch}\gls{GD}法(基于\gls{back_propagation}计算的梯度)。
不像一般的\gls{feedforward_network},\gls{AE}也可以使用\firstgls{recirculation}训练\citep{Hinton+McClelland-NIPS1987},这是一种基于比较原始输入和\gls{reconstruction}输入激活的学习算法。
相比\gls{back_propagation}算法,\gls{recirculation}算法从生物学上看似更有道理,但很少用于\gls{ML}。
Expand Down
4 changes: 2 additions & 2 deletions Chapter16/structured_probabilistic_modelling.tex
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ \chapter{\glsentrytext{DL}中的\glsentrytext{structured_probabilistic_models}}

\gls{DL}为研究者们提供了许多的指导性的建模和设计算法的思路。
其中一种形式是\firstgls{structured_probabilistic_models}。
我们曾经在\ref{sec:chap3_structured_probabilistic_models}中简要讨论过。
我们曾经在\ref{sec:structured_probabilistic_models_chap3}中简要讨论过。
那个简单的介绍已经足够使我们充分了解如何使用\gls{structured_probabilistic_models}来描述第二部分中的某些算法。
现在,在第三部分,\gls{structured_probabilistic_models}是许多\gls{DL}中重要的研究方向的重要组成部分。
作为讨论这些研究方向的预备知识,本章详细的描述了\gls{structured_probabilistic_models}。
Expand Down Expand Up @@ -776,7 +776,7 @@ \subsection{\glsentrytext{factor_graph}}
变量和\gls{factor}通过无向边连接。
当且仅当变量包含在\gls{unnormalized_probability_function}的\gls{factor}中时,变量和\gls{factor}在图中连接。
没有\gls{factor}可以连接到图中的另一个\gls{factor},也不能将变量连接到变量。
\ref{sec:factor_graph}给出了一个例子来说明\gls{factor_graph}如何解决无向网络中的模糊性。
\ref{sec:factor_graphs}给出了一个例子来说明\gls{factor_graph}如何解决无向网络中的模糊性。
% 570


Expand Down
6 changes: 3 additions & 3 deletions Chapter17/monte_carlo_methods.tex
Original file line number Diff line number Diff line change
Expand Up @@ -80,13 +80,13 @@ \subsection{\glsentrytext{monte_carlo}采样的基础}
% 583

以上的所有结论都依赖于我们可以从基准分布$p(\Vx)$中轻易的采样,但是这个假设并不是一直成立的。
当我们无法从$p$中采样时,一个备选方案是用\gls{importance_sampling},在Sec~\ref{sec:importance_sampling}会讲到。
当我们无法从$p$中采样时,一个备选方案是用\gls{importance_sampling},在Sec~\ref{sec:importance_sampling_chap17}会讲到。
一种更加通用的方式是采样一系列的趋近于目标分布的估计。
这就是\gls{mcmc}方法(见Sec~\ref{sec:markov_chain_monte_carlo_methods})。
% 583

\section{\glsentrytext{importance_sampling}}
\label{sec:importance_sampling}
\label{sec:importance_sampling_chap17}

如方程~\eqref{eqn:integra}所示,在\gls{monte_carlo}方法求积分(或者求和)的过程中,确定积分的哪一部分作为概率分布$p(\Vx)$,哪一部分作为被积的函数$f(\Vx)$(我们感兴趣的是估计$f(\Vx)$在概率分布$p(\Vx)$下的期望)是很关键的一步。
$p(\Vx)f(\Vx)$存在不唯一的分解因为它通常可以被写成
Expand Down Expand Up @@ -166,7 +166,7 @@ \section{\glsentrytext{importance_sampling}}
% 585

尽管存在上述的风险,但是\gls{importance_sampling}及其变种在\gls{ML}中的应用中仍然扮演着重要的角色,包括\gls{DL}问题。
比方说,\gls{importance_sampling}被应用于加速训练大规模词汇神经网络的过程中(见\ref{sec:chap12_importance_sampling}章)或者其它有着大量输出结点的\gls{NN}中。
比方说,\gls{importance_sampling}被应用于加速训练大规模词汇神经网络的过程中(见\ref{sec:importance_sampling_chap12}章)或者其它有着大量输出结点的\gls{NN}中。
此外,还可以看到\gls{importance_sampling}应用于估计\gls{partition_function}(一个概率分布的归一化常数)的过程中(详见第\ref{sec:estimating_the_partition_function}章)以及在深度有向图模型比如\gls{VAE}中估计似然函数的对数(详见第\ref{sec:variational_autoencoders}章)。
采用\gls{SGD}训练模型参数的时候\gls{importance_sampling}可以用来改进对\gls{cost_function}的梯度的估计,尤其是针对于分类器模型的训练中一小部分错误分类样本产生的\gls{cost_function}。
在这种情况下更加频繁的采集这些困难的样本可以降低梯度的估计的方差\citep{Hinton06}。
Expand Down
6 changes: 3 additions & 3 deletions Chapter19/approximate_inference.tex
Original file line number Diff line number Diff line change
Expand Up @@ -318,7 +318,7 @@ \section{变分推断和学习}
在这种情况下,我们要用$q$来拟合$p$
然而,我们并不是直接拟合一个近似,而是处理一个\gls{KL}的问题。
当我们使用\gls{MLE}来将数据拟合到模型的时候,我们最小化$D_{\text{KL}}(p_{\text{data}\Vert p_{\text{model}}})$
如同图\ref{fig:chap3}中所示,这意味着\gls{MLE}促进模型在每一个数据达到更高概率的地方达到更高的概率,而基于优化的推断则促进了$q$在每一个真实后验分布概率较低的地方概率较小。
如同图\ref{fig:chap3_kl_direction_color}中所示,这意味着\gls{MLE}促进模型在每一个数据达到更高概率的地方达到更高的概率,而基于优化的推断则促进了$q$在每一个真实后验分布概率较低的地方概率较小。
这两种方法都有各自的优点与缺点。
选择哪一种方法取决于在具体应用中哪一种性质更受偏好。
在基于优化的推断问题中,从计算角度考虑,我们选择使用$D_{\text{KL}}(q(\Vh\vert\Vv)\Vert p(\Vh\vert\Vv))$
Expand Down Expand Up @@ -361,7 +361,7 @@ \subsection{离散隐含变量}
为了具体化这些描述,我们接下来会讲如何将变分推断应用到\firstgls{binary_sparse_coding}模型(这里我们所描述的模型是\citet{henniges2010binary}提出的,但是我们采用了传统的通用的\gls{mean_field}方法,而原文作者采用了一种特殊设计的算法)中。
推导过程在数学上非常详细,为希望完全了解变分推断细节的读者所准备。
而对于并不计划推导或者实现变分学习算法的读者来说,可以完全跳过,直接阅读下一节,这并不会导致重要概念的遗漏。
那些从事过\gls{binary_sparse_coding}研究的读者可以重新看一下\ref{sec:userful_properties_of_common_functions}节中的一些经常在概率模型中出现的有用的函数性质。
那些从事过\gls{binary_sparse_coding}研究的读者可以重新看一下\ref{sec:useful_properties_of_common_functions}节中的一些经常在概率模型中出现的有用的函数性质。
我们在推导过程中随意的使用了这些性质,并没有特别强调它们。
% 632 head

Expand Down Expand Up @@ -532,7 +532,7 @@ \subsection{离散隐含变量}
\gls{binary_sparse_coding}的后杨分布中,\gls{mean_field}近似为了捕获到更多的\gls{explaining_away}作用,产生了这种竞争。
事实上,\gls{explaining_away}效应会导致一个多峰值的后验分布,所以我们如果从后验分布中采样,一些样本只有一个结点是活跃的,其它的样本在其它的结点活跃,只有很少的样本能够所有的结点都处于活跃状态。
不幸的是,\gls{explaining_away}作用无法通过\gls{mean_field}中可分解的$q$分布来建模,因此建模时\gls{mean_field}近似只能选择一个峰值。
这个现象的一个例子可以参考图~\ref{fig:}。
这个现象的一个例子可以参考图~\ref{fig:chap3_kl_direction_color}。
% 636


Expand Down
2 changes: 1 addition & 1 deletion Chapter2/linear_algebra.tex
Original file line number Diff line number Diff line change
Expand Up @@ -644,7 +644,7 @@ \section{\gls{SVD}}


\section{\glsentrytext{Moore}}
\label{sec:the_moore_penrose_pseudoinverse_matrix}
\label{sec:the_moore_penrose_pseudoinverse}


对于非方矩阵而言,其逆矩阵没有定义。
Expand Down
5 changes: 3 additions & 2 deletions Chapter3/probability_and_information_theory.tex
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ \chapter{概率与信息论}

概率论使我们能够作出不确定的\gls{statement}以及在不确定性存在的情况下推理,而信息论使我们能够量化\gls{PD}中的不确定性总量。

如果你已经对概率论和信息论很熟悉了,那么你可能会希望跳过除了\ref{sec:structured_probabilistic_models}节以外的整章内容,而在这一节中我们会介绍用来描述机器学习中\gls{structured_probabilistic_models}的图。
如果你已经对概率论和信息论很熟悉了,那么你可能会希望跳过除了\ref{sec:structured_probabilistic_models_chap3}节以外的整章内容,而在这一节中我们会介绍用来描述机器学习中\gls{structured_probabilistic_models}的图。
如果你对这些主题完全没有任何的先验知识,本章对于完成深度学习的研究项目来说已经足够,但我们还是建议你能够参考一些额外的资料,例如\cite{Jaynes03}。

% -- 51 --
Expand Down Expand Up @@ -659,6 +659,7 @@ \section{连续型变量的技术细节}
在高维空间中,微分运算扩展为\firstgls{jacobian_matrix}的行列式——矩阵的每个元素为$J_{i, j} = \frac{\partial x_i}{\partial y_j}$
因此,对于实数值的向量$\bm{x}$$\bm{y}$
\begin{equation}
\label{eqn:3.47}
p_x(\bm{x}) = p_y(g(\bm{x})) \left | \det \left ( \frac{\partial g(\bm{x})}{\partial \bm{x}} \right) \right |.
\end{equation}

Expand Down Expand Up @@ -763,7 +764,7 @@ \section{信息论}
% -- 73 --

\section{\glsentrytext{structured_probabilistic_models}}
\label{sec:structured_probabilistic_models}
\label{sec:structured_probabilistic_models_chap3}

机器学习的算法经常会涉及到在非常多的\gls{RV}上的\gls{PD}。
通常,这些\gls{PD}涉及到的直接相互作用都是介于非常少的变量之间的。
Expand Down
2 changes: 1 addition & 1 deletion Chapter5/machine_learning_basics.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1222,7 +1222,7 @@ \section{贝叶斯统计}
更重要的区别是贝叶斯估计会给出一个协方差矩阵,表示$\Vw$所有不同值的可能范围,而不仅是估计$\mu_m$

\subsection{\glsentrytext{MAP}(\glssymbol{MAP})估计}
\label{sec:maximum_a_posteriori_estimation}
\label{sec:maximum_a_posteriori_map_estimation}
虽然使用完整的贝叶斯后验分布进行参数$\Vtheta$预测是非常合理的,但仍常常希望能够进行单点估计。
希望点估计的一个常见原因是,对于非常有趣的模型而言,大部分涉及到贝叶斯后验的操作是非常棘手的,点估计提供了一个可解的近似。
并非简单地回归到\gls{MLE},我们仍然可以通过先验影响点估计的选择而获取贝叶斯方法的优点。
Expand Down
6 changes: 3 additions & 3 deletions Chapter6/deep_feedforward_networks.tex
Original file line number Diff line number Diff line change
Expand Up @@ -901,7 +901,7 @@ \subsection{其他隐含单元}

% -- 190 --

softmax单元是另外一种经常用作输出的单元(如第\ref{sec:softmax_units for_multinoulli_output_distributions}节中所描述的),但有时也可以用作隐含单元。
softmax单元是另外一种经常用作输出的单元(如第\ref{sec:softmax_units_for_multinoulli_output_distributions}节中所描述的),但有时也可以用作隐含单元。
softmax单元很自然地表示具有$k$个可能值的离散型随机变量的概率分布,所以它们可以用作一种开关。
这些类型的隐含单元通常仅用于明确地学习操作内存的高级结构中,将在\ref{sec:explicit_memory}节中描述。

Expand Down Expand Up @@ -1370,7 +1370,7 @@ \subsection{一般化的BP}
\begin{equation}
\sum_i (\nabla_{\TSX} \verb|op.f(inputs|)_i) \textsf{G}_i,
\end{equation}
这只是如公式\ref{eq: 6.47}所表达的链式法则的实现。
这只是如公式\ref{eq:6.47}所表达的链式法则的实现。
这里,\verb|inputs|是提供给操作的一组输入,\verb|op.f|是操作实现的数学函数,$\TSX$是输入,我们想要计算关于它的梯度,$\TSG$是操作对于输出的梯度。

\verb|op.bprop|方法应该总是假装它的所有输入彼此不同,即使它们不是。
Expand Down Expand Up @@ -1524,7 +1524,7 @@ \subsection{深度学习界以外的微分}

% -- 215 --

当前向图$\CalG$具有单个输出节点,并且每个偏导数$\frac{\partial u^{(i)}}{\partial u^{(j)}}$都可以用恒定的计算量来计算时,反向传播保证梯度计算的计算数目和前向计算的计算数目是同一个量级:这可以在算法|||c|||中看出,因为每个局部偏导数$\frac{\partial u^{(i)}}{\partial u^{(j)}}$以及递归链式公式(公式\ref{eq: 6.49})中相关的乘和加都只需计算一次。
当前向图$\CalG$具有单个输出节点,并且每个偏导数$\frac{\partial u^{(i)}}{\partial u^{(j)}}$都可以用恒定的计算量来计算时,反向传播保证梯度计算的计算数目和前向计算的计算数目是同一个量级:这可以在算法|||c|||中看出,因为每个局部偏导数$\frac{\partial u^{(i)}}{\partial u^{(j)}}$以及递归链式公式(公式\ref{eq:6.49})中相关的乘和加都只需计算一次。
因此,总的计算量是$O(\#\text{edges})$
然而,可能通过对反向传播算法构建的计算图进行简化来减少这些计算量,并且这是NP完全问题。
诸如Theano和TensorFlow的实现使用基于匹配已知简化模式的试探法,以便重复地尝试去简化图。
Expand Down
Loading

0 comments on commit 553589a

Please sign in to comment.