diff --git a/Chapter6/deep_feedforward_networks.tex b/Chapter6/deep_feedforward_networks.tex index 70e6d70..5b3ea0d 100644 --- a/Chapter6/deep_feedforward_networks.tex +++ b/Chapter6/deep_feedforward_networks.tex @@ -1260,10 +1260,10 @@ \subsection{递归地使用链式法则来实现BP} 在复杂图中,可能存在指数多的这种计算上的浪费,使得简单的链式法则不可实现。 在其他情况下,计算两次相同的子表达式可能是以较高的运行时间为代价来减少内存开销的有效手段。 -我们首先给出一个版本的反向传播算法,它指明了梯度的直接计算方式(算法|||c|||以及相关的正向计算的算法|||c|||),按照它实际完成的顺序并且递归地使用链式法则。 +我们首先给出一个版本的反向传播算法,它指明了梯度的直接计算方式(算法\ref{alg:bprop}以及相关的正向计算的算法\ref{alg:fprop}),按照它实际完成的顺序并且递归地使用链式法则。 可以直接执行这些计算或者将算法的描述视为用于计算反向传播的计算图的符号表示。 然而,这些公式并没有明确地操作和构造用于计算梯度的符号图。 -这些公式在后面的\ref{sec:general_back_propagation}节和算法|||c|||中给出,其中我们还推广到了包含任意张量的节点。 +这些公式在后面的\ref{sec:general_back_propagation}节和算法\ref{alg:backprop}中给出,其中我们还推广到了包含任意张量的节点。 首先考虑描述如何计算单个标量$u^{(n)}$(例如训练样例上的损失函数)的计算图。 我们想要计算这个标量对$n_i$个输入节点$u^{(1)}$到$u^{(n_i)}$的梯度。 @@ -1273,32 +1273,16 @@ \subsection{递归地使用链式法则来实现BP} % -- 201 -- 我们将假设图的节点已经以一种特殊的方式被排序,使得我们可以一个接一个地计算他们的输出,从$u^{(n_i+1)}$开始,一直上升到$u^{(n)}$。 -如算法|||c|||中所定义的,每个节点$u^{(i)}$与操作$f^{(i)}$相关联,并且通过对该函数求值来得到 +如算法\ref{alg:fprop}中所定义的,每个节点$u^{(i)}$与操作$f^{(i)}$相关联,并且通过对该函数求值来得到 \begin{equation} u^{(i)} = f(\SetA^{(i)}), \end{equation} 其中$\SetA^{(i)}$是$u^{(i)}$所有双亲节点的集合。 - -% -- 202 -- - -该算法详细说明了前向传播的计算,我们可以将其放入图$\CalG$中。 -为了执行反向传播,我们可以构造一个依赖于$\CalG$并添加额外一组节点的计算图。 -这形成了一个子图$\CalB$,它的每个节点都是$\CalG$的节点。 -$\CalB$中的计算和$\CalG$中的计算顺序完全相反,而且$\CalB$中的每个节点计算导数$\frac{\partial u^{(n)}}{\partial u^{(i)}}$与前向图中的节点$u^{(i)}$相关联。 -这通过对标量输出$u^{(n)}$使用链式法则来完成 -\begin{equation} - \frac{\partial u^{(n)}}{\partial u^{(j)}} = \sum_{i:j \in Pa(u^{(i)})} \frac{\partial u^{(n)} }{ \partial u^{(i)} } \frac{ \partial u^{(i)} }{ \partial u^{(j)} } - \label{eq:6.49} -\end{equation} -在算法|||c|||中详细说明。 +% alg 6.1 \begin{algorithm}[htbp] - \caption{A procedure that performs the computations - mapping $n_i$ inputs $u^{(1)}$ to $u^{(n_i)}$ to an output $u^{(n)}$. - This defines a computational graph where each node computes numerical -value $u^{(i)}$ by applying a function $f^{(i)}$ to the set of arguments $\SetA^{(i)}$ that comprises the values -of previous nodes $u^{(j)}$, $j