From d55412efd2335a839909893b40cd0f7ec31b7717 Mon Sep 17 00:00:00 2001 From: Sword York Date: Wed, 11 Jan 2017 16:29:42 +0800 Subject: [PATCH 1/7] test annotation Former-commit-id: df23dbdf25a9da4edae241785245ffd5e67cea81 --- Chapter1/introduction.tex | 2 +- .../2016-12-01-Chapter1_introduction.md | 2 +- ...ter3_probability_and_information_theory.md | 24 +-- ...16-12-04-Chapter4_numerical_computation.md | 2 +- ...-12-05-Chapter5_machine_learning_basics.md | 45 +++--- ...2-06-Chapter6_deep_feedforward_networks.md | 104 ++++++------- ...16-12-13-Chapter13_linear_factor_models.md | 8 +- ...12-15-Chapter15_representation_learning.md | 14 +- ...016-12-17-Chapter17_monte_carlo_methods.md | 4 +- ...er18_confronting_the_partition_function.md | 4 +- ...6-12-19-Chapter19_approximate_inference.md | 138 +++++++++--------- terminology.tex | 6 +- 12 files changed, 182 insertions(+), 171 deletions(-) diff --git a/Chapter1/introduction.tex b/Chapter1/introduction.tex index 48bda04..c57bec6 100644 --- a/Chapter1/introduction.tex +++ b/Chapter1/introduction.tex @@ -24,7 +24,7 @@ \chapter{前言} 许多\glssymbol{AI}的早期成功发生在相对干净且形式的环境中, 计算机不需要具备很多关于世界的知识。 例如,IBM的深蓝(Deep Blue)国际象棋系统在1997年击败了世界冠军\ENNAME{Garry Kasparov}\citep{Hsu2002}。 当然国际象棋是一个非常简单的领域,仅含有64个位置并只能以严格限制的方式移动32个棋子。 -设计一种成功的国际象棋策略是巨大的成就,但向计算机描述棋子及其允许的移动并不是挑战的困难所在。 +设计一种成功的国际象棋策略是巨大的成就,但向计算机描述棋子及其允许的走法并不是挑战的困难所在。 国际象棋完全可以由一个非常简短的、完全形式化的规则列表描述,并可以轻松由程序员提前提供。 讽刺的是,抽象和形式的任务对人类而言是最困难的脑力任务之一,对计算机而言却属于最容易的。 diff --git a/docs/_posts/2016-12-01-Chapter1_introduction.md b/docs/_posts/2016-12-01-Chapter1_introduction.md index ec4b624..a991f1c 100644 --- a/docs/_posts/2016-12-01-Chapter1_introduction.md +++ b/docs/_posts/2016-12-01-Chapter1_introduction.md @@ -25,7 +25,7 @@ share: false 许多AI的早期成功发生在相对干净且形式的环境中, 计算机不需要具备很多关于世界的知识。 例如,IBM的深蓝(Deep Blue)国际象棋系统在1997年击败了世界冠军Garry Kasparov{cite?}。 当然国际象棋是一个非常简单的领域,仅含有64个位置并只能以严格限制的方式移动32个棋子。 -设计一种成功的国际象棋策略是巨大的成就,但向计算机描述棋子及其允许的移动并不是挑战的困难所在。 +设计一种成功的国际象棋策略是巨大的成就,但向计算机描述棋子及其允许的走法并不是挑战的困难所在。 国际象棋完全可以由一个非常简短的、完全形式化的规则列表描述,并可以轻松由程序员提前提供。 讽刺的是,抽象和形式的任务对人类而言是最困难的脑力任务之一,对计算机而言却属于最容易的。 diff --git a/docs/_posts/2016-12-03-Chapter3_probability_and_information_theory.md b/docs/_posts/2016-12-03-Chapter3_probability_and_information_theory.md index 0802a8f..02231dc 100644 --- a/docs/_posts/2016-12-03-Chapter3_probability_and_information_theory.md +++ b/docs/_posts/2016-12-03-Chapter3_probability_and_information_theory.md @@ -344,23 +344,23 @@ P(\RSx = x) = \phi^x (1-\phi)^{1-x}\\ \end{gather} -## multinoulli分布 +## Multinoulli分布 -multinoulli分布或者分类分布是指在具有$k$个不同状态的单个离散型随机变量上的分布,$k$是有限的。 +Multinoulli分布或者分类分布是指在具有$k$个不同状态的单个离散型随机变量上的分布,$k$是有限的。 \footnote{"multinoulli"这个术语是最近被Gustavo Lacerdo发明、被{MurphyBook2012}推广的。 -multinoulli分布是多项分布的一个特例。 -多项分布是$\{0,\ldots, n\}^k$中的向量的分布,用于表示当对multinoulli分布采样$n$次时$k$个类中的每一个被访问的次数。 -很多文章使用"多项分布"而实际上说的是multinoulli分布,但是他们并没有说是对$n=1$的情况,这点需要注意。} -multinoulli分布的参数是向量$\bm{p} \in [0, 1]^{k-1}$,每一个分量$p_i$表示第$i$个状态的概率。 +Multinoulli分布是多项分布的一个特例。 +多项分布是$\{0,\ldots, n\}^k$中的向量的分布,用于表示当对Multinoulli分布采样$n$次时$k$个类中的每一个被访问的次数。 +很多文章使用"多项分布"而实际上说的是Multinoulli分布,但是他们并没有说是对$n=1$的情况,这点需要注意。} +Multinoulli分布的参数是向量$\bm{p} \in [0, 1]^{k-1}$,每一个分量$p_i$表示第$i$个状态的概率。 最后的第$k$个状态的概率通过$1-\bm{1}^\top \bm{p}$给出。 注意到我们必须限制$\bm{1}^\top\bm{p}\le 1$。 -multinoulli分布经常用来表示对象分类的分布,所以我们很少假设状态1具有数值1之类的。 -因此,我们通常不需要去计算multinoulli分布的随机变量的期望和方差。 +Multinoulli分布经常用来表示对象分类的分布,所以我们很少假设状态1具有数值1之类的。 +因此,我们通常不需要去计算Multinoulli分布的随机变量的期望和方差。 -Bernoulli分布和multinoulli分布足够用来描述在它们领域内的任意分布。 +Bernoulli分布和Multinoulli分布足够用来描述在它们领域内的任意分布。 它们能够描述这些分布,不是因为它们特别强大,而是因为它们的领域很简单; 它们可以对那些,能够将所有的状态进行标号的离散型随机变量,进行建模。 当处理的是连续型随机变量时,会有不可数无限多的状态,所以任何通过少量参数描述的概率分布都必须在分布上采用严格的极限。 @@ -469,7 +469,7 @@ Dirac分布经常作为经验分布的一个组成部分出现: \end{equation} 经验分布将概率密度$\frac{1}{m}$赋给$m$个点$\bm{x}^{(1)}, \ldots, \bm{x}^{(m)}$中的每一个,这些点是给定的数据集或者采样的集合。 Dirac delta函数只对定义连续型随机变量的经验分布是必要的。 -对于离散型随机变量,情况更加简单:经验分布可以被定义成一个multinoulli分布,对于每一个可能的输入,其概率可以简单地设为在训练集上那个输入值的经验频率。 +对于离散型随机变量,情况更加简单:经验分布可以被定义成一个Multinoulli分布,对于每一个可能的输入,其概率可以简单地设为在训练集上那个输入值的经验频率。 当我们在训练集上训练模型时,我们可以认为从这个训练集上得到的经验分布指明了我们采样来源的分布。 关于经验分布另外一种重要的观点是,它是训练数据的似然最大的那个概率密度函数(见\?节)。 @@ -481,11 +481,11 @@ Dirac delta函数只对定义连续型随机变量的经验分布是必要的。 通过组合一些简单的概率分布来定义新的概率分布也是很常见的。 一种通用的组合方法是构造混合分布。 混合分布由一些组件(component)分布构成。 -每次实验,样本是由哪个组件分布产生的取决于从一个multinoulli分布中采样的结果: +每次实验,样本是由哪个组件分布产生的取决于从一个Multinoulli分布中采样的结果: \begin{equation} P(\RSx) = \sum_i P(\RSc = i) P(\RSx \mid \RSc = i), \end{equation} -这里$P(\RSc)$是对各组件的一个multinoulli分布。 +这里$P(\RSc)$是对各组件的一个Multinoulli分布。 我们已经看过一个混合分布的例子了:实值变量的经验分布对于每一个训练实例来说,就是以Dirac分布为组件的混合分布。 diff --git a/docs/_posts/2016-12-04-Chapter4_numerical_computation.md b/docs/_posts/2016-12-04-Chapter4_numerical_computation.md index a0881aa..d3d1428 100644 --- a/docs/_posts/2016-12-04-Chapter4_numerical_computation.md +++ b/docs/_posts/2016-12-04-Chapter4_numerical_computation.md @@ -29,7 +29,7 @@ share: false 进一步的运算通常导致这些无限值变为非数字。 必须对上溢和下溢进行数值稳定的一个例子是softmax函数。 -softmax函数经常用于预测与multinoulli分布相关联的概率,定义为 +softmax函数经常用于预测与Multinoulli分布相关联的概率,定义为 \begin{align} \text{softmax}(\Vx)_i = \frac{\exp(\Sx_i)}{\sum_{j=1}^n \exp(\Sx_j)} . \end{align} diff --git a/docs/_posts/2016-12-05-Chapter5_machine_learning_basics.md b/docs/_posts/2016-12-05-Chapter5_machine_learning_basics.md index a6451d8..517265b 100644 --- a/docs/_posts/2016-12-05-Chapter5_machine_learning_basics.md +++ b/docs/_posts/2016-12-05-Chapter5_machine_learning_basics.md @@ -1106,7 +1106,7 @@ KL散度定义为 否则,没有估计可以表示$p_{\text{data}}$。 + 真实分布$p_{\text{data}}$必须刚好对应一个$\Vtheta$值。 - 否则,最大似然估计恢复出真实分布$p_{\text{data}}$后,也不能决定数据生成过程使用哪个$\Vtheta$。 + 否则,最大似然学习恢复出真实分布$p_{\text{data}}$后,也不能决定数据生成过程使用哪个$\Vtheta$。 除了最大似然估计,还有其他的归纳准则,其中许多共享一致估计的性质。 @@ -1115,7 +1115,7 @@ KL散度定义为 通常,统计效率研究于有参情况(例如线性回归)。有参情况中我们的目标是估计参数值(假设有可能确定真实参数),而不是函数值。 一种度量我们和真实参数相差多少的方法是计算均方误差期望,即计算$m$个从数据生成分布中出来的训练样本上的估计参数和真实参数之间差值的平方。 -有参均方误差估计随着$m$的增加而减少,当$m$较大时,Cram\'er-Rao下界{cite?}表明不存在均方误差低于最大似然估计的一致估计。 +有参均方误差估计随着$m$的增加而减少,当$m$较大时,Cram\'er-Rao下界{cite?}表明不存在均方误差低于最大似然学习的一致估计。 因为这些原因(一致性和统计效率),最大似然通常是机器学习中的首选估计。 当样本数目小到会过拟合时,正则化技巧如权重衰减可用于获得训练数据有限时方差较小的最大似然有偏版本。 @@ -1259,7 +1259,7 @@ $\VLambda_0=\text{diag}(\Vlambda_0)$。 虽然使用完整的贝叶斯后验分布进行参数$\Vtheta$预测是非常合理的,但仍常常希望能够进行单点估计。 希望点估计的一个常见原因是,对于非常有趣的模型而言,大部分涉及到贝叶斯后验的操作是非常棘手的,点估计提供了一个可解的近似。 -并非简单地回归到最大似然估计,我们仍然可以通过先验影响点估计的选择而获取贝叶斯方法的优点。 +并非简单地回归到最大似然学习,我们仍然可以通过先验影响点估计的选择而获取贝叶斯方法的优点。 一种能够做到这一点的合理方式是选择最大后验点估计。 MAP估计选择后验概率最大的点(或在$\Vtheta$是连续值的更常见情况下,概率密度最大的点): \begin{equation} @@ -1278,7 +1278,7 @@ MAP估计选择后验概率最大的点(或在$\Vtheta$是连续值的更常 该附加信息有助于减少最大后验点估计的方差(相比于ML估计)。 然而,这个优点的代价是增加了偏差。 -许多正规化估计方法,例如权重衰减正则化的最大似然估计学习,可以被解释为贝叶斯推断的MAP近似。 +许多正规化估计方法,例如权重衰减正则化的最大似然学习学习,可以被解释为贝叶斯推断的MAP近似。 这个解释产生于正则化时加到目标函数的附加项对应着$\log p(\Vtheta)$。 并非所有的正规化惩罚都对应于贝叶斯推断。 例如,有些正则化项可能不是一个概率分布的对数。 @@ -1744,20 +1744,20 @@ minibatch的数目$m'$通常是一个相对较小的数,从一到几百。 # 推动深度学习的挑战 本章描述的简单机器学习算法在很多不同的重要问题上都效果良好。 -但是他们不能成功解决人工智能中的核心问题,如语音识别或者实物识别。 +但是他们不能成功解决人工智能中的核心问题,如语音识别或者对象识别。 深度学习发展动机的一部分原因是传统学习算法在这类人工智能问题上泛化能力不行。 -本节介绍为何处理高维数据时在新样本上泛化变得特别困难,以及为何传统机器学习中实现泛化的机制不适合学习高维空间中复杂的函数。 +本节介绍为何处理高维数据时在新样本上泛化特别困难,以及为何传统机器学习中实现泛化的机制不适合学习高维空间中复杂的函数。 这些空间经常涉及巨大的计算代价。 -深度学习旨在克服这些,以及其他困难。 +深度学习旨在克服这些,以及一些其他难题。 ## 维数灾难 当数据的维数很高时,很多机器学习问题变得相当困难。 这种现象被称为维数灾难。 -特别值得注意的是,一组变量的不同可能配置数量随着变量数目的增加而指数级增长。 +特别值得注意的是,一组变量不同的可能配置数量会随着变量数目的增加而指数级增长。 维数灾难发生在计算机科学的许多地方,在机器学习中尤其如此。 @@ -1772,7 +1772,8 @@ minibatch的数目$m'$通常是一个相对较小的数,从一到几百。 但是,如果该网格中没有样本,该怎么办呢? 因为在高维空间中参数配置数目远大于样本数目,大部分配置没有相关的样本。 我们如何能在这些新配置中找到一些有意义的东西? -许多传统机器学习算法简单地假设在一个新点的输出应大致和最接近的训练点的输出相同。 +许多传统机器学习算法只是简单地假设在一个新点的输出应大致和最接近的训练点的输出相同。 +然而在高维空间中,这个假设是不够的。 \begin{figure}[!htb] @@ -1819,7 +1820,7 @@ minibatch的数目$m'$通常是一个相对较小的数,从一到几百。 预测在所有点$\Vx$都有相同的$k$个训练集中最近邻点的区域上是不变的。 当$k=1$时,不同区域的数目不可能比训练样本还多。 -虽然$k$近邻算法拷贝了附近训练样本的输出,大部分核机器也是在和附近训练样本相关的训练集输出上插值。 +虽然$k$-最近邻算法拷贝了附近训练样本的输出,大部分核机器也是在和附近训练样本相关的训练集输出上插值。 一类重要的核函数是局部核,其核函数$k(\Vu,\Vv)$在$\Vu=\Vv$时很大, 当$\Vu$和$\Vv$距离拉大时而减小。 局部核可以看作是执行模版匹配的相似函数,度量测试样本$\Vx$和每个训练样本$\Vx^{(i)}$有多么相似。 @@ -1833,7 +1834,7 @@ minibatch的数目$m'$通常是一个相对较小的数,从一到几百。 总的来说,区分输入空间中$O(k)$个区间,所有的这些方法需要$O(k)$个样本。 通常会有$O(k)$个参数,$O(1)$参数对应于$O(k)$区间之一。 -最近邻中,每个训练样本至多用于定义一个区间,如\fig?所示。 +最近邻算法中,每个训练样本至多用于定义一个区间,如\fig?所示。 \begin{figure}[!htb] @@ -1852,9 +1853,9 @@ minibatch的数目$m'$通常是一个相对较小的数,从一到几百。 棋盘包含许多变化,但只有一个简单的结构。 想象一下,如果训练样本数目远小于棋盘上的黑白方块数目,那么会发生什么。 基于局部泛化和平滑性或局部不变性先验,如果新点和某个训练样本位于相同的棋盘方块中,那么我们能够保证正确预测新点的颜色。 -但如果新点位于棋盘中不包含训练样本的方块中,没有保证预测能够正确。 +但如果新点位于棋盘中不包含训练样本的方块中,无法保证预测能够正确。 单单是这个先验,一个样本只能告诉我们它所在的方块的颜色。 -获得在整个棋盘颜色的唯一方法是其上的每个方块至少要有一个样本。 +获得整个棋盘颜色的唯一方法是其上的每个方块至少要有一个样本。 @@ -1864,20 +1865,20 @@ minibatch的数目$m'$通常是一个相对较小的数,从一到几百。 如果函数在不同的区间中表现不一样,那么就非常难用一组训练样本去刻画函数。 如果函数是复杂的(我们希望区分多于训练样本数目的大量区间),有希望很好地泛化么? -回答这些问题——是否可以有效地表示复杂的函数,以及所估计的函数是否可以良好地泛化到新的输入——有。 +回答这些问题——是否可以有效地表示复杂的函数,以及所估计的函数是否可以良好地泛化到新的输入——答案是有。 关键观点是,只要我们在区间相关性上引入额外的数据生成分布上的假设,那么$O(k)$个样本是足以描述多如$O(2^k)$的大量区间。 -这样,我们真的能做到非局部地泛化{cite?}。 +这样,我们真的能做到非局部的泛化{cite?}。 许多不同的深度学习算法提出隐式或显式的适用于大范围人工智能问题的合理假设, 使其可以利用这些优势。 -其他的一些机器学习方法往往会提出更强的,针对特定问题的假设。 +一些其他的机器学习方法往往会提出更强的,针对特定问题的假设。 例如,假设目标函数是周期性的,我们很容易解决棋盘问题。 -通常,我们在神经网络中不包含这些很强的,针对特定任务的假设,从而使神经网络可以泛化到更广泛的各种结构中。 -人工智能任务的结构非常复杂,很难限制到简单的,人工手动制定的性质,如周期性,因此我们希望学习算法具有更通用的假设。 -深度学习中的核心思想是我们假设数据由\emph{因素或特征组合},也可能是由层次结构中多个层级产生。 +通常,神经网络不会包含这些很强的,针对特定任务的假设,因此神经网络可以泛化到更广泛的各种结构中。 +人工智能任务的结构非常复杂,很难限制到简单的,人工手动指定的性质,如周期性,因此我们希望学习算法具有更通用的假设。 +深度学习的核心思想是假设数据由\emph{因素或特征组合},潜在地由层次结构中多个层级产生。 许多其他类似的通用假设进一步提高了深度学习算法。 -这些很温和的假设允许样本数目和区间数目之间的关系有指数增益。 +这些很温和的假设在样本数目和可区分区间数目之间具有指数增益。 这类指数增益将在\sec?,\sec?和\sec?中被更详尽地介绍。 -深度分布式表示带来的指数增益有效应对了维数灾难引来的挑战。 +深度分布式表示带来的指数增益有效解决了维数灾难带来的挑战。 @@ -1889,7 +1890,7 @@ minibatch的数目$m'$通常是一个相对较小的数,从一到几百。 流形指连接在一起的区域。 数学上,它是指一组点,且每个点都有其邻域。 给定一个任意的点,其流形局部看起来像是欧几里得空间。 -日常生活中,我们将地球视为二维平面,但实际上它是三维空间中的球形流形。 +日常生活中,我们将地球视为二维平面,但实际上它是三维空间中的球状流形。 每个点周围邻域的定义暗示着存在变换能够从一个位置移动到其邻域位置。 例如在地球表面这个流形中,我们可以朝东南西北走。 diff --git a/docs/_posts/2016-12-06-Chapter6_deep_feedforward_networks.md b/docs/_posts/2016-12-06-Chapter6_deep_feedforward_networks.md index abd1681..98f7c66 100644 --- a/docs/_posts/2016-12-06-Chapter6_deep_feedforward_networks.md +++ b/docs/_posts/2016-12-06-Chapter6_deep_feedforward_networks.md @@ -312,17 +312,17 @@ f(\bm{x}; \bm{W}, \bm{c}, \bm{w}, b) = \bm{w}^\top \max\{ 0, \bm{W}^\top \bm{x} # 基于梯度的学习 -设计和训练神经网络与使用梯度下降训练其他的任何机器学习模型并没有太大不同。 +设计和训练神经网络与使用梯度下降训练其他任何机器学习模型并没有太大不同。 在\?节中,我们描述了如何通过指明一个优化过程、代价函数和一个模型族来构建一个机器学习算法。 我们到目前为止看到的线性模型和神经网络的最大区别,在于神经网络的非线性导致大多数我们感兴趣的损失函数都成为了非凸的。 -这意味着神经网络的训练通常使用迭代的、基于梯度的优化,仅仅使得代价函数达到一个非常小的值;而不是用于训练线性回归模型的线性方程求解器,或者是用于训练逻辑回归或者SVM的具有全局收敛保证的凸优化算法。 -凸优化从任何一种初始参数出发都会收敛(仅仅是理论上——在实践中也很鲁棒但可能会遇到数值问题)。 +这意味着神经网络的训练通常使用的迭代的、基于梯度的优化,仅仅使得代价函数达到一个非常小的值;而不是像用于训练线性回归模型的线性方程求解器,或者用于训练逻辑回归或SVM的凸优化算法那样具有全局的收敛保证。 +凸优化从任何一种初始参数出发都会收敛(理论上如此——在实践中也很鲁棒但可能会遇到数值问题)。 用于非凸损失函数的随机梯度下降没有这种收敛性保证,并且对参数的初始值很敏感。 对于前馈神经网络,将所有的权重值初始化为小随机数是很重要的。 偏置可以初始化为零或者小的正值。 -这种用于训练前馈神经网络以及几乎所有深度模型的迭代的基于梯度的优化算法会在第\?章详细介绍,参数初始化会在\?节中特别说明。 -就目前而言,只需要懂得,训练算法几乎总是基于使用代价函数的梯度下降的这种或那种方式即可。 +这种用于训练前馈神经网络以及几乎所有深度模型的迭代的基于梯度的优化算法会在第\?章详细介绍,参数初始化会在\?节中具体说明。 +就目前而言,只需要懂得,训练算法几乎总是基于使用梯度来使得代价函数下降的各种方法即可。 一些特别的算法是对梯度下降思想的改进和提纯,在\?节中介绍,还有一些更特别的,大多数是对随机梯度下降算法的改进,在\?节中介绍。 @@ -340,15 +340,15 @@ f(\bm{x}; \bm{W}, \bm{c}, \bm{w}, b) = \bm{w}^\top \max\{ 0, \bm{W}^\top \bm{x} 深度神经网络设计中的一个重要方面是代价函数的选择。 -幸运的是,神经网络的代价函数或多或少是和其他参数模型例如线性模型的代价函数相同的。 +幸运的是,神经网络的代价函数或多或少是和其他的参数模型例如线性模型的代价函数相同的。 在大多数情况下, 我们的参数模型定义了一个分布$p(\bm{y}\mid\bm{x};\bm{\theta})$并且我们简单地使用最大似然原理。 这意味着我们使用训练数据和模型预测间的交叉熵作为代价函数。 有时,我们使用一个更简单的方法,不是预测$\bm{y}$的完整概率分布,而是仅仅预测在给定$\bm{x}$的条件下$\bm{y}$的某种统计量。 -某些专门的损失函数允许我们来训练这些估计的预测器。 +某些专门的损失函数允许我们来训练这些估计量的预测器。 -用于训练神经网络的完整的代价函数通常在我们这里描述的基本代价函数的基础上结合一个正则项。 +用于训练神经网络的完整的代价函数,通常在我们这里描述的基本代价函数的基础上结合一个正则项。 我们已经在\?节中看到正则化应用到线性模型中的一些简单的例子。 用于线性模型的权值衰减方法也直接适用于深度神经网络,而且是最流行的正则化策略之一。 用于神经网络的更高级的正则化策略会在第\?章中讨论。 @@ -372,7 +372,7 @@ J(\theta) = \frac{1}{2} \SetE_{\RVx, \RVy \sim \hat{p}_\text{data}} || \bm{y} - \end{equation} 至少系数$\frac{1}{2}$和常数项不依赖于$\bm{\theta}$。 舍弃的常数是基于高斯分布的方差,在这种情况下我们选择不把它参数化。 -先前,我们看到了对输出分布的最大似然估计和线性模型均方误差的最小化之间的等价性,但事实上,这种等价性并不要求$f(\bm{x}; \bm{\theta})$用于预测高斯分布的均值。 +先前,我们看到了对输出分布的最大似然估计和对线性模型均方误差的最小化之间的等价性,但事实上,这种等价性并不要求$f(\bm{x}; \bm{\theta})$用于预测高斯分布的均值。 使用最大似然来导出代价函数的方法的一个优势是,它减轻了为每个模型设计代价函数的负担。 明确一个模型$p(\bm{y}\mid\bm{x})$则自动地确定了一个代价函数$\log p(\bm{y}\mid\bm{x})$。 @@ -387,11 +387,11 @@ J(\theta) = \frac{1}{2} \SetE_{\RVx, \RVy \sim \hat{p}_\text{data}} || \bm{y} - -用于实现最大似然估计的交叉熵代价函数有一个不同寻常的特性,那就是当应用到实践中经常遇到的模型上时它通常没有最小值。 +用于实现最大似然估计的交叉熵代价函数有一个不同寻常的特性,那就是当它被应用于实践中经常遇到的模型时,它通常没有最小值。 对于离散型输出变量,大多数模型以一种特殊的形式来参数化,即它们不能表示概率零和一,但是可以无限接近。 逻辑回归是其中一个例子。 -对于实值的输出变量,如果模型可以控制输出分布的密度(例如,通过学习Gaussian输出分布的方差参数),那么它可能对正确的训练集输出赋予极其高的密度,这将导致交叉熵趋向负无穷。 -第\?章中描述的正则化技术提供了一些不同的方法来修正学习问题,所以模型不会通过这种方式来获得无限制的奖赏。 +对于实值的输出变量,如果模型可以控制输出分布的密度(例如,通过学习高斯输出分布的方差参数),那么它可能对正确的训练集输出赋予极其高的密度,这将导致交叉熵趋向负无穷。 +第\?章中描述的正则化技术提供了一些不同的方法来修正学习问题,所以模型不会通过这种方式来获得无限制的收益。 \subsubsection{学习条件统计量} @@ -401,7 +401,7 @@ J(\theta) = \frac{1}{2} \SetE_{\RVx, \RVy \sim \hat{p}_\text{data}} || \bm{y} - 如果我们使用一个足够强大的神经网络,我们可以认为这个神经网络能够表示一大类函数中的任何一个函数$f$,这个类仅仅被一些特征所限制,例如连续性和有界,而不是具有特殊的参数形式。 从这个角度来看,我们可以把代价函数看作是一个泛函而不仅仅是一个函数。 泛函是函数到实数的映射。我们因此可以将学习看作是选择一个函数而不仅仅是选择一组参数。 -我们可以设计代价泛函在我们希望的某些特殊函数处取得最小值。 +我们可以设计代价泛函在我们想要的某些特殊函数处取得最小值。 例如,我们可以设计一个代价泛函,使它的最小值处于一个特殊的函数上,这个函数将$\bm{x}$映射到给定$\bm{x}$时$\bm{y}$的期望值。 对函数求解优化问题需要用到变分法这个数学工具,我们将在\?节中讨论。 理解变分法对于理解本章的内容不是必要的。 @@ -425,10 +425,10 @@ f^*(\bm{x}) = \SetE_{\RVy\sim p_\text{data}(\bm{y}|\bm{x})} [\bm{y}], \begin{equation} f^* = \underset{f}{\argmin} \ \SetE_{\RVx, \RVy \sim p_\text{data}} ||\bm{y} - f(\bm{x})||_1 \end{equation} -得到一个函数可以对每个$\bm{x}$预测$\bm{y}$取值的\emph{中位数},只要这个函数在我们要优化的函数族里。 +将得到一个函数可以对每个$\bm{x}$预测$\bm{y}$取值的\emph{中位数},只要这个函数在我们要优化的函数族里。 这个代价函数通常被称为平均绝对误差。 -不幸的是,均方误差和平均绝对误差当使用基于梯度的优化方式时往往会导致糟糕的结果。 +不幸的是,均方误差和平均绝对误差在使用基于梯度的优化方法时往往会导致糟糕的结果。 一些饱和的输出单元当结合这些代价函数时会产生非常小的梯度。 这就是为什么交叉熵代价函数比均方误差或者平均绝对误差更受欢迎的原因之一了,即使是在没必要估计整个$p(\bm{y}\mid\bm{x})$分布时。 @@ -441,19 +441,19 @@ f^* = \underset{f}{\argmin} \ \SetE_{\RVx, \RVy \sim p_\text{data}} ||\bm{y} - 大多数时候,我们简单地使用数据分布和模型分布间的交叉熵。 选择怎样表示输出决定了交叉熵函数的形式。 -任何种类的可以被用作输出的神经网络单元也可以被用作隐藏单元。 +任何种类的可以被用作输出的神经网络单元,也可以被用作隐藏单元。 这里,我们关注把这些单元用作模型的输出,但是原则上它们也可以在内部使用。 -我们将在\?节中重温这些单元并且提供当它们被用作隐藏单元时额外的细节。 +我们将在\?节中重温这些单元并且给出当它们被用作隐藏单元时一些额外的细节。 在本节中,我们假设前馈网络提供了一组定义为$\bm{h}=f(\bm{x};\bm{\theta})$的隐藏特征。 -输出层的作用是随后对这些特征提供一些额外的变换来完成整个网络必须完成的任务。 +输出层的作用是随后对这些特征进行一些额外的变换来完成整个网络必须完成的任务。 -\subsubsection{用于Gaussian输出分布的线性单元} +\subsubsection{用于高斯输出分布的线性单元} -一种简单的输出单元是基于没有非线性存在的仿射变换的输出单元。 -它们往往被称为线性单元。 +一种简单的输出单元是基于仿射变换的输出单元,仿射变换不带有非线性。 +这些单元往往被直接称为线性单元。 给定特征$\bm{h}$,线性输出单元层产生一个向量$\hat{\bm{y}} = \bm{W}^\top \bm{h}+\bm{b}$。 @@ -464,20 +464,21 @@ p(\bm{y}\mid\bm{x}) = \CalN(\bm{y}; \hat{\bm{y}}, \bm{I} ). 最大化对数似然此时等价于最小化均方误差。 最大化似然的框架使它也可以很直观的来学习高斯分布的协方差矩阵,或者使得高斯分布的协方差是输入的函数。 -然而,对于所有输入协方差矩阵都必须被限制成一个正定的矩阵。 -用线性输出层来满足这种限制是困难的,所以通常其他的输出单元被用来对协方差参数化。 +然而,对于所有输入,协方差矩阵都必须被限制成一个正定的矩阵。 +用线性输出层来满足这种限制是困难的,所以通常使用其他的输出单元来对协方差参数化。 对协方差建模的方法在\?节中简要介绍。 因为线性模型不会饱和,所以它们对基于梯度的优化算法没有任何困难并且可以被用在相当广泛的优化算法中。 \subsubsection{用于Bernoulli输出分布的sigmoid单元} -许多任务需要预测二元变量$y$的值。 +许多任务需要预测二值型变量$y$的值。 具有两个类的分类问题可以归结为这种形式。 此时最大似然的方法是定义$y$在$\bm{x}$条件下的Bernoulli分布。 -Bernoulli分布仅需一个单独的数来定义,神经网络只需要预测$P(y =1\mid\bm{x})$即可。 +Bernoulli分布仅需单个参数来定义。 +神经网络只需要预测$P(y =1\mid\bm{x})$即可。 为了使这个数是有效的概率,它必须处在区间$[0, 1]$中。 满足这个限制需要一些细致的设计工作。 @@ -505,10 +506,10 @@ sigmoid输出单元定义为 接着,它使用sigmoid激活函数将$z$转化成概率。 我们暂时忽略对于$\bm{x}$的依赖性,只讨论如何用$z$的值来定义$y$的概率分布。 -sigmoid可以通过构造一个非标准化(和不为1)的概率分布$\tilde{P}(y)$来实现。 +sigmoid可以通过构造一个非归一化(和不为1)的概率分布$\tilde{P}(y)$来得到。 我们可以随后除以一个合适的常数来得到有效的概率分布。 -如果我们假定非标准化的对数概率对$y$ 和$z$是线性的,可以对它取指数来得到非标准化的概率。 -我们然后对它归一化,可以发现这服从Bernoulli分布,它受$z$的sigmoid形式的变换控制: +如果我们假定非归一化的对数概率对$y$ 和$z$是线性的,可以对它取指数来得到非归一化的概率。 +我们然后对它归一化,可以发现这服从Bernoulli分布,它受$z$的sigmoid变换控制: \begin{align} \log \tilde{P}(y) &= yz,\\ \tilde{P}(y) &= \exp(yz),\\ @@ -516,7 +517,7 @@ P(y) &= \frac{\exp(yz)}{\sum_{y' = 0}^1 \exp(y' z)},\\ P(y) &= \sigma((2y-1)z). \end{align} 基于指数和归一化的概率分布在统计建模的文献中很常见。 -定义这种二元变量分布的变量$z$被称为分对数。 +用于定义这种二值型变量分布的变量$z$被称为分对数。 @@ -541,23 +542,24 @@ J(\bm{\theta}) &= -\log P(y\mid\bm{x})\\ 当我们使用其他的损失函数,例如均方误差之类的,损失函数会在任何$\sigma(z)$饱和时饱和。 sigmoid激活函数在$z$取非常小的负值时会饱和到0,当$z$取非常大的正值时会饱和到1。 这种情况一旦发生,梯度会变得非常小以至于不能用来学习,无论此时模型给出的是正确还是错误的答案。 -因为这个原因,最大似然总是训练sigmoid输出单元的优选方法。 +因为这个原因,最大似然几乎总是训练sigmoid输出单元的优选方法。 理论上,sigmoid的对数总是确定和有限的,因为sigmoid的返回值总是被限制在开区间$(0, 1)$上,而不是使用整个闭区间$[0, 1]$的有效概率。 在软件实现时,为了避免数值问题,最好将负的对数似然写作$z$的函数,而不是$\hat{y}=\sigma(z)$的函数。 如果sigmoid函数下溢到零,那么之后对$\hat{y}$取对数会得到负无穷。 -\subsubsection{用于multinoulli输出分布的softmax单元} +\subsubsection{用于 +Multinoulli输出分布的softmax单元} 任何时候当我们想要表示一个具有$n$个可能取值的离散型随机变量的分布时,我们都可以使用softmax函数。 -它可以看作是sigmoid函数的扩展,sigmoid函数用来表示二元变量的分布。 +它可以看作是sigmoid函数的扩展,sigmoid函数用来表示二值型变量的分布。 softmax函数最常用作分类器的输出,来表示$n$个不同类上的概率分布。 比较少见的是,softmax函数可以在模型内部使用,例如如果我们想要在某个内部变量的$n$个不同选项中进行选择。 -在二元变量的情况下,我们希望计算一个单独的数 +在二值型变量的情况下,我们希望计算一个单独的数 \begin{equation} \hat{y} = P(y=1\mid\bm{x}). \end{equation} @@ -566,7 +568,7 @@ softmax函数最常用作分类器的输出,来表示$n$个不同类上的概 为了推广到具有$n$个值的离散型变量的情况,我们现在需要创造一个向量$\hat{\bm{y}}$,它的每个元素是$\hat{y}_i = P(y=i\mid\bm{x})$。 我们不仅要求每个$\hat{y}_i$元素介于0和1之间,还要使得整个向量的和为1使得它表示一个有效的概率分布。 -用于Bernoulli分布的方法同样可以推广到multinoulli分布。 +用于Bernoulli分布的方法同样可以推广到Multinoulli分布。 首先,线性层预测了非标准化的对数概率: \begin{equation} \bm{z} = \bm{W}^\top \bm{h}+\bm{b}, @@ -717,7 +719,7 @@ p(\bm{y}\mid\bm{x}) = \sum_{i=1}^n p(\RSc = i \mid \bm{x}) \CalN(\bm{y}; \bm{\mu \begin{enumerate} + 混合组件$p(\RSc=i\mid\bm{x})$:它们由隐变量 \footnote{我们认为$\RSc$是隐变量是因为我们不能直接在数据中观测到它:给定输入$\RVx$和目标$\RVy$,不可能确切地知道是哪个Gaussian组件产生$\RVy$,但我们可以想象$\RVy$是通过选择其中一个来产生的,并且将那个未被观测到的选择作为随机变量。} -$\RSc$关联着,在$n$个不同组件上形成multinoulli分布。 +$\RSc$关联着,在$n$个不同组件上形成Multinoulli分布。 这个分布通常可以由$n$维向量的softmax来获得,以确保这些输出是正的并且和为1。 + 均值$\bm{\mu}^{(i)}(\bm{x})$:它们指明了与第$i$个Gaussian组件相关联的中心或者均值,并且是无约束的(通常对于这些输出单元完全没有非线性)。 @@ -811,7 +813,7 @@ Gaussian混合输出在语音生成模型{cite?}和物理运动{cite?}中特别 线性单元和整流线性单元的唯一区别在于整流线性单元在其一半的定义域上输出为零。 这使得只要整流线性单元处于激活状态它的导数都能保持较大。 它的梯度不仅大而且一致。 -修正操作的二阶导数几乎处处为0,并且在整流线性单元处于激活状态时它的一阶导数处处为1。 +整流操作的二阶导数几乎处处为0,并且在整流线性单元处于激活状态时它的一阶导数处处为1。 这意味着它的梯度方向对于学习来说更加有用,相比于引入二阶效应的激活函数。 整流线性单元通常用于仿射变换之上: @@ -847,13 +849,13 @@ g(\bm{z})_i = \underset{j\in \SetG^{(i)}}{\max} z_j maxout单元可以学习具有多达$k$段的分段线性的凸函数。 maxout单元因此可以视为\textbf{学习激活函数}本身而不仅仅是单元之间的关系。 使用足够大的$k$,maxout单元可以以任意的逼真度来近似任何凸函数。 -特别地,具有每组两块的maxout层可以学习实现和传统层相同的输入$\bm{x}$的函数,包括整流线性激活函数、绝对值修正函数、leaky或参数化ReLU、或者可以学习实现与这些都不同的函数。 +特别地,具有每组两块的maxout层可以学习实现和传统层相同的输入$\bm{x}$的函数,包括整流线性激活函数、绝对值整流、渗漏整流线性单元 或参数化整流线性单元、或者可以学习实现与这些都不同的函数。 maxout层的参数化当然也将与这些层不同,所以即使是maxout学习去实现和其他种类的层相同的$\bm{x}$的函数这种情况下,学习的机理也是不一样的。 每个maxout单元现在由$k$个权重向量来参数化,而不仅仅是一个,所以maxout单元通常比整流线性单元需要更多的正则化。 如果训练集很大并且每个单元分得的块数保持很低的话,它们可以在没有正则化的情况下正常工作{cite?}。 -Maxout单元还有一些其他的优点。 +maxout单元还有一些其他的优点。 在某些情况下,需要更少的参数可以获得一些统计和计算上的优点。 具体来说,如果由$n$个不同的线性过滤器描述的特征可以在不损失信息的情况下,用每一组$k$个特征的最大值来概括的话,那么下一层可以获得$k$倍更少的权重数 。 @@ -869,7 +871,7 @@ Maxout单元还有一些其他的优点。 -## Logistic Sigmoid与双曲正切函数 +## logistic sigmoid与双曲正切函数 在引入整流线性单元之前,大多数神经网络使用logistic sigmoid激活函数 @@ -882,7 +884,7 @@ g(z) = \text{tanh}(z). \end{equation} 这些激活函数紧密相关,因为$\text{tanh}(z)=2\sigma(2z)-1$。 -我们已经看过sigmoid单元作为输出单元用来预测二元变量取值为1的概率。 +我们已经看过sigmoid单元作为输出单元用来预测二值型变量取值为1的概率。 与分段线性单元不同,sigmoid单元在其大部分定义域内都饱和——当$z$取绝对值很大的正值时,它们饱和到一个高值,当$z$取绝对值很大的负值时,它们饱和到一个低值,并且仅仅当$z$接近0时它们才对输入强烈敏感。 sigmoid单元的广泛饱和性会使得基于梯度的学习变得非常困难。 因为这个原因,现在不鼓励将它们用作前馈网络中的隐藏单元。 @@ -948,7 +950,7 @@ softmax单元很自然地表示具有$k$个可能值的离散型随机变量的 通常不鼓励使用softplus函数。 softplus表明隐藏单元类型的性能可能是非常反直觉的——因为它处处可导或者因为它不完全饱和,人们可能希望它具有优于整流线性单元的点,但根据经验来看,它并没有。 -+ 硬双曲正切函数:它的形状和$\text{tanh}$以及修正先行单元类似,但是不同于后者,它是有界的,$g(a)=\max(-1, \min(1,a))$。 ++ 硬双曲正切函数:它的形状和$\text{tanh}$以及整流线性单元类似,但是不同于后者,它是有界的,$g(a)=\max(-1, \min(1,a))$。 它由{Collobert04}引入。 @@ -1025,8 +1027,8 @@ Borel可测的概念超出了本书的范畴;对于我们想要实现的目标 许多现代神经网络使用整流线性单元。 {Leshno-et-al-1993}证明带有一大类非多项式激活函数族的浅层网络,包括整流线性单元,具有通用的近似性质,但是这些结果并没有强调深度或效率的问题——它们仅指出足够宽的整流网络能够表示任意函数。 {Montufar-et-al-NIPS2014}指出一些用深度整流网络表示的函数可能需要浅层网络(一个隐藏层)指数级的隐藏单元才能表示。 -更确切的说,他们说明分段线性网络(可以通过修正非线性或maxout单元获得)可以表示区域的数量是网络深度的指数级的函数。 -图\?解释了带有绝对值修正的网络是如何创建函数的镜像图像的,这些函数在某些隐藏单元的顶部计算,作用于隐藏单元的输入。 +更确切的说,他们说明分段线性网络(可以通过整流非线性或maxout单元获得)可以表示区域的数量是网络深度的指数级的函数。%这里为什么是非线性? +图\?解释了带有绝对值整流的网络是如何创建函数的镜像图像的,这些函数在某些隐藏单元的顶部计算,作用于隐藏单元的输入。 每个隐藏单元指定在哪里折叠输入空间,来创造镜像响应(在绝对值非线性的两侧)。 通过组合这些折叠操作,我们获得指数级的分段线性区域,他们可以概括所有种类的规则模式(例如,重复)。 @@ -1840,14 +1842,14 @@ Krylov方法是用于执行各种操作的一组迭代技术,这些操作包 使用交叉熵损失大大提高了具有sigmoid和softmax输出的模型的性能,而当使用均方误差损失时会存在饱和和学习缓慢的问题。 另一个显著改善前馈网络性能的算法上的主要变化是使用分段线性隐藏单元来替代sigmoid隐藏单元,例如用整流线性单元。 -使用$\max\{0, z\}$函数的修正在早期神经网络中已经被引入,并且至少可以追溯到认知机(Cognitron)和神经认知机(Neocognitron){cite?}。 -这些早期的模型没有使用整流线性单元,而是将修正用于非线性函数。 -尽管修正在早期很普及,在20世纪80年代,修正很大程度上被sigmoid所取代,也许是因为当神经网络非常小时,sigmoid表现更好。 +使用$\max\{0, z\}$函数的整流在早期神经网络中已经被引入,并且至少可以追溯到认知机(Cognitron)和神经认知机(Neocognitron){cite?}。 +这些早期的模型没有使用整流线性单元,而是将整流用于非线性函数。 +尽管整流在早期很普及,在20世纪80年代,整流很大程度上被sigmoid所取代,也许是因为当神经网络非常小时,sigmoid表现更好。 到21世纪初,由于有些迷信的观念,相信必须避免具有不可导点的激活函数,所以避免了整流线性单元。 这在2009年开始发生改变。 -{Jarrett-ICCV2009-small}观察到,在神经网络结构设计的几个不同因素中"使用修正非线性是提高识别系统性能的最重要的唯一因素"。 +{Jarrett-ICCV2009-small}观察到,在神经网络结构设计的几个不同因素中"使用整流非线性是提高识别系统性能的最重要的唯一因素"。 -对于小的数据集,{Jarrett-ICCV2009-small}观察到,使用修正非线性甚至比学习隐藏层的权重值更加重要。 +对于小的数据集,{Jarrett-ICCV2009-small}观察到,使用整流非线性甚至比学习隐藏层的权重值更加重要。 随机的权重足以通过整流网络传播有用的信息,允许在顶部的分类器层学习如何将不同的特征向量映射到类标识。 当有更多数据可用时,学习开始提取足够的有用知识来超越随机选择参数的性能。 @@ -1855,9 +1857,9 @@ Krylov方法是用于执行各种操作的一组迭代技术,这些操作包 整流线性单元还具有历史意义,因为它们表明神经科学继续对深度学习算法的发展产生影响。 {Glorot+al-AI-2011-small}从生物学考虑整流线性单元的导出。 -半修正非线性旨在描述生物神经元的这些性质:1)对于某些输入,生物神经元是完全不活跃的。 -2)对于某些输入,生物神经元的输出和它的输入成比例。 -3)大多数时间,生物神经元是在它们不活跃的状态下进行操作(即它们应该具有稀疏激活)。 +半整流非线性旨在描述生物神经元的这些性质:(1) 对于某些输入,生物神经元是完全不活跃的。 +(2) 对于某些输入,生物神经元的输出和它的输入成比例。 +(3) 大多数时间,生物神经元是在它们不活跃的状态下进行操作(即它们应该具有稀疏激活)。 diff --git a/docs/_posts/2016-12-13-Chapter13_linear_factor_models.md b/docs/_posts/2016-12-13-Chapter13_linear_factor_models.md index 99fb0b4..d6f59eb 100644 --- a/docs/_posts/2016-12-13-Chapter13_linear_factor_models.md +++ b/docs/_posts/2016-12-13-Chapter13_linear_factor_models.md @@ -123,7 +123,7 @@ share: false 隐含因子$\Vh$的先验$p(\Vh)$,必须由用户给出并固定。 接着模型确定性地生成$\Vx = \MW \Vh$。 我们可以通过非线性变化(使用\eqn?)来确定$p(\Vx)$。 -然后通过一般的方法比如最大似然估计进行学习。 +然后通过一般的方法比如最大似然学习进行学习。 @@ -141,7 +141,7 @@ share: false 如前所述,独立分量分析存在许多变种。 一些版本在$\Vx$的生成中添加一些噪声,而不是使用确定性的解码器。 -大多数不使用最大似然估计准则,而是旨在使$\Vh = \MW^{-1}\Vx$的元素彼此独立。 +大多数不使用最大似然学习准则,而是旨在使$\Vh = \MW^{-1}\Vx$的元素彼此独立。 许多准则能够达成这个目标。 \eqn?需要用到$\MW$的行列式,这可能是昂贵且数值不稳定的操作。 独立分量分析的一些变种通过将$\MW$约束为正交来避免这个有问题的操作。 @@ -152,7 +152,7 @@ share: false 这是因为如果$p(\Vh)$是具有高斯分量的独立先验,则$\MW$是不可识别的。 对于许多$\MW$值,我们可以在$p(\Vx)$上获得相同的分布。 这与其他线性因子模型有很大的区别,例如概率PCA和因子分析,通常要求$p(\Vh)$是高斯的,以便使模型上的许多操作具有闭式解。 -在用户明确指定分布的最大似然估计方法中,一个典型的选择是使用$p(h_i) = \frac{d}{dh_i}\sigma(h_i)$。 +在用户明确指定分布的最大似然学习方法中,一个典型的选择是使用$p(h_i) = \frac{d}{dh_i}\sigma(h_i)$。 这些非高斯分布的典型选择在$0$附近具有比高斯分布更高的峰值,因此我们也可以看到独立分量分析经常在学习稀疏特征时使用。 @@ -314,7 +314,7 @@ p(h_i)\propto \frac{1}{(1+\frac{h_i^2}{\nu})^{\frac{\nu+1}{2}}}. \end{align} -使用最大似然估计的方法来训练稀疏编码模型是不可行的。 +使用最大似然学习的方法来训练稀疏编码模型是不可行的。 相反,为了在给定编码的情况下更好地重建数据,训练过程在编码数据和训练解码器之间交替进行。 稍后在\sec?中,这种方法将被进一步证明为解决似然最大化问题的一种通用的近似方法。 diff --git a/docs/_posts/2016-12-15-Chapter15_representation_learning.md b/docs/_posts/2016-12-15-Chapter15_representation_learning.md index 587b82d..386e18d 100644 --- a/docs/_posts/2016-12-15-Chapter15_representation_learning.md +++ b/docs/_posts/2016-12-15-Chapter15_representation_learning.md @@ -291,7 +291,11 @@ share: false \else \centerline{\includegraphics{Chapter15/figures/multi_task_input}} \fi -\caption{TODO} +\caption{多任务学习或者迁移学习的架构示例。 +输出变量$\RVy$在所有的任务上具有相同的语义;输入变量$\RVx$在每个任务(或者,比如每个用户)上具有不同的意义(甚至可能具有不同的维度),图上三个任务为$\RVx^{(1)}$,$\RVx^{(2)}$,$\RVx^{(3)}$。 +底层结构(决定了选择方向)是面向任务的,上层结构是共享的。 +底层结构学习将面向特定任务的输入转化为通用特征。 +} \end{figure} 在领域自适应的相关情况下,任务(和最优的输入输出映射)在每个设定之间保持相同,但是输入分布稍有不同。 @@ -404,7 +408,7 @@ share: false \else \centerline{\includegraphics{Chapter15/figures/mixture_model_color}} \fi -\caption{混合模型。具有三个混合分量的混合密度示例。混合分量的内在本质是潜在解释因素,$y$。 +\caption{混合模型。具有三个混合分量的混合密度示例。混合分量的内在本质是潜在解释因素$y$。 因为混合分量(例如,图像数据中的自然对象类别)在统计学上是显著的,所以使用无标记的样本无监督建模$p(x)$也能显示解释因素$y$。 } \end{figure} @@ -464,7 +468,11 @@ share: false \includegraphics[width=0.45\textwidth]{Chapter15/figures/ping_pong_reconstruction} \end{tabular} \fi -\caption{TODO} +\caption{机器人任务上,基于均方误差训练的自动编码器不能重构乒乓球。 +乒乓球的存在及其所有空间坐标,是生成图像且与机器人任务相关的重要潜在因素。 +不幸的是,自动编码器具有有限的容量,基于均方误差的训练没能将乒乓球显著识别出来编码。 +以上图像由Chelsea Finn提供。 +} \end{figure} 还有一些其他的突出性的定义。 diff --git a/docs/_posts/2016-12-17-Chapter17_monte_carlo_methods.md b/docs/_posts/2016-12-17-Chapter17_monte_carlo_methods.md index 9eed7a6..1fed8f4 100644 --- a/docs/_posts/2016-12-17-Chapter17_monte_carlo_methods.md +++ b/docs/_posts/2016-12-17-Chapter17_monte_carlo_methods.md @@ -348,8 +348,8 @@ q' (\RVx') = \SetE_{\RVx\sim q}T(\RVx'\mid \RVx). Gibbs采样是一种概念简单而又有效的方法,它构造一个从$p_{\text{model}}(\Vx)$中采样的马尔可夫链,其中在基于能量的模型中从$T(\RVx'\mid \RVx)$采样是通过选择一个变量$\RSx_i$然后从$p_{\text{model}}$中的该点在无向图$G$中邻接点的条件分布中抽样。 给定他们的邻居结点只要一些变量是条件独立的,那么这些变量可以被同时采样。 -正如在\sec?中看到的受限玻尔兹曼机的例子一样,受限玻尔兹曼机所有的隐层结点可以被同时采样,因为在给定可见层结点的条件下他们相互条件独立。 -同样的,所有的可见层结点也可以被同时采样因为在给定隐藏层结点的情况下他们相互条件独立。 +正如在\sec?中看到的受限玻尔兹曼机的例子一样,受限玻尔兹曼机所有的隐藏单元可以被同时采样,因为在给定可见层结点的条件下他们相互条件独立。 +同样的,所有的可见层结点也可以被同时采样因为在给定隐藏单元的情况下他们相互条件独立。 像这样的同时更新许多变量的Gibbs采样通常被叫做块吉布斯采样。 diff --git a/docs/_posts/2016-12-18-Chapter18_confronting_the_partition_function.md b/docs/_posts/2016-12-18-Chapter18_confronting_the_partition_function.md index 85dd365..fbb2174 100644 --- a/docs/_posts/2016-12-18-Chapter18_confronting_the_partition_function.md +++ b/docs/_posts/2016-12-18-Chapter18_confronting_the_partition_function.md @@ -222,7 +222,7 @@ CD未能定性地实现真实负相的主要原因是,它不能抑制远离真 \end{figure} -{Perpinan+Hinton-2005-small}实验上证明CD估计偏向于RBM和完全可见的玻尔兹曼机,因为它会收敛到与最大似然估计不同的点。 +{Perpinan+Hinton-2005-small}实验上证明CD估计偏向于RBM和完全可见的玻尔兹曼机,因为它会收敛到与最大似然学习不同的点。 他们认为,由于偏差较小,CD可以作为一种计算代价低的方式来初始化模型,之后可以通过计算代价高的MCMC方法进行细调。 {Bengio+Delalleau-2009}表明,CD可以被理解为去掉了正确MCMC梯度更新中的最小项,这解释了偏差的由来。 @@ -538,7 +538,7 @@ SML和CD只估计对数配分函数的梯度,而不是估计配分函数本身 NCE将估计$p(\RVx)$的无监督学习问题转化为学习一个概率二元分类器,其中一个类别对应模型生成的数据。 -该监督学习问题中的最大似然估计定义了原始问题的渐近一致估计。 +该监督学习问题中的最大似然学习定义了原始问题的渐近一致估计。 具体来说,我们引入第二个分布,噪扰分布$p_{\text{noise}}(\RVx)$。 diff --git a/docs/_posts/2016-12-19-Chapter19_approximate_inference.md b/docs/_posts/2016-12-19-Chapter19_approximate_inference.md index 8c7fef1..5134879 100644 --- a/docs/_posts/2016-12-19-Chapter19_approximate_inference.md +++ b/docs/_posts/2016-12-19-Chapter19_approximate_inference.md @@ -6,15 +6,15 @@ share: false -许多概率模型是很难训练的,其根本原因是很难进行推断。 -在深度学习中,我们通常有一系列的可见变量$\Vv$和一系列的隐变量$\Vh$。 -推断的挑战往往在于计算$P(\Vh\mid\Vv)$或者计算在分布$P(\Vh\mid\Vv)$下期望的困难性。 -这样的操作在一些任务比如最大似然估计中往往又是必需的。 +许多概率模型是很难训练的,其原因是很难进行推断。 +在深度学习中,我们通常有一个可见变量$\Vv$的集合和一个隐变量$\Vh$的集合。 +推断的挑战往往在于计算$p(\Vh\mid\Vv)$或者计算在分布$p(\Vh\mid\Vv)$下期望的困难性。 +而这样的操作在一些任务比如最大似然学习中往往又是必需的。 -许多诸如受限玻尔兹曼机和概率PCA这样的仅仅含有一层隐层的简单图模型的定义,往往使得推断操作如计算$P(\Vh\mid\Vv)$或者计算分布$P(\Vh\mid\Vv)$下的期望是非常容易的。 +许多诸如受限玻尔兹曼机和概率PCA这样的仅仅含有一层隐层的简单图模型的定义,往往使得推断操作如计算$p(\Vh\mid\Vv)$或者计算分布$p(\Vh\mid\Vv)$下的期望是非常容易的。 不幸的是,大多数的具有多层隐变量的图模型的后验分布都很难处理。 -精确的推断算法需要指数量级的运行时间。 +对于这些模型精确的推断算法需要指数量级的运行时间。 即使一些只有单层的模型,如稀疏编码,也存在着这样的问题。 @@ -24,9 +24,9 @@ share: false -在深度学习中难以处理的推断问题通常源于结构化概率模型中隐变量之间的相互作用。 +在深度学习中难以处理的推断问题通常源于结构化图模型中隐变量之间的相互作用。 详见\fig?的几个例子。 -这些相互作用可能是无向模型的直接作用,也可能是有向模型中一个可见变量的共同祖先之间的explaining away作用。 +这些相互作用可能是无向模型的直接作用,也可能是有向模型中同一个可见变量的共同祖先之间的explaining away作用。 @@ -38,7 +38,7 @@ share: false \fi \caption{深度学习中难以处理的推断问题通常是由于结构化图模型中隐变量的相互作用。 这些相互作用产生于当V-结构的子节点是可观察的时候一个隐变量与另一个隐变量或者更长的激活路径相连。 - (左)一个隐含节点相互连接的半受限波尔兹曼机{cite?}。由于存在大量的隐变量的团,隐变量的直接连接使得后验分布难以处理。 + (左)一个隐藏单元相互连接的半受限波尔兹曼机{cite?}。由于存在大量的隐变量的团,隐变量的直接连接使得后验分布难以处理。 (中)一个深度玻尔兹曼机,被分层从而使得不存在层内连接,由于层之间的连接其后验分布仍然难以处理。 (右)当可见变量是可以观察时这个有向模型的隐变量之间存在相互作用,因为每两个隐变量都是coparent。 即使拥有上图中的某一种结构,一些概率模型依然能够获得易于处理的后验分布。 @@ -58,17 +58,17 @@ share: false 为了构造这样一个优化问题,假设我们有一个包含可见变量$\Vv$和隐变量$\Vh$的概率模型。 -我们希望计算观察数据的概率的对数$\log p(\Vv;\Vtheta)$。 -有时候如果消去$\Vh$来计算$\Vx$的边缘分布很费时的话,我们通常很难计算$\log p(\Vv;\Vtheta)$。 -作为替代,我们可以计算一个$\log p(\Vv;\Vtheta)$的下界。 +我们希望计算观察数据的概率对数$\log p(\Vv;\Vtheta)$。 +有时候如果边缘化消去$\Vh$的操作很费时的话,我们通常很难计算$\log p(\Vv;\Vtheta)$。 +作为替代,我们可以计算一个$\log p(\Vv;\Vtheta)$的下界$\CalL(\Vv,{\Vtheta},q)$。 这个下界叫做证据下界。 -这个下界的另一个常用的名字是负的变分自由能。 -这个证据下界是这样定义的: +这个下界的另一个常用名字是负变分自由能。 +具体地,这个证据下界是这样定义的: \begin{align} \CalL(\Vv,{\Vtheta},q) = \log p(\Vv;{\Vtheta}) - D_{\text{KL}}(q(\Vh\mid\Vv) \Vert p(\Vh\mid\Vv;{\Vtheta})). \end{align} -在这里 $q$是关于$\Vh$的一个任意的概率分布。 +在这里 $q$是关于$\Vh$的一个任意概率分布。 @@ -78,8 +78,8 @@ share: false -令人吃惊的是,对某些分布$q$,$\CalL$可以被化的更简单。 -通过简单的代数运算我们可以把$\CalL$写成更加简单的形式: +令人吃惊的是,对某些分布$q$,$\CalL$可以被化得更简单。 +通过简单的代数运算我们可以把$\CalL$重写成一个更加简单的形式: \begin{align} \CalL(\Vv,{\Vtheta},q) = & \log p(\Vv;{\Vtheta})- D_{\text{KL}}(q(\Vh\mid\Vv)\Vert p(\Vh\mid\Vv;{\Vtheta})) \\ @@ -97,22 +97,22 @@ share: false \end{align} -对于一个较好的选择$q$来说,$\CalL$是可以计算的。 +对于一个较好的选择$q$来说,$\CalL$是容易计算的。 对任意选择$q$来说,$\CalL$提供了一个似然函数的下界。 -越好的近似$q$的分布$q(\Vh\mid\Vv)$得到的下界就越紧,即与$\log p(\Vv)$更加接近。 +越好的近似$q$的分布$q(\Vh\mid\Vv)$得到的下界就越紧,换句话说,就是与$\log p(\Vv)$更加接近。 当$q(\Vh\mid\Vv) = p(\Vh\mid\Vv)$时,这个近似是完美的,也意味着$\CalL(\Vv,{\Vtheta},q) = \log {p(\Vv;{\Vtheta})} $。 -我们可以将推断问题看做是找一个分布$q$使得$\CalL$最大的过程。 -精确的推断能够通过找一组包含分布$p(\Vh\mid\Vv)$的函数,完美地最大化$\CalL$。 +因此我们可以将推断问题看做是找一个分布$q$使得$\CalL$最大的过程。 +精确的推断能够通过搜索一组包含分布$p(\Vh\mid\Vv)$的$q$函数族,完美地最大化$\CalL$。 在本章中,我们将会讲到如何通过近似优化来找$q$的方法来推导出不同形式的的近似推断。 我们可以通过限定分布$q$的形式或者使用并不彻底的优化方法来使得优化的过程更加高效,但是优化的结果是不完美的,因为只能显著地提升$\CalL$而无法彻底地最大化$\CalL$。 -无论什么样的$q$的选择,$\CalL$是一个下界。 -我们可以通过选择一个更简单抑或更复杂的计算过程来得到对应的更加松的或者更紧的下界。 +无论我们选择什么样的$q$,$\CalL$始终是一个下界。 +我们可以通过选择一个更简单抑或更复杂的计算过程来得到对应的更松或者更紧的下界。 通过一个不彻底的优化过程或者将$q$分布做很强的限定(并且使用一个彻底的优化过程)我们可以获得一个很差的$q$,尽管计算开销是极小的。 @@ -129,7 +129,7 @@ share: false -EM算法包含了交替的两步运算直到收敛的过程: +EM算法包含了交替进行两步运算直到收敛的过程: + E步: 令${\Vtheta^{(0)}}$表示在这一步开始时参数的初始值。 令$q(\Vh^{(i)}\mid \Vv) = p(\Vh^{(i)}\mid\Vv^{(i)};\Vtheta^{(0)})$对任何我们想要训练的(对所有的或者minibatch数据均成立)索引为$i$的训练样本$\Vv^{(i)}$。 @@ -150,23 +150,23 @@ EM算法包含了交替的两步运算直到收敛的过程: 基于隐变量模型的随机梯度上升可以被看做是一个EM算法的特例,其中M步包括了单次梯度的操作。 EM算法的其他变种可以实现多次梯度操作。 -对一些模型,M步可以通过推出理论解直接完成,不同于其他方法,在给定当前$q$的情况下直接求出最优解。 +对一些模型族来说,M步甚至可以通过推出理论解直接完成,不同于其他方法,在给定当前$q$的情况下直接求出最优解。 即使E步采用的是精确推断,我们仍然可以将EM算法视作是某种程度上的近似推断。 具体地说,M步假设了一个$q$分布可以被所有的$\Vtheta$分享。 当M步越来越远离E步中的$\Vtheta^{(0)}$的时候,这将会导致$\CalL$和真实的$\log p(\Vv)$的差距。 -此外,当下一个循环的时候,E步把这种差距又降到了$0$。 +幸运的事,当下一个循环的时候,E步把这种差距又降到了$0$。 EM算法包含了一些不同的解释。 首先,学习过程的一个基本思路就是,我们通过更新模型参数来提高整个数据集的似然,其中缺失变量的值是通过后验分布来估计的。 -这种解释并不仅仅适用于EM算法。 +这种特定的性质并不仅仅适用于EM算法。 比如说,使用梯度下降来最大化似然函数的对数这种方法也利用了相同的性质。 -计算对数似然函数的梯度需要对隐含节点的后验分布来求期望。 +计算对数似然函数的梯度需要对隐藏单元的后验分布来求期望。 EM算法另一个关键的性质是当我们移动到另一个$\Vtheta$时候,我们仍然可以使用旧的$q$。 在传统机器学习中,这种特有的性质在推导M步更新时候得到了广泛的应用。 在深度学习中,大多数模型太过于复杂以致于在M步中很难得到一个最优解。 @@ -180,29 +180,29 @@ EM算法另一个关键的性质是当我们移动到另一个$\Vtheta$时候, -我们通常使用推断这个术语来指代给定一定条件下计算一系列变量的概率分布的过程。 -当训练带有隐变量的概率模型的时候,我们通常关注于计算$p(\Vh\mid\Vv)$。 +我们通常使用推断这个术语来指代给定一些其它变量的情况下计算某些变量的概率分布的过程。 +当训练带有隐变量的概率模型时,我们通常关注于计算$p(\Vh\mid\Vv)$。 在推断中另一个选择是计算一个最有可能的隐变量的值来代替在其完整分布上的抽样。 在隐变量模型中,这意味着计算 \begin{align} \Vh^* = \underset{\Vh}{\arg\max} \ \ p(\Vh\mid\Vv). \end{align} -这被称作是最大后验推断。 +这被称作是最大后验推断,简称MAP推断。 -最大后验推断并不是一种近似推断,它计算了最有可能的一个$\Vh^*$。 +最大后验推断并不是一种近似推断,它只是精确地计算了最有可能的一个$\Vh^*$。 然而,如果我们希望能够最大化$\CalL(\Vv,\Vh,q)$,那么我们可以把最大后验推断看成是输出一个$q$的学习过程。%是很有帮助的。 在这种情况下,我们可以将最大后验推断看成是近似推断,因为它并不能提供一个最优的$q$。 -我们回过头来看看\sec?中所描述的精确推断,它指的是关于一个不受限的$q$分布使用精确的优化算法来最大化 +我们回过头来看看\sec?中所描述的精确推断,它指的是关于一个在无限制的概率分布族中的$q$分布使用精确的优化算法来最大化 \begin{align} \CalL(\Vv,{\Vtheta},q) - = \SetE_{\RVh\sim q}[\log q(\Vh , \Vv)] + H(q). + = \SetE_{\RVh\sim q}[\log p(\Vh , \Vv)] + H(q). \end{align} 我们通过限定$q$分布属于某个分布族,能够使得最大后验推断成为一种形式的近似推断。 具体的说,我们令$q$分布满足一个Dirac分布: @@ -226,7 +226,7 @@ q(\Vh\mid\Vv) = \delta(\Vh - {\Vmu}). 因此我们能够解释一种类似于EM算法的学习算法,其中我们轮流迭代两步,一步是用最大后验推断估计出$\Vh^*$,另一步是更新$\Vtheta$来增大$\log p(\Vh^*,\Vv)$。 从EM算法角度看,这也是一种形式的对$\CalL$的坐标上升,EM算法的坐标上升中,交替迭代的时候通过推断来优化$\CalL$关于$q$以及通过参数更新来优化$\CalL$关于$\Vtheta$。 整体上说,这个算法的正确性可以得到保证,因为$\CalL$是$\log p(\Vv)$的下界。 -在最大后验推断中,这个保证是无效的,因为这个界会无限的松,由于Dirac分布的熵的微分趋近于负无穷。 +在MAP推断中,这个保证是无效的,因为这个界会无限的松,由于Dirac分布的熵的微分趋近于负无穷。 然而,人为加入一些$\Vmu$的噪声会使得这个界又有了意义。 @@ -237,7 +237,7 @@ q(\Vh\mid\Vv) = \delta(\Vh - {\Vmu}). -我们回过头来看\sec?中的稀疏编码,稀疏编码是一种在隐含节点上加上了鼓励稀疏的先验知识的线性因子模型。 +我们回过头来看\sec?中的稀疏编码,稀疏编码是一种在隐藏单元上加上了鼓励稀疏的先验知识的线性因子模型。 一个常用的选择是可分解的拉普拉斯先验,表示为 \begin{align} p(h_i) = \frac{\lambda}{2} \exp(-\lambda \vert h_i \vert). @@ -253,8 +253,8 @@ q(\Vh\mid\Vv) = \delta(\Vh - {\Vmu}). 计算或者表达$p(\Vh\mid\Vv)$太过困难。 每一对$h_i$, $h_j$变量都是$\Vv$的母节点。 -这也意味着当$\Vv$是可观察时,图模型包含了连接$h_i$和$h_j$的路径。 -因此在$p(\Vh \mid\Vv)$中所有的隐含节点都包含在了一个巨大的团中。 +这也意味着当$\Vv$可观察时,图模型包含了连接$h_i$和$h_j$的一条活跃路径。 +因此$p(\Vh \mid\Vv)$中所有的隐藏单元都包含在了一个巨大的团中。 如果模型是高斯,那么这些关系可以通过协方差矩阵来高效地建模。 然而稀疏型先验使得模型并不是高斯。 @@ -262,7 +262,7 @@ q(\Vh\mid\Vv) = \delta(\Vh - {\Vmu}). $p(\Vx\mid\Vh)$的复杂性导致了似然函数的对数及其梯度也很难得到。 -因此我们不能使用精确的最大似然估计来进行学习。 +因此我们不能使用精确的最大似然学习来进行学习。 取而代之的是,我们通过MAP推断以及最大化由以$\Vh$为中心的Dirac分布所定义而成的ELBO来学习模型参数。 @@ -271,7 +271,7 @@ $p(\Vx\mid\Vh)$的复杂性导致了似然函数的对数及其梯度也很难 \begin{align} J(\MH,\MW) = \sum_{i,j}^{}\vert H_{i,j}\vert + \sum_{i,j}^{}\Big(\MV - \MH \MW^{\top}\Big)^2_{i,j}. \end{align} -为了避免如极端小的$\MH$和极端大的$\MW$这样的病态的解,许多稀疏编码的应用包含了权值衰减或者对$\MH$列的范数的限制。 +为了避免如极端小的$\MH$和极端大的$\MW$这样的病态的解,许多稀疏编码的应用包含了权值衰减或者对$\MH$列范数的限制。 @@ -292,13 +292,13 @@ $p(\Vx\mid\Vh)$的复杂性导致了似然函数的对数及其梯度也很难 -我们已经说明过了为什么证据下界是$\log p(\Vv;\Vtheta)$的一个下界, 如何将推断看做是 关于$q$分布最大化$\CalL$ 的过程以及如何将学习看做是关于参数$\Vtheta$最大化$\CalL$的过程。 -我们也讲到了EM算法在给定了$q$分布的条件下进行学习,而MAP推断的算法则是学习一个$p(\Vh \mid \Vv)$的点估计而非推断整个完整的分布。 +我们已经说明过了为什么证据下界$\CalL(\Vv,\Vtheta,q)$是$\log p(\Vv;\Vtheta)$的一个下界, 如何将推断看做是 关于$q$分布最大化$\CalL$ 的过程以及如何将学习看做是关于参数$\Vtheta$最大化$\CalL$的过程。 +我们也讲到了EM算法在给定了$q$分布的条件下进行学习,而基于MAP推断的学习算法则是学习一个$p(\Vh \mid \Vv)$的点估计而非推断整个完整的分布。 在这里我们介绍一些变分学习中更加通用的算法。 -变分学习的核心思想就是我们通过选择给定的分布族中的一个$q$分布来最大化$\CalL$。 +变分学习的核心思想就是我们通过选择给定有约束的分布族中的一个$q$分布来最大化$\CalL$。 选择这个分布族的时候应该考虑到计算$\SetE_q \log p(\Vh,\Vv)$的简单性。 一个典型的方法就是添加一些假设诸如$q$分布可以分解。 @@ -327,13 +327,13 @@ $p(\Vx\mid\Vh)$的复杂性导致了似然函数的对数及其梯度也很难 因为$\CalL(\Vv,\Vtheta,q)$定义成$\log p(\Vv;\Vtheta) - D_{\text{KL}} (q(\Vh\mid\Vv) \Vert p(\Vh\mid\Vv;\Vtheta) )$,我们可以认为关于$q$最大化$\CalL$的问题等价于最小化$D_{\text{KL}}(q(\Vh\mid\Vv)\Vert p(\Vh\mid\Vv))$。 在这种情况下,我们要用$q$来拟合$p$。 然而,我们并不是直接拟合一个近似,而是处理一个KL散度的问题。 -当我们使用最大似然估计来将数据拟合到模型的时候,我们最小化$D_{\text{KL}}(p_{\text{data}} \Vert p_{\text{model}})$。 -如同\fig?中所示,这意味着最大似然估计促进模型在每一个数据达到更高概率的地方达到更高的概率,而基于优化的推断则促进了$q$在每一个真实后验分布概率较低的地方概率较小。 -这两种方法都有各自的优点与缺点。 +当我们使用最大似然学习来将数据拟合到模型的时候,我们最小化$D_{\text{KL}}(p_{\text{data}} \Vert p_{\text{model}})$。 +如同\fig?中所示,这意味着最大似然促进模型在每一个数据达到更高概率的地方达到更高的概率,而基于优化的推断则促进了$q$在每一个真实后验分布概率较低的地方概率较小。 +这两种基于KL散度的方法都有各自的优点与缺点。 选择哪一种方法取决于在具体应用中哪一种性质更受偏好。 在基于优化的推断问题中,从计算角度考虑,我们选择使用$D_{\text{KL}}(q(\Vh\mid\Vv)\Vert p(\Vh\mid\Vv))$。 具体的说,计算$D_{\text{KL}}(q(\Vh\mid\Vv)\Vert p(\Vh\mid\Vv))$涉及到了计算$q$分布下的期望,所以通过将分布$q$设计的较为简单,我们可以简化求所需要的期望的计算过程。 -另一个KL散度的方向需要计算真实后验分布下的期望。 +另一个方向的KL散度需要计算真实后验分布下的期望。 因为真实后验分布的形式是由模型的选择决定的,我们不能设计出一种能够精确计算$D_{\text{KL}}(p(\Vh\mid\Vv) \Vert q(\Vh\mid\Vv))$的开销较小的方法。 @@ -346,13 +346,13 @@ $p(\Vx\mid\Vh)$的复杂性导致了似然函数的对数及其梯度也很难 关于离散型隐变量的变分推断相对来说更为直接。 -我们定义一个分布$q$,通常$q$的每个因子都由一些离散状态的表格定义。 +我们定义一个分布$q$,通常$q$的每个因子都由一些离散状态的可查询表格定义。 在最简单的情况中,$\Vh$是二元的并且我们做了均匀场的假定,$q$可以根据每一个$h_i$分解。 在这种情况下,我们可以用一个向量$\hat{\Vh}$来参数化$q$分布,$\hat{\Vh}$的每一个元素都代表一个概率,即$q(h_i = 1\mid \Vv) = \hat{h}_i$。 -在确定了如何表示$q$以后,我们简单地优化了它的参数。 +在确定了如何表示$q$以后,我们只需要优化它的参数。 在离散型隐变量模型中,这是一个标准的优化问题。 基本上$q$的选择可以通过任何的优化算法解决,比如说梯度下降。 @@ -361,7 +361,7 @@ $p(\Vx\mid\Vh)$的复杂性导致了似然函数的对数及其梯度也很难 这个优化问题是很高效的因为它在许多学习算法的内循环中出现。 为了追求速度,我们通常使用特殊设计的优化算法。 这些算法通常能够在极少的循环内解决一些小而简单的问题。 -一个常见的选择是使用不动点方程,换句话说,就是关于$\hat{h}_i$解 +一个常见的选择是使用不动点方程,换句话说,就是解关于$\hat{h}_i$的方程 \begin{align} \frac{\partial}{\partial \hat{h}_i}\CalL = 0. \end{align} @@ -371,25 +371,25 @@ $p(\Vx\mid\Vh)$的复杂性导致了似然函数的对数及其梯度也很难 为了具体化这些描述,我们接下来会讲如何将变分推断应用到二值稀疏编码模型(这里我们所描述的模型是{henniges2010binary}提出的,但是我们采用了传统且通用的均匀场方法,而原文作者采用了一种特殊设计的算法)中。 推导过程在数学上非常详细,为希望完全了解变分推断细节的读者所准备。 -而对于并不计划推导或者实现变分学习算法的读者来说,可以完全跳过,直接阅读下一节,这并不会导致重要概念的遗漏。 +而对于并不计划推导或者实现变分学习算法的读者来说,可以完全跳过,直接阅读下一节,这并不会导致新的高级概念的遗漏。 那些从事过二值稀疏编码研究的读者可以重新看一下\sec?中的一些经常在概率模型中出现的有用的函数性质。 我们在推导过程中随意地使用了这些性质,并没有特别强调它们。 在二值稀疏编码模型中,输入$\Vv\in\SetR^n$,是由模型通过添加高斯噪音到$m$个或有或无的成分。 -每一个成分可以是开或者关的通过对应的隐藏层节点$\Vh \in\{0,1\}^m$: +每一个成分可以是开或者关的通过对应的隐藏单元$\Vh \in\{0,1\}^m$: \begin{align} p(h_i = 1) = \sigma(b_i), \end{align} \begin{align} p(\Vv\mid\Vh) = \CalN(\Vv;\MW \Vh,{\Vbeta}^{-1}), \end{align} -其中$\Vb$是一个可以学习的偏置向量,$\MW$是一个可以学习的权值矩阵,${\Vbeta}$是一个可以学习的对角的精度矩阵。 +其中$\Vb$是一个可以学习的偏置的集合,$\MW$是一个可以学习的权值矩阵,${\Vbeta}$是一个可以学习的对角精度矩阵。 -使用最大似然估计来训练这样一个模型需要对参数进行求导。 +使用最大似然学习来训练这样一个模型需要对参数进行求导。 我们考虑对其中一个偏置进行求导的过程: \begin{align} & \frac{\partial}{\partial b_i} \log p(\Vv) \\ @@ -404,8 +404,8 @@ $p(\Vx\mid\Vh)$的复杂性导致了似然函数的对数及其梯度也很难 这需要计算$p(\Vh\mid\Vv)$下的期望。 不幸的是,$p(\Vh\mid\Vv)$是一个很复杂的分布。 -$p(\Vh\mid\Vv)$和$p(\Vh,\Vv)$的图结构见\fig?。 -隐含节点的后验分布对应的是完全图,所以相对于暴力算法,消元算法并不能有助于提高计算所需要的期望的效率。 +$p(\Vh,\Vv)$和$p(\Vh\mid\Vv)$的图结构见\fig?。 +隐藏单元的后验分布对应的是完全图,所以相对于暴力算法,消元算法并不能有助于提高计算所需要的期望的效率。 @@ -415,7 +415,7 @@ $p(\Vh\mid\Vv)$和$p(\Vh,\Vv)$的图结构见\fig?。 \else \centerline{\includegraphics{Chapter19/figures/bsc}} \fi - \caption{包含四个隐含单元的二值稀疏编码的图结构。(左)$p(\Vh,\Vv)$的图结构。要注意边是有向的,每两个隐含单元都是每个可见单元的coparent。(右)$p(\Vh,\Vv)$的图结构。为了解释coparent之间的活跃路径,后验分布所有隐含单元之间都有边。} + \caption{包含四个隐藏单元的二值稀疏编码的图结构。(左)$p(\Vh,\Vv)$的图结构。要注意边是有向的,每两个隐藏单元都是每个可见单元的coparent。(右)$p(\Vh,\Vv)$的图结构。为了解释coparent之间的活跃路径,后验分布所有隐藏单元之间都有边。} \end{figure} @@ -487,7 +487,7 @@ $p(\Vh\mid\Vv)$和$p(\Vh,\Vv)$的图结构见\fig?。 不动点方程的核心思想是我们寻找一个关于$\Vh$的局部最大值,满足$\nabla_{\Vh}\CalL(\Vv,\Vtheta,\hat{\Vh}) = 0$。 -我们无法同时高效的计算所有的$\hat{\Vh}$的元素。 +我们无法同时高效地计算所有的$\hat{\Vh}$的元素。 然而,我们可以解决单个变量的问题: \begin{align} \frac{\partial}{\partial \hat{h}_i} \CalL(\Vv,\Vtheta,\hat{\Vh}) = 0 . @@ -495,12 +495,12 @@ $p(\Vh\mid\Vv)$和$p(\Vh,\Vv)$的图结构见\fig?。 -我们可以迭代的将这个解应用到$i = 1,\ldots,m$,然后重复这个循环直到我们满足了收敛标准。 +我们可以迭代地将这个解应用到$i = 1,\ldots,m$,然后重复这个循环直到我们满足了收敛标准。 常见的收敛标准包含了当整个循环所改进的$\CalL$不超过预设的容忍的量时停止,或者是循环中改变的$\hat{\Vh}$不超过某个值的时候停止。 在很多不同的模型中,迭代的均匀场不动点方程是一种能够提供快速变分推断的通用的算法。 -为了使他更加具体化,我们详细的讲一下如何推导出二值稀疏编码模型的更新过程。 +为了使它更加具体化,我们详细地讲一下如何推导出二值稀疏编码模型的更新过程。 @@ -531,10 +531,10 @@ $p(\Vh\mid\Vv)$和$p(\Vh,\Vv)$的图结构见\fig?。 -在二值稀疏编码模型中,我们可以发现\eqn?中描述的循环网络包含了根据相邻的变化着的隐藏层结点值来反复更新当前隐藏层结点的操作。 -输入层通常给隐藏层结点发送一个固定的信息$\Vv^{\top}\beta\MW$,然而隐藏层结点不断地更新互相传送的信息。 +在二值稀疏编码模型中,我们可以发现\eqn?中描述的循环网络包含了根据相邻的变化着的隐藏单元值来反复更新当前隐藏单元的操作。 +输入层通常给隐藏单元发送一个固定的信息$\Vv^{\top}\beta\MW$,然而隐藏单元不断地更新互相传送的信息。 具体的说,当$\hat{h}_i$和$\hat{h}_j$两个单元的权重向量对准时,他们会产生相互抑制。 -这也是一种形式的竞争---两个共同理解输入的隐层结点之间,只有一个解释的更好的才能继续保持活跃。 +这也是一种形式的竞争---两个共同理解输入的隐藏单元之间,只有一个解释的更好的才能继续保持活跃。 在二值稀疏编码的后验分布中,均匀场近似为了捕获到更多的explaining away作用,产生了这种竞争。 事实上,explaining away效应会导致一个多峰值的后验分布,所以我们如果从后验分布中采样,一些样本只有一个结点是活跃的,其它的样本在其它的结点活跃,只有很少的样本能够所有的结点都处于活跃状态。 不幸的是,explaining away作用无法通过均匀场中可分解的$q$分布来建模,因此建模时均匀场近似只能选择一个峰值。 @@ -558,7 +558,7 @@ $p(\Vh\mid\Vv)$和$p(\Vh,\Vv)$的图结构见\fig?。 接下来我们考虑如何同时更新许多结点。 某些图模型,比如DBM,我们可以同时更新$\hat{\Vh}$中的许多元素。 不幸的是,二值稀疏编码并不适用这种块更新。 -取而代之的是,我们使用一种称为是衰减的启发式的技巧来实现块更新。 +取而代之的是,我们使用一种称为是衰减的启发式技巧来实现块更新。 在衰减方法中,对$\hat{\Vh}$中的每一个元素我们都可以解出最优值,然后对于所有的值都在这个方向上移动一小步。 这个方法不能保证每一步都能增加$\CalL$,但是对于许多模型来说却很有效。 关于在信息传输算法中如何选择同步程度以及使用衰减策略可以参考{koller-book2009} 。 @@ -624,9 +624,9 @@ $f$函数的函数被称为是泛函$J[f]$。 -我们不能简单的关于函数$p(x)$最大化$H[p]$,因为那样的话结果可能不是一个概率分布。 +我们不能简单地仅仅关于函数$p(x)$最大化$H[p]$,因为那样的话结果可能不是一个概率分布。 为了解决这个问题,我们需要使用一个拉格朗日乘子来添加一个$p(x)$积分值为1的约束。 -此外,当方差增大的时候,熵也会无限制的增加。 +同样的,当方差增大的时候,熵也会无限制的增加。 因此,寻找哪一个分布有最大熵这个问题是没有意义的。 但是,在给定固定的方差$\sigma^2$的时候,我们可以寻找一个最大熵的分布。 最后,这个问题还是无法确定因为在不改变熵的条件下一个分布可以被随意的改变。 @@ -672,7 +672,7 @@ $f$函数的函数被称为是泛函$J[f]$。 为什么我们无法发现第二个最小值的临界点呢? 原因是没有一个特定的函数能够达到最小的熵值。 当函数把越多的概率密度加到$x = \mu + \sigma$和$x = \mu - \sigma$两个点上和越少的概率密度到其他点上时,他们的熵值会减少,而方差却不变。 -然而任何把所有的权重都放在这两点的函数的积分并不为1。 +然而任何把所有的权重都放在这两点的函数的积分并不为$1$也不是一个有效地概率分布。 所以不存在一个最小熵的概率分布函数,就像不存在一个最小的正实数一样。 然而,我们发现存在一个收敛的概率分布的序列,收敛到权重都在两个点上。 这种情况能够退化为混合Dirac分布。 @@ -696,8 +696,8 @@ $f$函数的函数被称为是泛函$J[f]$。 -在大多数情况下,研究者并不需要解决任何的变分法的问题。 -取而代之的是,均匀场固定点迭代有一种通用的方程。 +在大多数情况下,研究者并不需要解决任何变分法的问题。 +取而代之的是,均匀场固定点迭代更新有一种通用的方程。 如果我们做了均匀场的近似: \begin{align} q(\Vh\mid\Vv) = \prod_i q(h_i \mid\Vv), diff --git a/terminology.tex b/terminology.tex index 5a38783..e445ff4 100644 --- a/terminology.tex +++ b/terminology.tex @@ -289,7 +289,7 @@ \newglossaryentry{multinoulli} { - name=multinoulli分布, + name=Multinoulli分布, description={multinoulli distribution}, sort={multinoulli distribution}, } @@ -2414,14 +2414,14 @@ \newglossaryentry{multinoulli_distribution} { - name=multinoulli分布, + name=Multinoulli分布, description={multinoulli distribution}, sort={multinoulli distribution}, } \newglossaryentry{multinoulli_output_distribution} { - name=multinoulli输出分布, + name=Multinoulli输出分布, description={multinoulli output distribution}, sort={multinoulli output distribution}, } From e5ab72fa98703c2cdca1f8b39b82544d119cf93d Mon Sep 17 00:00:00 2001 From: Sword York Date: Wed, 11 Jan 2017 17:21:03 +0800 Subject: [PATCH 2/7] Proofreading Former-commit-id: 8c8d8be28a25148dc826d7d31ec4678a16b51d61 --- README.md | 81 ++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 53 insertions(+), 28 deletions(-) diff --git a/README.md b/README.md index 0346ed4..1ff0306 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,10 @@ # Deep Learning 中文翻译 -经过3个多月,我们终于完成了翻译草稿。当然这是草稿中的草稿,我们会不断改进,就像梯度下降一样,要迭代好几轮才能找到一个不错的解。 - -目前的版本是直译版,尽可能地保留原书[Deep Learning](http://www.deeplearningbook.org/)中的每一个字。 -如 +公开1个多月,在众多网友的帮助下,草稿中的草稿慢慢变成了草稿。原本打算我们翻译人员先相互校对一遍再让网友校对,但由于时间不足,于是更改计划,打算一起校对。 -> Inventors have long dreamed of creating machines that think. This desire dates back to at least the time of ancient Greece. -> 自古以来,创造者就梦想着创造能思考的机器。这个愿望至少可以追溯到古希腊的时期。 +[直译版](https://github.com/exacity/deeplearningbook-chinese/tree/literal)逐渐向意译版过渡,我们希望尽可能地保留原书[Deep Learning](http://www.deeplearningbook.org/)中的意思并保留原书的语句。 +然而我们水平有限,哈姆雷特成千上万,我们无法消除众多读者的方差。我们需要大家的建议和帮助,一起减小翻译的偏差。 -之后我们可能会翻译成 -> 远在古希腊时期,创造者就梦想着创造能思考的机器。 - -语句流畅度的提高必然伴随精度下降(我们水平有限)。因此我们需要ensemble,需要大家的建议。 对应的翻译者: - 第1、4、7、10、14、20章及第12.4、12.5节由 @swordyork 负责 - 第2、5、8、11、15、18章由 @liber145 负责 @@ -23,33 +16,54 @@ 面向的读者 -------------------- -请直接下载[PDF](https://github.com/exacity/deeplearningbook-chinese/releases/download/v0.3-alpha/dlbook_cn_v0.3-alpha.pdf)阅读。 -这一版读起来肯定费劲,我们建议英文好的或者研究者直接读原版。 -这一版面向的读者是英语不好,急于想入门深度学习的同学。或者希望帮忙校对的各路大哥也可以读读,只要不嫌弃。 +请直接下载[PDF](https://github.com/exacity/deeplearningbook-chinese/releases/download/v0.3-alpha/dlbook_cn_v0.4-alpha.pdf)阅读。 +虽然这一版准确性有所提高,但我们仍然建议英文好的同学或研究者直接阅读[原版](http://www.deeplearningbook.org/)。 -注意 ------------ +校对认领 +-------------------- - - 各种问题或者建议可以提issue,建议使用中文。 - - 由于版权问题,我们不能将图片和bib上传,请见谅。 - - Due to copyright issues, we would not upload figures and the bib file. - - 可用于学习研究目的,不得用于任何商业行为。谢谢! - - 大约每周release一个版本,[PDF](https://github.com/exacity/deeplearningbook-chinese/releases/download/v0.3-alpha/dlbook_cn_v0.3-alpha.pdf)文件每天更新。 - - 大家不要watch啊,邮箱可能会炸。 - - **先不要打印,这一版不值得打印,浪费钱,** 给我们一个月时间,我们给出我们自己满意的版本。打印版仅供学习参考和找茬纠错,正式出版后,希望大家多多支持纸质正版书籍。 +我们划分4个类别的校对人员。每个类别需要很多人。 + - 负责人也就是对应的翻译者。 + - 我们需要有人简单地阅读,最好是刚入门或者想入门的同学。有什么翻得不明白的地方可以直接指出,不用给出意见。或者可以对语句不通顺的地方提出修改意见。每章至少3人。 + - 我们也需要有人进行中英对比,最好能排除少翻错翻的情况。最好是时间充足、能中英对应阅读、细心的同学。每章至少2人。 + - 专业人士则需要纠正译者的错误理解。大家不要谦虚,阅读过相关论文的同学可以作为专业人士。每章至少1人。 + +我们会在纸质版正式出版的时候,在书中致谢,正式感谢各位作出贡献的同学! + +我们采用网上批注的形式。但转成markdown后,图片和某些公式会错误,排版也会出问题。希望大家谅解。 + +| 章节 | 负责人 | 简单阅读 | 中英对比 | 专业人士 | +| ------------ | ------------- | ---------- | ------------ | --------- | +| [第一章 前言](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter1_introduction/) | @swordyork | liu chang | @linzhp | | +| [第二章 线性代数](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter2_linear_algebra/) | @liber145 | | | | +| [第三章 概率与信息论](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter3_probability_and_information_theory/) | @KevinLee1110 | | | | +| [第四章 数值计算](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter4_numerical_computation/) | @swordyork | | | | +| [第五章 机器学习基础](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter5_machine_learning_basics/) | @liber145 | | | | +| [第六章 深度前馈网络](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter6_deep_feedforward_networks/) | @KevinLee1110 | | | | +| [第七章 深度学习的正则化](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter7_regularization/) | @swordyork | | | | +| [第八章 深度模型中的优化](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter8_optimization_for_training_deep_models/) | @liber145 | | | | +| [第九章 卷积神经网络](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter9_convolutional_networks/) | @KevinLee1110 | | @zhiding | | +| [第十章 序列建模:循环和递归网络](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter10_sequence_modeling_rnn/) | @swordyork | liu chang | | | +| [第十一章 实用方法](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter11_practical_methodology/) | @liber145 | | | | +| [第十二章 应用](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter12_applications/) | @swordyork , @futianfan | | | | +| [第十三章 线性因子模型](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter13_linear_factor_models/) | @futianfan | | | | +| [第十四章 自动编码器](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter14_autoencoders/) | @swordyork | | | | +| [第十五章 表示学习](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter15_representation_learning/) | @liber145 | | | | +| [第十六章 深度学习中的结构化概率模型](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter16_structured_probabilistic_modelling/) | @futianfan | | | | +| [第十七章 蒙特卡罗方法](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter17_monte_carlo_methods/) | @futianfan | | | | +| [第十八章 面对配分函数](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter18_confronting_the_partition_function/) | @liber145 | | | | +| [第十九章 近似推断](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter19_approximate_inference/) | @futianfan | | | | +| [第二十章 深度生成模型](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter20_deep_generative_models/) | @swordyork | | | | TODO --------- - 1. ~~翻译图片描述,表格和算法~~,12月28日完成。 - 2. ~~链接补全~~,12月14日已ok,大家可以帮忙检查文献引用是否正确,图片、章节和公式引用是否正确。 - 3. 语句通顺 - 4. ~~第20章正在校对,这章比较难估计还需2周~~,12月14日完成校对 - + 1. 语句通顺 + 2. 排版,见issue [#35](https://github.com/exacity/deeplearningbook-chinese/issues/35) 实在有问题,请发邮件至`echo c3dvcmQueW9ya0BnbWFpbC5jb20K | base64 -d`。 @@ -63,9 +77,20 @@ TODO @tttwwy @tankeco @fairmiracle @GageGao @huangpingchun @MaHongP @acgtyrant @yanhuibin315 @Buttonwood @titicacafz @weijy026a @RuiZhang1993 @zymiboxpay @xingkongliang @oisc @tielei @yuduowu @Qingmu @HC-2016 @xiaomingabc @bengordai @Bojian @JoyFYan @minoriwww @khty2000 @gump88 @zdx3578 @PassStory @imwebson @wlbksy @roachsinai @Elvinczp -@endymecy name:YUE-DaJiong +@endymecy name:YUE-DaJiong @9578577 @linzhp +注意 +----------- + + - 各种问题或者建议可以提issue,建议使用中文。 + - 由于版权问题,我们不能将图片和bib上传,请见谅。 + - Due to copyright issues, we would not upload figures and the bib file. + - 可用于学习研究目的,不得用于任何商业行为。谢谢! + - 大约每周release一个版本,[PDF](https://github.com/exacity/deeplearningbook-chinese/releases/download/v0.3-alpha/dlbook_cn_v0.4-alpha.pdf)文件每天更新。 + - 大家不要watch啊,邮箱可能会炸。 + - **先不要打印,这一版不值得打印,浪费钱** 打印版仅供学习参考和找茬纠错,正式出版后,希望大家多多支持纸质正版书籍。 + 笔记 From 3c44c4b094f1889af3d12d05e97b846134a93409 Mon Sep 17 00:00:00 2001 From: Sword York Date: Wed, 11 Jan 2017 17:25:42 +0800 Subject: [PATCH 3/7] update pdf Former-commit-id: 427981c694954f6cd180a45c69c2a6cf3d95b3f3 --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 1ff0306..a35d391 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ 面向的读者 -------------------- -请直接下载[PDF](https://github.com/exacity/deeplearningbook-chinese/releases/download/v0.3-alpha/dlbook_cn_v0.4-alpha.pdf)阅读。 +请直接下载[PDF](https://github.com/exacity/deeplearningbook-chinese/releases/download/v0.4-alpha/dlbook_cn_v0.4-alpha.pdf)阅读。 虽然这一版准确性有所提高,但我们仍然建议英文好的同学或研究者直接阅读[原版](http://www.deeplearningbook.org/)。 @@ -87,7 +87,7 @@ TODO - 由于版权问题,我们不能将图片和bib上传,请见谅。 - Due to copyright issues, we would not upload figures and the bib file. - 可用于学习研究目的,不得用于任何商业行为。谢谢! - - 大约每周release一个版本,[PDF](https://github.com/exacity/deeplearningbook-chinese/releases/download/v0.3-alpha/dlbook_cn_v0.4-alpha.pdf)文件每天更新。 + - 大约每周release一个版本,[PDF](https://github.com/exacity/deeplearningbook-chinese/releases/download/v0.4-alpha/dlbook_cn_v0.4-alpha.pdf)文件每天更新。 - 大家不要watch啊,邮箱可能会炸。 - **先不要打印,这一版不值得打印,浪费钱** 打印版仅供学习参考和找茬纠错,正式出版后,希望大家多多支持纸质正版书籍。 From 43848d16c810e31c9a8b8aae6b85da0b2d683bfd Mon Sep 17 00:00:00 2001 From: Sword York Date: Wed, 11 Jan 2017 19:01:18 +0800 Subject: [PATCH 4/7] update contributor Former-commit-id: 7f6fabb675da405b7ead1051af1d74b309cd60dd --- README.md | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index a35d391..639f2b8 100644 --- a/README.md +++ b/README.md @@ -32,7 +32,10 @@ 我们会在纸质版正式出版的时候,在书中致谢,正式感谢各位作出贡献的同学! -我们采用网上批注的形式。但转成markdown后,图片和某些公式会错误,排版也会出问题。希望大家谅解。 +我们采用网上批注的形式(如果觉得不方便,可以在pdf中批注,然后发给我们)。Latex转成markdown后,图片和某些公式会错误,排版也会出问题。希望大家谅解。 +具体批注方式: + 1. 点开下表中对应的章节 + 2. 选取网页中的词语或语句,跳出来Annotate,点击就行了。需要注册一个帐号,注意批注得公开我们才能看到。 | 章节 | 负责人 | 简单阅读 | 中英对比 | 专业人士 | | ------------ | ------------- | ---------- | ------------ | --------- | @@ -44,12 +47,12 @@ | [第六章 深度前馈网络](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter6_deep_feedforward_networks/) | @KevinLee1110 | | | | | [第七章 深度学习的正则化](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter7_regularization/) | @swordyork | | | | | [第八章 深度模型中的优化](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter8_optimization_for_training_deep_models/) | @liber145 | | | | -| [第九章 卷积神经网络](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter9_convolutional_networks/) | @KevinLee1110 | | @zhiding | | -| [第十章 序列建模:循环和递归网络](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter10_sequence_modeling_rnn/) | @swordyork | liu chang | | | +| [第九章 卷积神经网络](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter9_convolutional_networks/) | @KevinLee1110 | @zhaoyu611 | @zhiding | | +| [第十章 序列建模:循环和递归网络](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter10_sequence_modeling_rnn/) | @swordyork | liu chang | @zhaoyu611 | | | [第十一章 实用方法](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter11_practical_methodology/) | @liber145 | | | | -| [第十二章 应用](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter12_applications/) | @swordyork , @futianfan | | | | +| [第十二章 应用](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter12_applications/) | @swordyork,@futianfan | | | | | [第十三章 线性因子模型](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter13_linear_factor_models/) | @futianfan | | | | -| [第十四章 自动编码器](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter14_autoencoders/) | @swordyork | | | | +| [第十四章 自动编码器](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter14_autoencoders/) | @swordyork | @zizhan | @Seaball | | | [第十五章 表示学习](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter15_representation_learning/) | @liber145 | | | | | [第十六章 深度学习中的结构化概率模型](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter16_structured_probabilistic_modelling/) | @futianfan | | | | | [第十七章 蒙特卡罗方法](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter17_monte_carlo_methods/) | @futianfan | | | | From 1f1ff1f1b5a84b32150f1b9154a2644dc379c6d5 Mon Sep 17 00:00:00 2001 From: Sword York Date: Wed, 11 Jan 2017 20:08:59 +0800 Subject: [PATCH 5/7] update contributor Former-commit-id: a9b2b422d4e7fafcb20709d417a24d1eb6fc05d5 --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 639f2b8..66add62 100644 --- a/README.md +++ b/README.md @@ -39,10 +39,10 @@ | 章节 | 负责人 | 简单阅读 | 中英对比 | 专业人士 | | ------------ | ------------- | ---------- | ------------ | --------- | -| [第一章 前言](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter1_introduction/) | @swordyork | liu chang | @linzhp | | -| [第二章 线性代数](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter2_linear_algebra/) | @liber145 | | | | -| [第三章 概率与信息论](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter3_probability_and_information_theory/) | @KevinLee1110 | | | | -| [第四章 数值计算](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter4_numerical_computation/) | @swordyork | | | | +| [第一章 前言](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter1_introduction/) | @swordyork | liu chang,@SiriusXDJ | @linzhp | | +| [第二章 线性代数](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter2_linear_algebra/) | @liber145 | @SiriusXDJ | | | +| [第三章 概率与信息论](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter3_probability_and_information_theory/) | @KevinLee1110 | @SiriusXDJ | | | +| [第四章 数值计算](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter4_numerical_computation/) | @swordyork | | @quasi-jing | | | [第五章 机器学习基础](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter5_machine_learning_basics/) | @liber145 | | | | | [第六章 深度前馈网络](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter6_deep_feedforward_networks/) | @KevinLee1110 | | | | | [第七章 深度学习的正则化](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter7_regularization/) | @swordyork | | | | From f366babb547c150ab3a7d01c8fa121a98e053487 Mon Sep 17 00:00:00 2001 From: Sword York Date: Wed, 11 Jan 2017 20:28:09 +0800 Subject: [PATCH 6/7] update contributor Former-commit-id: cd6c845c702d08f5d0c3788620d9b2f93a9574b1 --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 66add62..dcd9325 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ - 负责人也就是对应的翻译者。 - 我们需要有人简单地阅读,最好是刚入门或者想入门的同学。有什么翻得不明白的地方可以直接指出,不用给出意见。或者可以对语句不通顺的地方提出修改意见。每章至少3人。 - 我们也需要有人进行中英对比,最好能排除少翻错翻的情况。最好是时间充足、能中英对应阅读、细心的同学。每章至少2人。 - - 专业人士则需要纠正译者的错误理解。大家不要谦虚,阅读过相关论文的同学可以作为专业人士。每章至少1人。 + - 相关方向的校对者则需要纠正译者的错误理解。大家不要谦虚,阅读过相关论文的同学可以作为相关方向的人士。每章至少1人。 我们会在纸质版正式出版的时候,在书中致谢,正式感谢各位作出贡献的同学! @@ -37,7 +37,7 @@ 1. 点开下表中对应的章节 2. 选取网页中的词语或语句,跳出来Annotate,点击就行了。需要注册一个帐号,注意批注得公开我们才能看到。 -| 章节 | 负责人 | 简单阅读 | 中英对比 | 专业人士 | +| 章节 | 负责人 | 简单阅读 | 中英对比 | 相关方向 | | ------------ | ------------- | ---------- | ------------ | --------- | | [第一章 前言](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter1_introduction/) | @swordyork | liu chang,@SiriusXDJ | @linzhp | | | [第二章 线性代数](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter2_linear_algebra/) | @liber145 | @SiriusXDJ | | | @@ -58,7 +58,7 @@ | [第十七章 蒙特卡罗方法](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter17_monte_carlo_methods/) | @futianfan | | | | | [第十八章 面对配分函数](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter18_confronting_the_partition_function/) | @liber145 | | | | | [第十九章 近似推断](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter19_approximate_inference/) | @futianfan | | | | -| [第二十章 深度生成模型](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter20_deep_generative_models/) | @swordyork | | | | +| [第二十章 深度生成模型](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter20_deep_generative_models/) | @swordyork | | @endymecy | @endymecy | From e1c2cff1507b3811e91b84c05adefa1972c5701e Mon Sep 17 00:00:00 2001 From: Sword York Date: Wed, 11 Jan 2017 23:14:29 +0800 Subject: [PATCH 7/7] update contributor Former-commit-id: 9a8eb26681678b31cc1cc9440712e4462264fb3d --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index dcd9325..dd1fb7c 100644 --- a/README.md +++ b/README.md @@ -42,7 +42,7 @@ | [第一章 前言](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter1_introduction/) | @swordyork | liu chang,@SiriusXDJ | @linzhp | | | [第二章 线性代数](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter2_linear_algebra/) | @liber145 | @SiriusXDJ | | | | [第三章 概率与信息论](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter3_probability_and_information_theory/) | @KevinLee1110 | @SiriusXDJ | | | -| [第四章 数值计算](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter4_numerical_computation/) | @swordyork | | @quasi-jing | | +| [第四章 数值计算](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter4_numerical_computation/) | @swordyork | | @quasi-jing,@hengqujushi | @hengqujushi | | [第五章 机器学习基础](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter5_machine_learning_basics/) | @liber145 | | | | | [第六章 深度前馈网络](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter6_deep_feedforward_networks/) | @KevinLee1110 | | | | | [第七章 深度学习的正则化](https://via.hypothes.is/https://exacity.github.io/deeplearningbook-chinese/Chapter7_regularization/) | @swordyork | | | |