提交 99ac38f0 编写于 作者: W wizardforcel

2020-08-14 19:14:29

上级 1c4e85b7
......@@ -197,7 +197,7 @@ with tf.Session() as sess:
以下是功能的说明:
* **门激活函数**由 McCulloch Pitts Neuron 和初始感知器使用。 它不可微且在`x = 0`处不连续。 因此,不可能使用此激活函数来使用梯度下降或其变体进行训练。
* **门激活函数**由 McCulloch Pitts Neuron 和初始感知器使用。 它不可微且在`x = 0`处不连续。 因此,不可能使用此激活函数来使用梯度下降或其变体进行训练。
* **Sigmoid 激活函数**曾经非常流行。 如果看曲线,它看起来像是阈值激活函数的连续版本。 它具有消失的梯度问题,即,函数的梯度在两个边缘附近变为零。 这使得训练和优化变得困难。
* **双曲正切激活函数**再次和 Sigmoid 类似,并具有非线性特性。 该函数以零为中心,并且与 Sigmoid 曲线相比具有更陡峭的导数。 像 Sigmoid 一样,这也遭受消失的梯度问题的困扰。
* **线性激活函数**顾名思义是线性的。 该函数从两侧都是无界的`[-inf, inf]`。 其线性是其主要问题。 线性函数的总和将是线性函数,线性函数的线性函数也将是线性函数。 因此,使用此功能,无法掌握复杂数据集中存在的非线性。
......@@ -336,11 +336,11 @@ BPN 算法是神经网络中研究最多的算法之一。 它用于将错误从
![](img/fa600cc8-054b-49d3-b774-94863f05edb7.png)
在此, *i* 在输出层的所有神经元(1 到 N)上变化。 *W <sub>ij</sub>* 的权重变化,将 *i* <sup>th</sup> 输出层神经元连接到 *j* <sup>th [ 然后可以使用 *J(W)*的梯度并使用链规则进行区分来确定</sup>隐藏层神经元:
在此, `i`在输出层(1 到 N)的所有神经元上变化。 `W[ij]`的权重变化,将输出层第`i`个神经元连接到隐藏层第`j`个神经元,然后可以使用`J(W)`的梯度并使用链规则进行区分来确定隐藏层神经元:
![](img/af595466-04c4-4e30-a829-b863903fa6a1.png)
此处, *O <sub>j</sub>* 是隐藏层神经元的输出, *j**h* 表示活动。 这很容易,但是现在我们如何找到连接 *n* <sup>的神经元 *k*</sup> 神经元的隐藏层 *j* n + 1 <sup></sup>个隐藏层? 流程是相同的-我们将使用`loss`函数的梯度和链规则进行微分,但是这次我们将针对 *W <sub>jk</sub>* 进行计算:
此处, `O[j]`是隐藏层神经元的输出, `j``h`表示活动。 这很容易,但是现在我们如何找到`W[jk]`,它连接第`n`个隐藏层的神经元`k`和第`n+1`隐藏层的神经元`j`?流程是相同的,我们将使用`loss`函数的梯度和链规则进行微分,但是这次我们将针对`W[jk]`进行计算:
![](img/634458d9-0a04-4b8a-a880-e422aeee7698.png)
......
......@@ -24,7 +24,7 @@ An example of Convolutional Neural Network as seen is https://commons.wikimedia.
当然,我们可以通过重叠子矩阵来编码更多信息。 例如,假设每个子矩阵的大小为 5 x 5,并且这些子矩阵用于 28 x 28 像素的 MNIST 图像。 然后,我们将能够在下一个隐藏层中生成 23 x 23 个局部感受野神经元。 实际上,在触摸图像的边界之前,可以仅将子矩阵滑动 23 个位置。
让我们定义从一层到另一层的特征图。 当然,我们可以有多个可以从每个隐藏层中独立学习的特征图。 例如,我们可以从 28 x 28 个输入神经元开始处理 MNIST 图像,然后在下一个隐藏的区域中调用 *k* 特征图,每个特征图的大小为 23 x 23 神经元(步幅为 5 x 5)。 层。
让我们定义从一层到另一层的特征图。 当然,我们可以有多个可以从每个隐藏层中独立学习的特征图。 例如,我们可以从 28 x 28 个输入神经元开始处理 MNIST 图像,然后在下一个隐藏的区域中调用 *k* 特征图,每个特征图的大小为 23 x 23 神经元(步幅为 5 x 5)。 层。
# 权重和偏见
......
......@@ -256,7 +256,7 @@ img = utils.draw_text(img, str(idx))
vis_images.append(img)
```
5. 让我们在给定功能的情况下显示特定图层的生成图像,并观察网络如何在内部*美国北斗七星*鸟的概念*视为:*
5. 让我们在给定功能的情况下显示特定图层的生成图像,并观察网络如何在内部看到*美国北斗七星*鸟的概念:
![](img/822b54c3-1532-4a32-bd82-6b36790239d3.png)
......@@ -287,7 +287,7 @@ plt.show()
# 这个怎么运作...
密集层的 keras-vis 可视化的关键思想是生成一个输入图像,该图像最大化与鸟类类相对应的最终密集层输出。 因此,实际上该模块的作用是解决问题。 给定具有权重的特定训练密集层,将生成一个新的合成图像,其中*最佳*适合该层本身。
密集层的 keras-vis 可视化的关键思想是生成一个输入图像,该图像最大化与鸟类类相对应的最终密集层输出。 因此,实际上该模块的作用是解决问题。 给定具有权重的特定训练密集层,将生成一个新的合成图像,它最适合该层本身。
每个转换滤波器都使用类似的想法。 在这种情况下,请注意,由于 ConvNet 层在原始像素上运行,因此可以通过简单地可视化其权重来解释它。 后续的 conv 过滤器对先前的 conv 过滤器的输出进行操作,因此直接可视化它们不一定很有解释性。 但是,如果我们独立地考虑每一层,我们可以专注于仅生成可最大化滤波器输出的合成输入图像。
......@@ -826,7 +826,7 @@ WaveNet 是用于生成原始音频波形的深度生成模型。 Google DeepMin
原则上,WaveNet 可以看作是一维卷积层的堆栈(我们已经在第 4 章中看到了图像的 2D 卷积),步幅恒定为 1,没有池化层。 请注意,输入和输出在构造上具有相同的尺寸,因此 ConvNet 非常适合对顺序数据(例如音频)建模。 但是,已经显示出,为了在输出神经元中的接收场达到较大的大小,有必要使用大量的大型过滤器或过分增加网络的深度。 请记住,一层中神经元的接受场是前一层的横截面,神经元从该层提供输入。 因此,纯 ConvNet 在学习如何合成音频方面不是那么有效。
WaveNet 之外的主要直觉是所谓的因果因果卷积(有时称为原子卷积),这仅意味着在应用卷积层的滤波器时会跳过某些输入值。 Atrous 是法语表述*àtrous**混蛋*,意思是带有孔的*。 因此,AtrousConvolution 是带孔的卷积。例如,在一个维度中,尺寸为 3 且扩张为 1 的滤波器 w 将计算出以下总和。*
WaveNet 之外的主要直觉是所谓的因果因果卷积(有时称为原子卷积),这仅意味着在应用卷积层的滤波器时会跳过某些输入值。 Atrous 是法语表述*à trous**混蛋*,意思是带有孔的。 因此,AtrousConvolution 是带孔的卷积。例如,在一个维度中,尺寸为 3 且扩张为 1 的滤波器 w 将计算出以下总和。
简而言之,在 D 扩散卷积中,步幅通常为 1,但是没有任何东西可以阻止您使用其他步幅。 下图给出了一个示例,其中膨胀(孔)尺寸增大了= 0、1、2:
......@@ -959,7 +959,7 @@ WaveNet 是一种 ConvNet,其中卷积层具有各种扩张因子,从而使
![](img/a0988e7d-0ef5-4f89-a2f4-f8c0b2b887fe.png)
An example of Visual Q&A as seen in *Visual Question Answering* paper
在视觉问题回答论文中看到的 Visual Q&A 示例
我们这种情况的唯一区别是,我们将图像层产生的特征与语言层产生的特征连接起来。
......@@ -1237,7 +1237,7 @@ print str(round(y_output[0,label]*100,2)).zfill(5), "% ", labelencoder.inverse_t
对视频进行分类是一个活跃的研究领域,因为处理此类媒体需要大量数据。 内存需求经常达到现代 GPU 的极限,可能需要在多台机器上进行分布式训练。 目前,研究正在探索复杂性不断提高的不同方向,让我们对其进行回顾。
第一种方法包括一次将一个视频帧分类,方法是将每个视频帧视为使用 2D CNN 处理的单独图像。 这种方法只是将视频分类问题简化为图像分类问题。 每个视频帧*发出*分类输出,并且通过考虑每个帧的更频繁选择的类别对视频进行分类。
第一种方法包括一次将一个视频帧分类,方法是将每个视频帧视为使用 2D CNN 处理的单独图像。 这种方法只是将视频分类问题简化为图像分类问题。 每个视频帧*产生*分类输出,并且通过考虑每个帧的更频繁选择的类别对视频进行分类。
第二种方法包括创建一个单一网络,其中 2D CNN 与 RNN 结合在一起。 这个想法是 CNN 将考虑图像分量,而 RNN 将考虑每个视频的序列信息。 由于要优化的参数数量非常多,这种类型的网络可能很难训练。
......
......@@ -13,7 +13,7 @@ In this chapter, we will present a number of recipes covering the following topi
在本章中,我们将讨论**循环神经网络****RNN**)如何在保持顺序顺序重要的领域中用于深度学习。 我们的注意力将主要集中在文本分析和**自然语言处理****NLP**)上,但我们还将看到用于预测比特币价值的序列示例。
通过采用基于时间序列的模型,可以描述许多实时情况。 例如,如果您考虑编写文档,则单词的顺序很重要,而当前单词肯定取决于先前的单词。 如果我们仍然专注于文本编写,很明显单词中的下一个字符取决于前一个字符(例如*快速棕色字符...* 很有可能下一个字母 将会是字母*或*),如下图所示。 关键思想是在给定当前上下文的情况下生成下一个字符的分布,然后从该分布中采样以生成下一个候选字符:
通过采用基于时间序列的模型,可以描述许多实时情况。 例如,如果您考虑编写文档,则单词的顺序很重要,而当前单词肯定取决于先前的单词。 如果我们仍然专注于文本编写,很明显单词中的下一个字符取决于前一个字符(例如`quick brown`字符的下一个字母很有可能将会是字母`fox`),如下图所示。 关键思想是在给定当前上下文的情况下生成下一个字符的分布,然后从该分布中采样以生成下一个候选字符:
![](img/428ab6dd-b328-4f89-a675-24eabccb2988.png)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册