Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
liber145 committed Nov 1, 2017
2 parents 1ec53d7 + 6c05104 commit aafc62b
Show file tree
Hide file tree
Showing 7 changed files with 26 additions and 27 deletions.
12 changes: 6 additions & 6 deletions Chapter10/sequence_modeling_rnn.tex
Original file line number Diff line number Diff line change
Expand Up @@ -129,14 +129,14 @@ \section{\glsentrytext{unfolding}\glsentrytext{computational_graph}}

% -- 366 --

\eqnref{eq:105h}可以用两种不同的方式绘制
一种方法是为可能在模型的物理实现中存在的部分赋予一个节点,如生物神经网络
在这个观点下,网络定义了实时操作的回路,如\figref{fig:chap10_rnn_circuit_unfolded}的左侧,其当前状态可以影响其未来的状态。
在本章中,我们使用回路图的黑色方块表明在时刻$t$的状态到时刻$t+1$的状态单个时刻延迟中的相互作用
另一个绘制~\glssymbol{RNN}~的方法是展开的\gls{computational_graph},其中每一个组件由许多不同的变量表示,每个\gls{time_step}一个变量,表示在该时间点组件的状态
\eqnref{eq:105h}可以用两种不同的方式来绘制
一种绘制~\glssymbol{RNN}~的方式是用循环图,对于可能存在于模型的物理实现中的每个组件,都在图中包含其对应的节点。这种方式的一个示例是生物神经网络
在这种视角下,网络定义了实时操作的回路,如\figref{fig:chap10_rnn_circuit_unfolded}的左侧,其当前状态可以影响其未来的状态。
在本章中,我们使用回路图中的黑色方块表示单个\gls{time_step}延时所发生的交互,即从时刻$t$的状态到时刻$t+1$的状态的变化
另一种绘制~\glssymbol{RNN}~的方式是用展开的\gls{computational_graph},其中每一个组件由许多不同的变量表示,每个\gls{time_step}一个变量,用来表示组件在该时间点的状态
每个\gls{time_step}的每个变量绘制为\gls{computational_graph}的一个独立节点,如\figref{fig:chap10_rnn_circuit_unfolded}的右侧。
我们所说的\gls{unfolding}是将左图中的回路映射为右图中包含重复组件的\gls{computational_graph}的操作。
目前\gls{unfolded_graph}的大小取决于序列长度。
这样\gls{unfolded_graph}的大小取决于序列长度。

我们可以用一个函数$g^{(t)}$代表经$t$步展开后的循环:
\begin{align}
Expand Down
6 changes: 3 additions & 3 deletions docs/_posts/2016-12-02-Chapter2_linear_algebra.md
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ share: false
A_{2,1} & A_{2,2} \\
\end{bmatrix}.
\end{equation}
有时我们需要矩阵值表达式的索引,而不是单个元素
有时我们需要索引矩阵值表达式,而这些表达式不是单个字母
在这种情况下,我们在表达式后面接下标,但不必将矩阵的变量名称小写化。
比如,$f(\MA)_{i,j}$表示函数$f$作用在$\MA$上输出的矩阵的第$i$行第$j$列元素。

Expand Down Expand Up @@ -410,7 +410,7 @@ $L^1$范数可以简化如下:
有时候我们会统计向量中非零元素的个数来衡量向量的大小。
有些作者将这种函数称为"$L^0$范数",但是这个术语在数学意义上是不对的。
向量的非零元素的数目不是范数,因为对向量缩放$\alpha$倍不会改变该向量非零元素的数目。
因此,$L^1$范数经常作为表示非零元素数目的替代函数。
$L^1$范数经常作为表示非零元素数目的替代函数。



Expand Down Expand Up @@ -548,7 +548,7 @@ $L^1$范数可以简化如下:


我们已经看到了\emph{构建}具有特定特征值和特征向量的矩阵,能够使我们在目标方向上延伸空间。
然而,我们也常常希望将矩阵分解成特征值和特征向量
我们还常常希望将矩阵分解成特征值和特征向量
这样可以帮助我们分析矩阵的特定性质,就像质因数分解有助于我们理解整数。


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -338,7 +338,7 @@ share: false
\end{equation}
到代价中。
当$\frac{1}{2} \epsilon^2 \Vg^\top\MH\Vg$超过$\epsilon\Vg^\top\Vg$时,梯度的病态会成为问题。
判断病态是否不利于神经网络训练任务,我们可以监测平方梯度范数$\Vg^\top\Vg$和$\Vg^\top \MH\Vg$。
我们可以通过监测平方梯度范数$\Vg^\top\Vg$和$\Vg^\top \MH\Vg$,来判断病态是否不利于神经网络训练任务
在很多情况中,梯度范数不会在训练过程中显著缩小,但是$\Vg^\top\MH\Vg$的增长会超过一个数量级。
其结果是尽管梯度很强,学习会变得非常缓慢,因为学习率必须收缩以弥补更强的曲率。
如\fig?所示,成功训练的神经网络中,梯度显著增加。
Expand Down
2 changes: 1 addition & 1 deletion docs/_posts/2016-12-09-Chapter9_convolutional_networks.md
Original file line number Diff line number Diff line change
Expand Up @@ -465,7 +465,7 @@ S(i, j) = (I*K)(i, j) = \sum_m \sum_n I(i+m, j+n) K(m, n).
软件实现通常使用批处理模式,所以实际上会使用4维的张量,第四维索引用于标明批处理中不同的实例,但我们为简明起见这里忽略批处理索引。

因为卷积网络通常使用多通道的卷积,所以即使使用了核翻转, 也不一定保证网络的线性运算是可交换的。
只有当其中的每个运算的输出和输入具有相同的通道数时,这些多通道的运算才是可交换的。
只有当其中的每个运算的输出和输入具有相同的通道数时,这些多通道的运算才是可交换的。

假定我们有一个4维的核张量$\TSK$,它的每一个元素是$\TEK_{i,j,k,l}$,表示输出中处于通道$i$的一个单元和输入中处于通道$j$中的一个单元的连接强度,并且在输出单元和输入单元之间有$k$行$l$列的偏置。
假定我们的输入由观测数据$\TSV$组成,它的每一个元素是$\TEV_{i,j,k}$,表示处在通道$i$中第$j$行第$k$列的值。
Expand Down
12 changes: 6 additions & 6 deletions docs/_posts/2016-12-10-Chapter10_sequence_modeling_rnn.md
Original file line number Diff line number Diff line change
Expand Up @@ -125,14 +125,14 @@ $\Vs$在时刻$t$的定义需要参考时刻$t-1$时同样的定义,因此\eqn

<!-- % -- 366 -- -->

\eqn?可以用两种不同的方式绘制
一种方法是为可能在模型的物理实现中存在的部分赋予一个节点,如生物神经网络
在这个观点下,网络定义了实时操作的回路,如\fig?的左侧,其当前状态可以影响其未来的状态。
在本章中,我们使用回路图的黑色方块表明在时刻$t$的状态到时刻$t+1$的状态单个时刻延迟中的相互作用
另一个绘制~RNN~的方法是展开的计算图,其中每一个组件由许多不同的变量表示,每个时间步一个变量,表示在该时间点组件的状态
\eqn?可以用两种不同的方式来绘制
一种绘制~RNN~的方式是用循环图,对于可能存在于模型的物理实现中的每个组件,都在图中包含其对应的节点。这种方式的一个示例是生物神经网络
在这种视角下,网络定义了实时操作的回路,如\fig?的左侧,其当前状态可以影响其未来的状态。
在本章中,我们使用回路图中的黑色方块表示单个时间步延时所发生的交互,即从时刻$t$的状态到时刻$t+1$的状态的变化
另一种绘制~RNN~的方式是用展开的计算图,其中每一个组件由许多不同的变量表示,每个时间步一个变量,用来表示组件在该时间点的状态
每个时间步的每个变量绘制为计算图的一个独立节点,如\fig?的右侧。
我们所说的展开是将左图中的回路映射为右图中包含重复组件的计算图的操作。
目前,展开图的大小取决于序列长度。
这样,展开图的大小取决于序列长度。

我们可以用一个函数$g^{(t)}$代表经$t$步展开后的循环:
\begin{align}
Expand Down
12 changes: 6 additions & 6 deletions docs/_posts/2016-12-15-Chapter15_representation_learning.md
Original file line number Diff line number Diff line change
Expand Up @@ -680,7 +680,7 @@ $n$维二元向量是一个分布式表示的示例,有$2^n$种配置,每一
\fi
\caption{基于分布式表示的学习算法如何将输入空间分割成多个区域的图示。
这个例子具有二元变量$h_1$,$h_2$,$h_3$。
每个特征通过为学成的线性变换设定输出阀值而定义
每个特征通过为学成的线性变换设定输出阈值而定义
每个特征将$\SetR^2$分成两个半平面。
令$h_i^+$表示输入点$h_i=1$的集合;$h_i^-$表示输入点$h_i=0$的集合。
在这个图示中,每条线代表着一个$h_i$的决策边界,对应的箭头指向边界的$h_i^+$区域。
Expand All @@ -691,7 +691,7 @@ $n$维二元向量是一个分布式表示的示例,有$2^n$种配置,每一
具有$n$个特征的分布式表示给$O(n^d)$个不同区域分配唯一的编码,而具有$n$个样本的最近邻算法只能给$n$个不同区域分配唯一的编码。
因此,分布式表示能够比非分布式表示多分配指数级的区域。
注意并非所有的$\Vh$值都是可取的(这个例子中没有$\Vh=\mathbf{0}$),在分布式表示上的线性分类器不能向每个相邻区域分配不同的类别标识;
甚至深度线性阀值网络的~VC~维只有$O(w\log w)$(其中$w$是权重数目){cite?}。
甚至深度线性阈值网络的~VC~维只有$O(w\log w)$(其中$w$是权重数目){cite?}。
强表示层和弱分类器层的组合是一个强正则化项。
试图学习"人"和"非人"概念的分类器不需要给表示为"戴眼镜的女人"和"没有戴眼镜的男人"的输入分配不同的类别。
容量限制鼓励每个分类器关注少数几个$h_i$,鼓励$\Vh$以线性可分的方式学习表示这些类别。
Expand Down Expand Up @@ -781,7 +781,7 @@ $n$维二元向量是一个分布式表示的示例,有$2^n$种配置,每一

<!-- % -- 540 mid -->

让我们检查分布式表示学习算法的一个特殊情况,它通过对输入的线性函数进行阀值处理来提取二元特征
让我们检查分布式表示学习算法的一个特殊情况,它通过对输入的线性函数进行阈值处理来提取二元特征
该表示中的每个二元特征将$\SetR^d$分成一对半空间,如\fig?所示。
$n$个相应半空间的指数级数量的交集确定了该分布式表示学习器能够区分多少区域。
空间$\SetR^d$中的$n$个超平面的排列组合能够生成多少区间?
Expand All @@ -793,16 +793,16 @@ $n$个相应半空间的指数级数量的交集确定了该分布式表示学

<!-- % -- 541 head -->

这提供了分布式表示泛化能力的一种几何解释:$O(nd)$个参数(空间$\SetR^d$中的$n$个线性阀值特征)能够明确表示输入空间中$O(n^d)$个不同区域。
这提供了分布式表示泛化能力的一种几何解释:$O(nd)$个参数(空间$\SetR^d$中的$n$个线性阈值特征)能够明确表示输入空间中$O(n^d)$个不同区域。
如果我们没有对数据做任何假设,并且每个区域使用唯一的符号来表示,每个符号使用单独的参数去识别$\SetR^d$中的对应区域,那么指定$O(n^d)$个区域需要$O(n^d)$个样本。
更一般地,分布式表示的优势还可以体现在我们对分布式表示中的每个特征使用非线性的、可能连续的特征提取器,而不是线性阀值单元的情况
更一般地,分布式表示的优势还可以体现在我们对分布式表示中的每个特征使用非线性的、可能连续的特征提取器,而不是线性阈值单元的情况
在这种情况下,如果具有$k$个参数的参数变换可以学习输入空间中的$r$个区域($k\ll r$),并且如果学习这样的表示有助于关注的任务,那么这种方式会比非分布式情景(我们需要$O(r)$个样本来获得相同的特征,将输入空间相关联地划分成$r$个区域。)泛化得更好。
使用较少的参数来表示模型意味着我们只需拟合较少的参数,因此只需要更少的训练样本去获得良好的泛化。

<!-- % -- 541 mid -->

另一个解释基于分布式表示的模型泛化能力更好的说法是,尽管能够明确地编码这么多不同的区域,但它们的容量仍然是很有限的。
例如,线性阀值单元神经网络的~VC~维仅为$O(w\log w)$, 其中$w$是权重的数目~{cite?}。
例如,线性阈值单元神经网络的~VC~维仅为$O(w\log w)$, 其中$w$是权重的数目~{cite?}。
这种限制出现的原因是,虽然我们可以为表示空间分配非常多的唯一码,但是我们不能完全使用所有的码空间,也不能使用线性分类器学习出从表示空间$\Vh$到输出$\Vy$的任意函数映射。
因此使用与线性分类器相结合的分布式表示传达了一种先验信念,待识别的类在$\Vh$代表的潜在因果因子的函数下是线性可分的。
我们通常想要学习类别,例如所有绿色对象的图像集合,或是所有汽车图像集合,但不会是需要非线性~XOR~逻辑的类别。
Expand Down
7 changes: 3 additions & 4 deletions docs/_posts/2016-12-20-Chapter20_deep_generative_models.md
Original file line number Diff line number Diff line change
Expand Up @@ -393,8 +393,7 @@ DBM~中,在给定其他层的情况下,层内的所有隐藏单元都是条


DBM~一个不理想的特性是从中采样是相对困难的。
DBN~只需要在其顶部的一对层中使用~MCMC~采样。
其他层仅在采样过程末尾涉及,并且只需在一个高效的原始采样过程。
在一次高效的原始采样过程中,DBN~只需要在其顶部的一对层中使用~MCMC~采样,而其他层仅在采样过程末尾参与。
要从~DBM~生成样本,必须在所有层中使用~MCMC,并且模型的每一层都参与每个马尔可夫链转移。


Expand Down Expand Up @@ -460,7 +459,7 @@ DBN~只需要在其顶部的一对层中使用~MCMC~采样。
他们以抽象的方式描述如何优化任意模型的变分下界(只需对$Q$求期望)。

应用这些一般的方程,我们得到以下更新规则(再次忽略偏置项):
h_j^{(1)} &= \sigma \Big( \sum_i v_i \MW_{i,j}^{(1)}
\hat h_j^{(1)} &= \sigma \Big( \sum_i v_i \MW_{i,j}^{(1)}
+ \sum_{k^{\prime}} \MW_{j,k^{\prime}}^{(2)} \hat h_{k^{\prime}}^{(2)} \Big), ~\forall j ,\\
\hat h_{k}^{(2)} &= \sigma \Big( \sum_{j^{\prime}} \MW_{j^{\prime},k}^{(2)}
\hat h_{j^{\prime}}^{(1)} \Big), ~\forall k.
Expand Down Expand Up @@ -1516,7 +1515,7 @@ GAN~训练过程中一个不寻常的能力是它可以拟合向训练点分配
生成器网络学习跟踪其点在某种程度上类似于训练点的流形,而不是最大化特定点的对数概率。
有点矛盾的是,这意味着模型可以将负无穷大的对数似然分配给测试集,同时仍然表示人类观察者判断为能捕获生成任务本质的流形。
这不是明显的优点或缺点,并且只要向生成器网络最后一层所有生成的值添加高斯噪声,就可以保证生成器网络向所有点分配非零概率。
以这种方式添加高斯噪声的生成器网络从相同分布的采样,即使用生成器网络参数化条件高斯分布的均值所获得的分布
以这种方式添加高斯噪声的生成器网络,从中采样的分布,和使用生成器网络参数化条件高斯分布的均值所获得的分布是相同的

<!-- % -- 692 -- -->

Expand Down

0 comments on commit aafc62b

Please sign in to comment.