提交 c53f7a9f 编写于 作者: W wizardforcel

2021-01-02 17:16:37

上级 00e0d83b
......@@ -169,7 +169,7 @@ DFN 中存在的权重值负责进行预测。 任何深度网络都具有如此
![](img/fe3df3cc-a2c1-4504-832d-1f8cd30eccf1.png)
我们将不对方程进行数学证明,但是您可以了解算法如何根据*方程*从最后一层计算误差并将误差反向传播到先前的层。 例如`l`<sup>*th*</sup>`j`<sup>*th*</sup> <sup>[HTG15 因此,]神经元被计算为该层*(![](img/9f382ba9-fa14-4219-9c9d-92c7bd88b965.png)*与`k`<sup>* th *</sup> 神经元的激活输出的乘积。 从前一层到`l`层的`j`<sup>**</sup> 神经元。</sup>
我们将不对方程进行数学证明,但是您可以了解算法如何根据*方程*从最后一层计算误差并将误差反向传播到先前的层。 例如`l`层第`j`个神经元的权重因此被计算为该层误差(`δ[j]^l`),与从前一层第`k`个神经元到第`l`层第`i`个神经元的激活输出的乘积。
现在,我们已经看到了如何通过单次向后传递来计算权重更新所需的梯度。 我们已经提到了由于局部最小值和复杂的成本函数,梯度下降无法正确收敛的挑战。 接下来,我们将看到优化器如何通过调整学习率![](img/be97adfc-637d-483e-9b0c-b7c3f7322a42.png)解决该问题。
......
......@@ -50,9 +50,9 @@ RBM 中显然没有输出层,因此学习与前馈网络中的学习有很大
![](img/188cc358-b184-4998-aa60-b5de2c02b12a.png)
从可见层 *v <sup>(0)</sup>* 的初始状态开始,计算 *P(h | v <sup>(0)</sup>)*; 隐藏层 *h <sup>(0)</sup>**P(h | v <sup>(0)</sup>)*采样,然后计算 *P(v | h <sup>(0)</sup>)*。 接下来,基于 *P(v | h <sup>(0)</sup>)**h 采样状态 *v <sup>(1)</sup>* <sup>(1)</sup>* 基于 *P(h | v <sup>(1)</sup>)*,依此类推。 此过程称为吉布斯采样。 也可以将其视为重建可见层。
从可见层`v^(0)`的初始状态开始,计算`P(h | v^(0))`; 隐藏层`h^(0)``P(h | v^(0))`采样,然后计算`P(v | h^(0))`。 接下来,基于`P(v | h^(0))`采样状态`v^(1)``h^(1)`基于`P(h | v^(1))`采样,依此类推。 此过程称为吉布斯采样。 也可以将其视为重建可见层。
* 根据初始状态 *v <sup>(0)</sup>* 和状态 *v <sup>(k)</sup>*`k`Gibbs 步骤之后,其中![](img/46a593b3-1881-4d52-84ad-34c70bb0d13c.png)表示外部乘积:
* 根据初始状态`v^(0)``k`个 Gibbs 步骤之后的状态`v^(k)`计算梯度,其中![](img/46a593b3-1881-4d52-84ad-34c70bb0d13c.png)表示外部乘积:
![](img/d4a21cdd-b149-43ee-aa01-cb823662c83d.png)
......@@ -1194,7 +1194,7 @@ DAE 通常用于神经网络预训练,其中提取的鲁棒表示形式用作
# 压缩自编码器
我们将学习的最后一种自编码器是压缩自编码器。 它们与稀疏兄弟相似,因为它们增加了惩罚项以学习更强大的表示形式。 但是,惩罚项更为复杂,可以如下推导,其中`h[j]` *j <sup>th</sup>* 单位 隐藏层的输出,`W`是编码器的权重,`W[ij]`是连接第`i`个输入单元,以及第`j`个隐藏单元的权重:
我们将学习的最后一种自编码器是压缩自编码器。 它们与稀疏兄弟相似,因为它们增加了惩罚项以学习更强大的表示形式。 但是,惩罚项更为复杂,可以如下推导,其中`h[j]`隐藏层第`j`个单元的输出,`W`是编码器的权重,`W[ij]`是连接第`i`个输入单元,以及第`j`个隐藏单元的权重:
![](img/3819616b-4468-43f3-b392-72d7523ae417.png)
......
......@@ -41,17 +41,17 @@ MobileNets 体系结构的核心是深度可分离卷积的概念。 CNN 的标
# 深度可分离卷积的需求
在 MobileNets 中引入深度可分离卷积的目的是减少所需的计算费用。 因此,让我们将深度卷积可分离卷积与标准卷积的计算成本进行比较。 由于乘法运算而导致主要的计算成本(诸如加法的运算在计算上很简单)。 乘法次数越多,所需的计算就越高。 让我们考虑一个`M`x`M`x`N`图像的情况。 这是 RGB 图像的典型尺寸。 假设我们正在使用`K`x`K`x`N`大小的标准卷积核,并且我们希望尺寸特征图为`G`x`G`x`D`。 为此,我们必须使用`D`个过滤器:
在 MobileNets 中引入深度可分离卷积的目的是减少所需的计算费用。 因此,让我们将深度卷积可分离卷积与标准卷积的计算成本进行比较。 由于乘法运算而导致主要的计算成本(诸如加法的运算在计算上很简单)。 乘法次数越多,所需的计算就越高。 让我们考虑一个`M x M x N`图像的情况。 这是 RGB 图像的典型尺寸。 假设我们正在使用`K x K x N`大小的标准卷积核,并且我们希望尺寸特征图为`G x G x D`。 为此,我们必须使用`D`个过滤器:
* 因此,在一个位置上一个卷积滤波器所需的乘法运算次数为 *K .K。 N = K <sup>2</sup> N*
* 该滤波器会滑动`G`x`G`次,以生成一个滤波器的完整输出。 这使得乘法的次数 *G <sup>2</sup> K <sup>2</sup> N。*
* 我们有`D`这样的内核。 因此,这使得我们需要卷积 *G <sup>2</sup> K <sup>2</sup> ND* 的总成本。
* 因此,在一个位置上一个卷积滤波器所需的乘法运算次数为`K . K . N = K^2 N`
* 该滤波器会滑动`G x G`次,以生成一个滤波器的完整输出。 这使得乘法的次数`G^2 K^2 N`
* 我们有`D`个这样的内核。 因此,这使得我们需要卷积`G^2 K^2 ND`的总成本。
现在,让我们计算使用深度方向可分离卷积生成相同结果所需的乘法运算次数。 我们知道深度方向可分卷积有两个部分-深度方向卷积和点方向卷积。 标准卷积和深度卷积之间的主要区别在于,深度卷积在卷积内核中使用 1 的深度。 让我们考虑一下前面提到的相同场景。 我们有一个`M`x`M`x`N`图片:
* 此处的内核大小为`K`x`K`x1。我们需要`N`个内核,以适应完整的图像,这将为我们提供一个`G`x`G`x`N`的输出尺寸。 因此,此处所需的乘法数为 *G <sup>2</sup> K <sup>2</sup> N*
* 现在,该进行逐点卷积了。 这涉及组合深度方向卷积的输出。 点式卷积的内核是 1 x 1 x`N`。 如果该内核在深度卷积的整个输出中滑动,则一个内核所需的乘法运算次数将为 *G <sup>2</sup> N*
* 如果我们要在最终输出特征图中使用深度`D`,则使用`D`个点状核的最终输出为`G`x`G`x`D`。 因此,乘法数变为 *G <sup>2</sup> ND*
* 此处的内核大小为`K x K x 1`。我们需要`N`个内核,以适应完整的图像,这将为我们提供一个`G x G x N`的输出尺寸。 因此,此处所需的乘法数为`G^2 K^2 N`
* 现在,该进行逐点卷积了。 这涉及组合深度方向卷积的输出。 点式卷积的内核是`1 x 1 x N`。 如果该内核在深度卷积的整个输出中滑动,则一个内核所需的乘法运算次数将为`G^2 N`
* 如果我们要在最终输出特征图中使用深度`D`,则使用`D`个点状核的最终输出为`G`x`G`x`D`。 因此,乘法数变为`G^2 ND`
* 深度方向可分离卷积所需的乘法总数是深度方向卷积和点方向卷积所需的乘法总和,如下所示:
![](img/4686e008-9c3f-4021-bd27-85cd318f15d0.png)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册