提交 14a1358f 编写于 作者: W wizardforcel

2020-12-25 14:18:50

上级 134d915b
......@@ -137,7 +137,7 @@ GAN 已成功用于数据具有清晰拓扑结构的领域。 它的原始实现
![Z-score](img/image02_05.jpg)
此处,![Z-score](img/image02_06.jpg)是![Z-score](img/image02_12.jpg)观察值,![Z-score](img/image02_08.jpg)是平均值,而![Z-score](img/image02_09.jpg)是序列的标准偏差。
此处,`x[i]`是第`i`个观察值,`μ`是平均值,而`σ`是序列的标准偏差。
### 注意
......@@ -149,7 +149,7 @@ GAN 已成功用于数据具有清晰拓扑结构的领域。 它的原始实现
![Point-Relative Normalization](img/image02_10.jpg)
在此,![Point-Relative Normalization](img/image02_11.jpg)是![Point-Relative Normalization](img/image02_07.jpg)观测值,![Point-Relative Normalization](img/image02_13.jpg)是该系列的第一个观测值。
在此,`o[i]`是第`i`个观测值,`o[0]`是该系列的第一个观测值。
### 注意
......@@ -161,7 +161,7 @@ GAN 已成功用于数据具有清晰拓扑结构的领域。 它的原始实现
![Maximum and Minimum Normalization](img/image02_14.jpg)
在这里,![Maximum and Minimum Normalization](img/image02_11.jpg)是![Maximum and Minimum Normalization](img/image02_12.jpg)观测值,`O`表示具有所有`0`值的向量,并且函数` min(O)``max(O)`分别表示该序列的最小值和最大值。
在这里,`o[i]`是第`i`观测值,`O`表示具有所有`0`值的向量,并且函数` min(O)``max(O)`分别表示该序列的最小值和最大值。
在“活动 3”,“探索比特币数据集并为模型准备数据”中,我们将准备可用的比特币数据以用于我们的 LSTM 模式。 其中包括选择感兴趣的变量,选择相关时段并应用先前的点相对归一化技术。
......
......@@ -636,7 +636,7 @@ ReLU 具有非线性属性。 它们的定义是:
L2 正则化(或权重衰减)是用于处理过拟合模型的常见技术。 在某些模型中,某些参数的变化幅度很大。 L2 正则化惩罚了这些参数,从而降低了这些参数对网络的影响。
L2 正则化使用![L2 Regularization](img/image03_28.jpg)参数来确定对模型神经元的惩罚程度。 通常将其设置为一个非常低的值(即`0.0001`); 否则,就有可能完全消除给定神经元的输入。
L2 正则化使用`λ`参数来确定对模型神经元的惩罚程度。 通常将其设置为一个非常低的值(即`0.0001`); 否则,就有可能完全消除给定神经元的输入。
###### 丢弃
......
......@@ -52,30 +52,30 @@
因此,该算法的主要思想是用 RNN 代替梯度下降。 但是问题是 RNN 如何学习? 我们如何优化 RNN? 为了优化 RNN,我们使用梯度下降。 **因此,简而言之,我们正在学习通过 RNN 执行梯度下降,并且 RNN 通过梯度下降进行了优化,这就是所谓的通过梯度下降学习梯度下降的名称。**
我们称我们的 RNN 为优化器,而将我们的基础网络称为优化器。 假设我们有一个由某些参数![](img/d977197b-bc6b-4c10-89f4-54c623c725a1.png)参数化的模型![](img/0c517098-647d-4ca0-ac3d-7fa4d8a24960.png)。 我们需要找到最佳参数![](img/d977197b-bc6b-4c10-89f4-54c623c725a1.png),以使损失最小化。 通常,我们通过梯度下降找到最佳参数,但是现在我们使用 RNN 来找到最佳参数。 因此,RNN(优化器)找到最佳参数,并将其发送到最优化(基础网络); 优化器使用此参数,计算损耗,然后将损耗发送到 RNN。 基于损失,RNN 通过梯度下降进行优化,并更新模型参数![](img/d977197b-bc6b-4c10-89f4-54c623c725a1.png)
我们称我们的 RNN 为优化器,而将我们的基础网络称为优化器。 假设我们有一个由某些参数`θ`参数化的模型`f`。 我们需要找到最佳参数`θ`,以使损失最小化。 通常,我们通过梯度下降找到最佳参数,但是现在我们使用 RNN 来找到最佳参数。 因此,RNN(优化器)找到最佳参数,并将其发送到最优化(基础网络); 优化器使用此参数,计算损耗,然后将损耗发送到 RNN。 基于损失,RNN 通过梯度下降进行优化,并更新模型参数`θ`
令人困惑? 查看下图:通过优化器(RNN)优化了我们的 Optimize(基础网络)。 优化器将更新后的参数(即权重)发送给优化器,优化器使用这些权重,计算损失,然后将损失发送给优化器。 基于损失,优化器通过梯度下降改进自身:
![](img/9f81568a-aa91-42da-9445-355a7279ccbe.png)
假设我们的基础网络(优化器)由![](img/885a1299-c4f7-4f28-8b13-22b3d7961f2e.png)参数化,而我们的 RNN(优化器)由![](img/a4d86187-9c2d-4292-bda6-f3945a84fb8a.png)参数化。 优化器的损失函数是什么? 我们知道优化器的作用(RNN)是减少优化器(基础网络)的损失。 因此,优化器的损失是优化器的平均损失,可以表示为:
假设我们的基础网络(优化器)由`θ`参数化,而我们的 RNN(优化器)由`φ`参数化。 优化器的损失函数是什么? 我们知道优化器的作用(RNN)是减少优化器(基础网络)的损失。 因此,优化器的损失是优化器的平均损失,可以表示为:
![](img/25b67e65-f3f2-410c-b94a-b636df9c41d3.png)
我们如何最小化这种损失? 通过找到正确的![](img/80a2e944-a5c1-41ff-9496-8f480a4c56fd.png),我们可以通过梯度下降使这种损失最小化。 好的,RNN 作为输入是什么,它将返回什么输出? 我们的优化器,即我们的 RNN,将优化器![](img/4f8608fc-f668-47f7-9e97-2117abf2ea0b.png)的梯度及其先前状态![](img/ac5f4c12-536b-4664-933d-3722833fe8a3.png)作为输入,并返回输出,即更新![](img/8bd6976c-1694-407c-be6f-fb374967fd10.png),该更新可将优化器的损失降到最低。 让我们用函数![](img/7ed63f5f-fabf-417c-b75d-966cfe502087.png)表示我们的 RNN:
我们如何最小化这种损失? 通过找到正确的`φ`,我们可以通过梯度下降使这种损失最小化。 好的,RNN 作为输入是什么,它将返回什么输出? 我们的优化器,即我们的 RNN,将优化器`ᐁ[t]`的梯度及其先前状态`h[t]`作为输入,并返回输出,即更新`g[t]`,该更新可将优化器的损失降到最低。 让我们用函数`m`表示我们的 RNN:
![](img/7a5aea0c-8589-449e-aff9-3de1ef89f109.png)
在前面的公式中,适用以下条件:
* ![](img/4f8608fc-f668-47f7-9e97-2117abf2ea0b.png)是我们模型(优化程序)![](img/378cfd1c-d7d4-4069-b25b-2e7503226f6e.png)的梯度,即![](img/cd134edf-738b-4ee1-b907-7a1eaff6a4cf.png)
* ![](img/ac5f4c12-536b-4664-933d-3722833fe8a3.png)是 RNN 的隐藏状态
* ![](img/284d068b-ee06-4e80-814a-8bdd6b082ffe.png)是 RNN 的参数
* 输出![](img/8bd6976c-1694-407c-be6f-fb374967fd10.png)和![](img/355e3caa-20f9-4743-b7a4-e7577a7c3392.png)分别是 RNN 的更新和下一个状态
* `ᐁ[t]`是我们模型(优化程序)`f`的梯度,即`ᐁ[t] = ᐁ[t](f(θ[t]))`
* `h[t]`是 RNN 的隐藏状态
* `φ`是 RNN 的参数
* 输出`g[t]``h[t + 1]`分别是 RNN 的更新和下一个状态
因此,我们使用![](img/87eef6f8-65e0-47ea-ae13-ab5c09919322.png)更新了模型参数值。
因此,我们使用`θ[t + 1] = θ[t] + g[t]`更新了模型参数值。
如下图所示,我们的优化器![](img/03b25ae6-ed75-49ff-9ed3-b03f6c6111ce.png)每次`t`处于隐藏状态![](img/9c3e7306-ddd7-46e6-884e-fc2f610ae3d2.png),并且梯度![](img/451f86c5-2616-486f-95ee-bd434c6db4b3.png)作为![](img/55357743-14b7-478c-962b-ff8d1cec3e78.png)作为输入,计算![](img/c870b0b2-dbf7-46f8-b8f1-22a19f18c7a5.png)并将其发送到我们的优化器,然后在其中添加![](img/8cd0cc05-b03f-444a-8fff-faf4386945d7.png),并在接下来的时间步骤中成为![](img/7fe07d7c-0ce0-4e6a-b591-38154d096708.png)进行更新:
如下图所示,我们的优化器`m`,将隐藏状态`h[t]``θ[t]`的梯度`ᐁ[t]`作为输入,计算`g[t]`并将其发送到我们的优化器,然后在其中添加`θ[t]`,并在接下来的时间步骤中成为`θ[t + 1]`进行更新:
![](img/b450d276-d3ef-408a-9a7d-aa3177d40e9c.png)
......@@ -83,16 +83,16 @@
# 优化作为快速学习的模型
我们知道,在几次射击学习中,我们从较少的数据点中学习,但是如何在几次射击学习环境中应用梯度下降呢? 在几次学习设置中,由于数据点很少,梯度下降突然失败。 梯度下降优化需要更多的数据点才能达到收敛并最大程度地减少损失。 因此,我们需要在少数情况下获得更好的优化技术。 假设我们有一个由某些参数![](img/364e3568-1fbb-41f8-8d8c-999265c2f89e.png)参数化的![](img/cea75dd3-1019-4c21-825e-a86df721232e.png)模型。 我们使用一些随机值初始化此参数![](img/01bd32d9-bc52-4499-960a-27c4002365cf.png),并尝试使用梯度下降法找到最佳值。 让我们回想一下梯度下降的更新方程:
我们知道,在几次射击学习中,我们从较少的数据点中学习,但是如何在几次射击学习环境中应用梯度下降呢? 在几次学习设置中,由于数据点很少,梯度下降突然失败。 梯度下降优化需要更多的数据点才能达到收敛并最大程度地减少损失。 因此,我们需要在少数情况下获得更好的优化技术。 假设我们有一个由某些参数`θ`参数化的`f`模型。 我们使用一些随机值初始化此参数`θ`,并尝试使用梯度下降法找到最佳值。 让我们回想一下梯度下降的更新方程:
![](img/deada297-d555-46fb-b0c7-97c407cb09cb.png)
在前面的公式中,适用以下条件:
* ![](img/bcf5dedb-c2a9-4a46-bd8e-f53ec19a38b1.png)是更新的参数
* ![](img/c3188ea2-a560-4a2f-b1d6-2e284f34f371.png)是上一个时间步的参数值
* ![](img/8f90888c-ac0a-43e6-9142-e8c6d23f1f3e.png)是学习率
* ![](img/765c42de-ae58-49ad-a369-41bbc31dd759.png)是损失函数相对于![](img/8bb4ef33-679c-4959-8c0c-fd81684142d2.png)的梯度
* `θ[t]`是更新的参数
* `θ[t - 1]`是上一个时间步的参数值
* `α[t]`是学习率
* `ᐁ[θ[t - 1]]L[t]`是损失函数相对于`θ[t - 1]`的梯度
梯度下降的更新方程看起来不熟悉吗? 是的,您猜对了:它类似于 LSTM 的单元状态更新方程式,可以这样写:
......@@ -112,7 +112,7 @@
![](img/884773a0-e60d-4404-9177-6fe069a63c92.png)
这个遗忘门在我们的优化设置中如何发挥作用? 假设我们处于损耗高的位置,并且梯度接近零。 我们如何摆脱这个位置? 在这种情况下,我们可以缩小模型的参数,而忽略其先前值的某些部分。 因此,我们可以使用我们的遗忘门做到这一点,它将当前参数值![](img/b61b56ff-e745-4c19-9920-8ad592f932a8.png),电流损耗![](img/fcd508aa-be72-4b3b-8679-f334163f75d2.png),电流梯度![](img/d93f071a-baca-4701-a998-b518ee5f39d1.png)和先前的遗忘门作为输入; 它可以表示如下:
这个遗忘门在我们的优化设置中如何发挥作用? 假设我们处于损耗高的位置,并且梯度接近零。 我们如何摆脱这个位置? 在这种情况下,我们可以缩小模型的参数,而忽略其先前值的某些部分。 因此,我们可以使用我们的遗忘门做到这一点,它将当前参数值`θ[t - 1]`,当前损耗`L[t]`,当前梯度`ᐁ[θ[t - 1]]`和先前的遗忘门作为输入; 它可以表示如下:
![](img/38abac4c-e8fb-4232-95c4-7ae6be154f71.png)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册