提交 44155989 编写于 作者: W wizardforcel

2020-08-15 18:48:48

上级 99ac38f0
......@@ -503,7 +503,7 @@ TensorFlow 支持自动分化; 我们可以使用 TensorFlow 优化器来计
# 做好准备
在反向传播算法配方中,我们定义了层,权重,损耗,渐变,并手动通过渐变进行更新。 为了更好地理解,手动使用方程式进行操作是一个好主意,但是随着网络中层数的增加,这可能会非常麻烦。
在反向传播算法配方中,我们定义了层,权重,损耗,梯度,并手动通过梯度进行更新。 为了更好地理解,手动使用方程式进行操作是一个好主意,但是随着网络中层数的增加,这可能会非常麻烦。
在本食谱中,我们将使用强大的 TensorFlow 功能(例如 Contrib(层))来定义神经网络层,并使用 TensorFlow 自己的优化器来计算和应用梯度。 我们在第 2 章和“回归”中了解了如何使用不同的 TensorFlow 优化器。 contrib 可用于向神经网络模型添加各种层,例如添加构建块。 我们在这里使用的一种方法是`tf.contrib.layers.fully_connected`,在 TensorFlow 文档中定义如下:
......
......@@ -256,7 +256,7 @@ img = utils.draw_text(img, str(idx))
vis_images.append(img)
```
5. 让我们在给定功能的情况下显示特定图层的生成图像,并观察网络如何在内部看到*美国北斗星*鸟的概念:
5. 让我们在给定功能的情况下显示特定图层的生成图像,并观察网络如何在内部看到*美国北斗星*鸟的概念:
![](img/822b54c3-1532-4a32-bd82-6b36790239d3.png)
......
......@@ -27,9 +27,11 @@ An example of tree prediction with "The quick brown fox" sentence
但是,基于序列的模型可以在大量其他域中使用。 在音乐中,乐曲中的下一个音符肯定取决于前一个音符,而在视频中,电影中的下一个帧必定与前一帧有关。 此外,在某些情况下,当前的视频帧,单词,字符或音符不仅取决于前一个,而且还取决于后一个。
可以使用 RNN 描述基于时间序列的模型,其中对于给定输入 *X <sub>i</sub>* ,时间为 *i* ,产生输出 *Y [HTG7 在* 中,将时间 *[0,i-1]* 时以前状态的存储器反馈到网络。 反馈先前状态的想法由循环循环描述,如下图所示:
可以使用 RNN 描述基于时间序列的模型,其中对于给定输入`X[i]`,时间为`i`,产生输出`Y[i]`,将时间`[0,i-1]`的以前状态的记忆反馈到网络。 反馈先前状态的想法由循环循环描述,如下图所示:
![](img/b7455709-b488-4b9c-818a-da98d1afc06d.png); ![](img/fbffb7f6-46df-4186-964b-d01cac81ae8b.png)
![](img/b7455709-b488-4b9c-818a-da98d1afc06d.png)
![](img/fbffb7f6-46df-4186-964b-d01cac81ae8b.png)
An example of feeding back
......@@ -45,15 +47,15 @@ An example of unfolding a recurrent cell
An example of simple tanh cell
# 消失和爆炸梯度
# 消失和梯度爆炸
训练 RNN 十分困难,因为存在两个稳定性问题。 由于反馈回路的缘故,梯度可能会迅速发散到无穷大,或者它可能会迅速发散到 0。在两种情况下,如下图所示,网络将停止学习任何有用的东西。 可以使用基于**梯度修剪**的相对简单的解决方案来解决爆炸梯度的问题。 梯度消失的问题更难解决,它涉及更复杂的 RNN 基本单元的定义,例如**长短期记忆****LSTM****门控) 循环单元****GRU**)。 让我们首先讨论爆炸渐变和渐变裁剪:
训练 RNN 十分困难,因为存在两个稳定性问题。 由于反馈回路的缘故,梯度可能会迅速发散到无穷大,或者它可能会迅速发散到 0。在两种情况下,如下图所示,网络将停止学习任何有用的东西。 可以使用基于**梯度修剪**的相对简单的解决方案来解决梯度爆炸的问题。 梯度消失的问题更难解决,它涉及更复杂的 RNN 基本单元的定义,例如**长短期记忆****LSTM**)或**门控循环单元****GRU**)。 让我们首先讨论梯度爆炸和梯度裁剪:
![](img/1e10fcdf-8db6-4e52-8f7f-d1398c54c634.png)
Examples of gradient
**渐变裁剪**包括对渐变施加最大值,以使其无法无限增长。 下图所示的简单解决方案为**爆炸梯度问题提供了简单的解决方案**
**梯度裁剪**包括对梯度施加最大值,以使其无法无限增长。 下图所示的简单解决方案为**梯度爆炸问题提供了简单的解决方案**
![](img/1ddb8b2f-e13b-479f-9568-488a01b4c539.png)
......
......@@ -18,7 +18,7 @@
我强烈建议读者看一看[大型分布式深度网络](https://research.google.com/archive/large_deep_networks_nips2012.html)(Jeffrey Dean,Greg S.Corrado,Rajat Monga,Kai Chen,Matthieu Devin,Quoc V.Le,Mark Z.Mao,Marc'Aurelio Ranzato,Andrew Senior ,Paul Tucker,Ke Yang 和 Andrew Y. Ng。 NIPS,2012 年)
本文的一项关键结果是证明可以运行分布式**随机梯度下降****SDG**),其中多个节点在数据碎片上并行工作,并且独立且异步地更新 通过将更新发送到参数服务器来实现渐变。 引用论文摘要:
本文的一项关键结果是证明可以运行分布式**随机梯度下降****SDG**),其中多个节点在数据碎片上并行工作,并且独立且异步地更新 通过将更新发送到参数服务器来实现梯度。 引用论文摘要:
*Our experiments reveal several surprising results about large-scale nonconvex optimization. Firstly, asynchronous SGD, rarely applied to nonconvex problems, works very well for training deep networks, particularly when combined with Adagrad adaptive learning rates.*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册