Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
surelion
apachecn-dl-zh
提交
99ac38f0
A
apachecn-dl-zh
项目概览
surelion
/
apachecn-dl-zh
与 Fork 源项目一致
Fork自
OpenDocCN / apachecn-dl-zh
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
A
apachecn-dl-zh
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
99ac38f0
编写于
8月 14, 2020
作者:
W
wizardforcel
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
2020-08-14 19:14:29
上级
1c4e85b7
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
10 addition
and
10 deletion
+10
-10
docs/tf-1x-dl-cookbook/03.md
docs/tf-1x-dl-cookbook/03.md
+3
-3
docs/tf-1x-dl-cookbook/04.md
docs/tf-1x-dl-cookbook/04.md
+1
-1
docs/tf-1x-dl-cookbook/05.md
docs/tf-1x-dl-cookbook/05.md
+5
-5
docs/tf-1x-dl-cookbook/06.md
docs/tf-1x-dl-cookbook/06.md
+1
-1
未找到文件。
docs/tf-1x-dl-cookbook/03.md
浏览文件 @
99ac38f0
...
...
@@ -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
)
...
...
docs/tf-1x-dl-cookbook/04.md
浏览文件 @
99ac38f0
...
...
@@ -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)。 层。
# 权重和偏见
...
...
docs/tf-1x-dl-cookbook/05.md
浏览文件 @
99ac38f0
...
...
@@ -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 将考虑每个视频的序列信息。 由于要优化的参数数量非常多,这种类型的网络可能很难训练。
...
...
docs/tf-1x-dl-cookbook/06.md
浏览文件 @
99ac38f0
...
...
@@ -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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录