Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
…chinese

Former-commit-id: 65f547081d608b0e2567e58fe917d516c3ae8772
  • Loading branch information
liber145 committed Jan 13, 2017
2 parents d39c97d + 914d0db commit 6be9a48
Show file tree
Hide file tree
Showing 19 changed files with 402 additions and 218 deletions.
143 changes: 74 additions & 69 deletions Chapter1/introduction.tex

Large diffs are not rendered by default.

62 changes: 38 additions & 24 deletions Chapter12/applications.tex
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ \subsection{GPU 实现}
它为视频游戏所设计的特性也可以使\gls{NN}的计算受益。
% 432

视频游戏要求许多操作能够快速并行的实现
视频游戏要求许多操作能够快速并行地实现
环境和角色模型通过一系列顶点的3D坐标确定。
为了将大量的3D坐标转化为2D显示器上的坐标,显卡必须快速实现矩阵乘法或者除法。
之后,显卡必须并行地实现每个像素上的计算来确定每个像素点的颜色。
Expand Down Expand Up @@ -286,32 +286,34 @@ \subsection{深度网络的专用硬件实现}
\section{\glsentrytext{CV}}
\label{sec:computer_vision}

一直以来\gls{CV}就是\gls{DL}应用的几个最活跃的研究方向
一直以来\gls{CV}就是\gls{DL}应用中几个最活跃的研究方向之一
因为视觉是一个对人类以及许多动物毫不费力,但对计算机却充满挑战的任务\citep{ballard1983parallel}。
\gls{DL}中许多流行的基准任务包含了物体识别以及光学字符识别
\gls{DL}中许多流行的标准基准任务包含了\gls{object_recognition}以及光学字符识别
% 440


\gls{CV}是一个广阔的发展领域,其中包含了多种多样的处理图片的方式以及应用方向。
\gls{CV}的应用既包含复现人类视觉能力,比如识别人脸,也囊括了可视化一个新类别的物体这样的任务
举个例子,近期一个新的\gls{CV}应用是从视频中可视物体振动中识别相应的声波\citep{Davis2014VisualMic}。
\gls{CV}的应用既包含复现人类视觉能力,比如识别人脸,也囊括了可视化一个新类别物体这样的任务
举个后者的例子,近期一个新的\gls{CV}应用是从视频中可视物体振动中识别相应的声波\citep{Davis2014VisualMic}。
大多数\gls{CV}领域的\gls{DL}研究未曾关注过这样一个奇异的应用,它扩展了图像的范围,而不是仅仅关注于\gls{AI}中较小的核心目标,即复制人类的能力。
无论是报告图像中存在哪个物体,还是给图像中每个对象的添加注释性的边框,从图像中转录符号序列,或给图像中的每个像素标记它所属对象的标识,\gls{CV}中的\gls{DL}往往用于某种形式的对象识别或检测。
因为\gls{generative_model}已经是\gls{DL}研究的指导原则,还有大量的使用深度模型的图像合成工作。
无论是报告图像中存在哪个物体,还是给图像中每个对象周围添加注释性的边框,
从图像中转录符号序列,或给图像中的每个像素标记它所属对象的标识,
大多数\gls{CV}中的\gls{DL}往往用于\gls{object_recognition}或者某种形式的检测。
因为\gls{generative_model}已经是\gls{DL}研究的指导原则,还有大量使用深度模型的图像合成工作。
尽管图像合成通常不包括在\gls{CV}内,但是能够进行图像合成的模型通常用于图像恢复,修复图像中的缺陷或从图像中移除对象这样的\gls{CV}任务。
% 441

\subsection{预处理}
\label{sec:preprocessing}
% 441

许多应用领域需要复杂的预处理,因为原始输入以许多\gls{DL}架构难以表示的形式出现。
许多应用领域需要复杂精细的预处理,因为原始输入以许多\gls{DL}架构难以表示的形式出现。
\gls{CV}通常只需要相对少的这种预处理。
图像应该被标准化,从而使得它们的像素都在相同并且合理的范围内,比如$[0,1]$或者$[-1,1]$
$[0,1]$中的图像与$[0,255]$中的图像混合通常会导致失败。
将图像格式化为具有相同的比例严格上说是唯一一种必要的预处理。
许多\gls{CV}架构需要标准尺寸的图像,因此必须裁剪或缩放图像以适应该尺寸。
然而,即使是这种重新调整并不总是必要的
然而,严格地说即使是这种重新调整比例的操作并不总是必要的
一些卷积模型接受可变大小的输入并动态地调整它们的池区域大小以保持输出大小恒定\citep{Waibel89b}。
其他卷积模型具有可变大小的输出,其尺寸随输入自动缩放,例如对图像中的每个像素进行\gls{denoise}或标注的模型\citep{Hadsell-RSS-07}。
% 441
Expand All @@ -334,11 +336,11 @@ \subsubsection{对比度归一化}
\label{sec:contrast_normalization}
% 442

可以为许多任务安全地移除的最明显的变化源之一是图像中的对比度量
对比度仅指图像中亮像素和暗像素之间的差异的大小
可以为许多任务安全移除的最明显的变化源之一是图像中的对比度量
对比度仅指图像中亮像素和暗像素之间差异的大小
量化图像对比度有许多方式。
\gls{DL}中,对比度通常指的是图像或图像区域中像素的\gls{standard_deviation}。
假设我们有一个张量表示的图像$\TSX \in\SetR^{r\times c\times 3}$,其中$\TEX_{i,j,1}$表示第$i$行第$j$列红色的强度,$\TEX_{i,j,2}$对应的是绿色$\TEX_{i,j,3}$对应的是蓝色
假设我们有一个张量表示的图像$\TSX \in\SetR^{r\times c\times 3}$,其中$\TEX_{i,j,1}$表示第$i$行第$j$列红色的强度,$\TEX_{i,j,2}$对应的是绿色的强度$\TEX_{i,j,3}$对应的是蓝色的强度
然后整个图像的对比度可以表示如下:
\begin{align}
\label{eqn:121}
Expand All @@ -349,36 +351,40 @@ \subsubsection{对比度归一化}
\label{eqn:122}
\bar{\TSX} = \frac{1}{3rc}\sum_{i=1}^{r} \sum_{j=1}^{c}\sum_{k=1}^{3}\TEX_{i,j,k}.
\end{align}
\firstall{GCN}旨在通过从每个图像中减去平均值,然后重新缩放其使得其像素上的\gls{standard_deviation}等于某个常数s来防止图像具有变化的对比度。


\firstall{GCN}旨在通过从每个图像中减去其平均值,然后重新缩放其使得其像素上的\gls{standard_deviation}等于某个常数$s$来防止图像具有变化的对比度。
这种方法非常复杂,没有缩放因子可以改变零对比度图像(所有像素都具有相等强度的图像)的对比度。
具有非常低但非零对比度的图像通常几乎没有信息内容。
在这种情况下除以真实\gls{standard_deviation}通常仅能放大传感器噪声或压缩伪像。
这种现象启发我们引入小的正的\gls{regularization}参数$\lambda$来平衡估计的\gls{standard_deviation}。
或者,我们至少可以约束分母
给定输入图像$\TSX$\gls{GCN}产生输出图像$\TSX'$,定义为
或者,我们至少可以约束分母使其大于等于$\epsilon$
给定一个输入图像$\TSX$\gls{GCN}产生输出图像$\TSX'$,定义为
\begin{align}
\label{eqn:123}
\TEX'_{i,j,k} = s\frac{\TEX_{i,j,k} - \bar{\TEX}}{\max\{ \epsilon, \sqrt{ \lambda + {\frac{1}{3rc}\sum_{i=1}^{r}\sum_{j=1}^{c}\sum_{k=1}^{3}} (\TEX_{i,j,k} - \bar{\TEX} )^2} \}}.
\end{align}


从大图像中剪切有趣对象所组成的数据集不可能包含具有几乎恒定强度的任何图像
在这些情况下,通过设置$\lambda = 0$来忽略小分母问题是安全的,并且在极少的情况下为了避免除以$0$通过将极小值设置为$10^{-8}$
从大图像中剪切有趣对象所组成的数据集不可能包含任何具有几乎恒定强度的图像
在这些情况下,通过设置$\lambda = 0$来忽略小分母问题是安全的,并且在非常罕见的情况下为了避免除以$0$通过将$\epsilon$设置为一个非常小的值比如说$10^{-8}$
这也是\citet{Goodfellow+al-arxiv-2013}在CIFAR-10数据集上所使用的方法。
随机剪裁的小图像更可能具有几乎恒定的强度,使得\gls{regularization}更有用。
随机剪裁的小图像更可能具有几乎恒定的强度,使得激进的\gls{regularization}更有用。
在处理从CIFAR-10数据中随机选择的补丁时,\citet{Coates2011}使用$\epsilon = 0, \lambda = 10$
% 443

尺度参数$s$通常可以设置为$1$,如\citet{Coates2011},或选择使所有样本上每个像素的\gls{standard_deviation}接近$1$,如\citet{Goodfellow+al-arxiv-2013}。
% 443 mid

公式~\eqref{eqn:123}中的\gls{standard_deviation}仅仅是对$L^2$范数的重新缩放(假设图像的平均值已经被移除)。
我们更偏向于根据\gls{standard_deviation}而不是$L^2$范数来定义\gls{GCN},因为\gls{standard_deviation}包括除以像素数量,因此基于\gls{standard_deviation}的\gls{GCN}允许使用与图像大小无关的相同的$s$

公式~\eqref{eqn:123}中的\gls{standard_deviation}仅仅是对图片$L^2$范数的重新缩放(假设图像的平均值已经被移除)。
我们更偏向于根据\gls{standard_deviation}而不是$L^2$范数来定义\gls{GCN},因为\gls{standard_deviation}包括除以像素数量,因此基于\gls{standard_deviation}的\gls{GCN}允许使用与图像大小无关的固定的$s$
然而,观察到$L^2$范数与\gls{standard_deviation}成比例,这符合我们的直觉。
我们可以把\gls{GCN}理解成到球壳的一种映射。
\figref{fig:gcn_sphere_color}给了一个说明。
这可能是一个有用的属性,因为\gls{NN}往往更好地响应空间方向,而不是精确的位置。
响应相同方向上的多个距离需要具有共线的权重向量但具有不同偏置的隐藏单元
这对于学习算法来说可能是困难的
响应相同方向上的多个距离需要具有共线权重向量但具有不同偏置的隐藏单元
这样的情况对于学习算法来说可能是困难的
<bad>此外,许多浅层的图模型往往会把多个分离的峰值表示在一条线上。
\gls{GCN}采用一个样本一个方向\footnote{译者:所有样本相似的距离}而不是不同的方向和距离来避免这些问题。
% 444 head
Expand All @@ -389,11 +395,19 @@ \subsubsection{对比度归一化}
\else
\centerline{\includegraphics{Chapter12/figures/gcn_sphere_color}}
\fi
\caption{\glssymbol{GCN}将样本投影到一个球上。(左)原始的输入数据可能拥有任意的范数。(中)$\lambda=0$时候的\glssymbol{GCN}可以完美地将所有的非零样本投影到球上。这里我们令$s=1$$\epsilon = 10^{-8}$。由于我们使用的\glssymbol{GCN}是基于归一化\gls{standard_deviation}而不是$L^2$范数,所得到的球并不是单位球。(右)$\lambda>0$\gls{regularization}\glssymbol{GCN}将样本投影到球上,但是并没有完全地丢弃其范数中变化。$s$$\epsilon$的取值和之间一样。}
\label{fig:gcn_sphere_color}
\caption{\glssymbol{GCN}将样本投影到一个球上。
(左)原始的输入数据可能拥有任意的范数。
(中)$\lambda=0$时候的\glssymbol{GCN}可以完美地将所有的非零样本投影到球上。
这里我们令$s=1$$\epsilon = 10^{-8}$
由于我们使用的\glssymbol{GCN}是基于归一化\gls{standard_deviation}而不是$L^2$范数,所得到的球并不是单位球。
(右)$\lambda>0$\gls{regularization}\glssymbol{GCN}将样本投影到球上,但是并没有完全地丢弃其范数中变化。
$s$$\epsilon$的取值和之前一样。}
\label{fig:gcn_sphere_color}
\end{figure}
% 443 tail


% 444 head
与直觉相反的是,存在被称为\firstgls{sphering}的预处理操作,并且它不同与\gls{GCN}。
\gls{sphering}并不会使数据位于球形壳上,而是将主要分量重新缩放以具有相等方差,使得\gls{PCA}使用的多变量正态分布具有球形等高线。
\gls{sphering}通常被称为\firstgls{whitening}。
Expand Down
3 changes: 2 additions & 1 deletion Chapter19/approximate_inference.tex
Original file line number Diff line number Diff line change
Expand Up @@ -830,6 +830,7 @@ \section{\glsentrytext{learned}\glsentrytext{approximate_inference}}

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

Expand All @@ -845,7 +846,7 @@ \subsection{\glsentrytext{wake_sleep}}
例如,在\gls{directed_model}中,这可以通过执行从$\Vh$开始并在$\Vv$结束的\gls{ancestral_sampling}来高效地完成。
然后推断网络可以被训练来执行反向的映射:预测哪一个$\Vh$产生了当前的$\Vv$
<bad>这种方法的主要缺点是我们将只能够训练推断网络在模型下具有高概率的$\Vv$值。
在学习早期,模型分布将不像数据分布,因此推断网络将不具有学习类似数据的样本的机会
在学习早期,模型分布与数据分布偏差较大,因此推断网络将不具有在类似数据的样本上嘘唏的机会
% 643


Expand Down
12 changes: 6 additions & 6 deletions Chapter5/machine_learning_basics.tex
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ \section{学习算法}
\gls{experience}$E$,任务$T$\gls{performance_measures}$P$的定义范围非常宽广,在本书中我们并不会去试图解释这些定义的具体意义。
相反,我们会在接下来的章节中提供直观的解释和示例来介绍不同的任务、\gls{performance_measures}和\gls{experience},这些将被用来构建\gls{ML}算法。

\subsection{任务$T$}
\subsection{任务 $T$}
\label{sec:the_task_t}
\gls{ML}可以让我们解决一些人为设计和实现固定程序很难解决的问题。
从科学和哲学的角度来看,\gls{ML}受到关注是因为发展我们对\gls{ML}的认识需要发展我们对智能背后原理的理解。
Expand Down Expand Up @@ -138,7 +138,7 @@ \subsection{任务,$T$}
当然,还有很多其他或其他类型的任务。
这里我们列举的任务类型只是用来介绍\gls{ML}可以做哪些任务,并非严格地定义\gls{ML}任务分类。

\subsection{\glsentrytext{performance_measures}$P$}
\subsection{\glsentrytext{performance_measures} $P$}
\label{sec:the_performance_measure_p}
为了评估\gls{ML}算法的能力,我们必须设计其性能的定量度量。
通常\gls{performance_measures}$P$是特定于系统执行的任务$T$而言的。
Expand Down Expand Up @@ -172,7 +172,7 @@ \subsection{\glsentrytext{performance_measures},$P$}
在许多这类模型中,计算空间中特定点的概率是不可行的。
在这些情况下,我们必须设计一个仍然对应于设计对象的替代标准,或者设计一个理想标准的良好近似。

\subsection{\glsentrytext{experience}$E$}
\subsection{\glsentrytext{experience} $E$}
\label{sec:the_experience_e}
根据学习过程中的不同\gls{experience},\gls{ML}算法可以大致分类为\firstgls{unsupervised}和\firstgls{supervised}。

Expand Down Expand Up @@ -375,7 +375,7 @@ \subsection{实例:\glsentrytext{linear_regression}}
\gls{linear_regression}当然是一个极其简单且有局限的学习算法,但是它提供了一个说明学习算法如何工作的例子。
在接下来的小节中,我们将会介绍一些设计学习算法的基本原则,并说明如何使用这些原则来构建更复杂的学习算法。

\section{\glsentrytext{capacity}\glsentrytext{overfitting}和\glsentrytext{underfitting}}
\section{\glsentrytext{capacity}\glsentrytext{overfitting}和\glsentrytext{underfitting}}
\label{sec:capacity_overfitting_and_underfitting}
\gls{ML}的主要挑战是我们的算法必须能够在先前未观测的新输入上表现良好,而不只是在训练集上效果好。
在先前未观测到的输入上表现良好的能力被称为\firstgls{generalization}。
Expand Down Expand Up @@ -703,7 +703,7 @@ \subsection{交叉验证}
在第$i$次测试时,数据的第$i$个子集用于\gls{test_set},其他的数据用于训练集。
带来的一个问题是不存在平均误差方差的无偏估计\citep{Bengio-Grandvalet-JMLR-04},但是我们通常会使用近似来解决。

\section{估计偏差和方差}
\section{估计偏差和方差}
\label{sec:estimators_bias_and_variance}
统计领域为我们提供了很多工具用于实现\gls{ML}目标,不仅可以解决训练集上的任务,还可以泛化。
基本的概念,例如参数估计,偏差和方差,对于形式化刻画泛化,欠拟合和过拟合都非常有帮助。
Expand Down Expand Up @@ -1729,7 +1729,7 @@ \section{构建\glsentrytext{ML}算法}

% -- 150 --

\section{推动\glsentrytext{DL}的挑战}
\section{\glsentrytext{DL}的动机与挑战}
\label{sec:challenges_motivating_deep_learning}
本章描述的简单\gls{ML}算法在很多不同的重要问题上都效果良好。
但是他们不能成功解决人工智能中的核心问题,如语音识别或者对象识别。
Expand Down
4 changes: 2 additions & 2 deletions Chapter7/regularization.tex
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
% !Mode:: "TeX:UTF-8"
% Translator: Shenjian Zhao
\chapter{\glsentrytext{DL}的正则化}
\chapter{\glsentrytext{DL}中的正则化技术}
\label{chap:regularization_for_deep_learning}
设计不仅在训练数据上表现好,并且能在新输入上泛化好的算法是\gls{ML}中的一个核心问题。
\gls{ML}中许多策略通过明确设计,以增大训练误差为代价来减少测试误差。
Expand Down Expand Up @@ -915,7 +915,7 @@ \section{\glsentrytext{sparse}\glsentrytext{representation}}
\gls{hidden_unit}的模型本质上都能变得\gls{sparse}。
在这本书中,我们将看到各种情况下使用\gls{sparse}\gls{regularization}的例子。

\section{\glsentrytext{bagging}和其他\glsentrytext{ensemble}的方法}
\section{\glsentrytext{bagging}和其它\glsentrytext{ensemble}方法}
\label{sec:bagging_and_other_ensemble_methods}
\firstgls{bagging}是通过结合几个模型降低泛化误差的技术\citep{ML:Breiman:bagging}。
主要想法是分别训练几个不同的模型,然后让所有模型表决测试样例的输出。
Expand Down
6 changes: 3 additions & 3 deletions Chapter8/optimization_for_training_deep_models.tex
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ \chapter{\glsentrytext{deep_model}中的优化}

% -- 267 --

\section{学习和优化有什么不同}
\section{学习和纯优化有什么不同}
\label{sec:how_learning_differs_from_pure_optimization}
用于\gls{deep_model}训练的优化算法与传统的优化算法在几个方面有所不同。
机器学习通常是间接的。
Expand Down Expand Up @@ -260,7 +260,7 @@ \subsection{批算法和\gls{minibatch}算法}
在使用一个非常大的训练集时,过拟合不再是问题,而欠拟合和计算效率变成了主要的顾虑。
也可以参看\cite{bottou-bousquet-2008}中关于训练样本数目增长时,泛化误差上计算瓶颈影响的讨论。

\section{神经网络的优化挑战}
\section{神经网络优化中的挑战}
\label{sec:challenges_in_neural_network_optimization}
优化通常是一个极其困难的任务。
通常,机器学习会小心设计目标函数和约束,以确保优化问题是凸的,
Expand Down Expand Up @@ -363,7 +363,7 @@ \subsection{局部极小值}
在高维空间中,很难正面证明并非是局部极小值导致的问题。
许多并非局部极小值的结构也具有很小的梯度。

\subsection{高原\glsentrytext{saddle_points}和其他平坦区域}
\subsection{高原\glsentrytext{saddle_points}和其他平坦区域}
\label{sec:plateaus_saddle_points_and_other_flat_regions}
对于很多高维非凸函数而言,局部极小值(或极大值)事实上都远少于另一类梯度为零的点:\gls{saddle_points}。
\gls{saddle_points}附近的某些点比\gls{saddle_points}有更大的损失,而其他点则有更小的损失。
Expand Down
2 changes: 1 addition & 1 deletion Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
all:
xelatex dlbook_cn.tex && bibtex dlbook_cn.aux && texindy dlbook_cn.idx && makeglossaries dlbook_cn && xelatex dlbook_cn.tex
xelatex dlbook_cn.tex && bibtex dlbook_cn.aux && texindy dlbook_cn.idx && makeglossaries dlbook_cn && xelatex dlbook_cn.tex && xelatex dlbook_cn.tex

clean:
find . -type f -iregex '.*\.\(aux\|log\|toc\|backup\|acr\|brf\|gz\|acn\|xdy\|alg\)$$' -delete
Loading

0 comments on commit 6be9a48

Please sign in to comment.