提交 caefb256 编写于 作者: W wizardforcel

2019-11-01 20:06:17

上级 af611c4b
......@@ -112,11 +112,11 @@ Repeat{ W := W - (lambda/m) * W - learning_rate * dJ(W)/dW}
如果我们拥有庞大的训练数据集,那么在单个周期训练模型将花费很长时间。 对于我们而言,跟踪训练过程将非常困难。 在小批量梯度下降中,基于当前批量中的训练示例计算成本和梯度。
![](img/tex-02129bb861061d1a052c592e2dc6b383.gif)代表整个训练,分为以下几批。 ![](img/tex-6f8f57715090da2632453988d9a1501b.gif)是训练示例的数量。
![](img/tex-02129bb861061d1a052c592e2dc6b383.gif)代表整个训练,分为以下几批。 ![](img/tex-6f8f57715090da2632453988d9a1501b.gif)是训练示例的数量。
![mini-batches of training data X](img/dd79564b598f15cfc78a84bc0452d195.jpg)
小批处理的过程如下:
小批的过程如下:
```
......@@ -137,7 +137,9 @@ For t= (1, ... , #Batches):
#### 选择小批量
批量大小:
1)如果大小为![](img/tex-69691c7bdcc3ce6d5d8a1361f22d04ac.gif),即整个训练集中的示例数,则梯度下降就恰好是“批量梯度下降”。
2)如果大小为1,则称为随机梯度下降。
实际上,大小是在1到M之间选择的。当![](img/tex-88914f3ddc98afcb84444299d86fef97.gif)时,该数据集应该是较小的数据集,使用“批量梯度下降”是可以接受的。 当![](img/tex-cabf540e7cc75f01020991e2bb935098.gif)时,可能小批量梯度下降是训练模型的更好方法。 通常,小批量大小可以是64、128、256等。
......@@ -149,11 +151,15 @@ For t= (1, ... , #Batches):
#### 具有动量的梯度下降(总是比SGD更快)
在每个小批量迭代![](img/tex-e358efa489f58062f10dd7316b65649e.gif)上:
1)在当前小批量
上计算![](img/tex-8ceb6623210b5b482cefa74271cde36f.gif)和![](img/tex-d77d5e503ad1439f585ac494268b351b.gif)
1)在当前小批量上计算![](img/tex-8ceb6623210b5b482cefa74271cde36f.gif)和![](img/tex-d77d5e503ad1439f585ac494268b351b.gif)
2)![](img/tex-f22fe2a7d88e51438a58d0c08491d7fd.gif)
3)![](img/tex-4651155988e1fdd15e649648c9c36ee7.gif)
4)![](img/tex-c810382a8ac85fa2dd6ebaf64ac52d36.gif)
5)![](img/tex-7da4fbb8886cfb4cb132500557026467.gif)
动量的超参数是![](img/tex-7b7f9dbfea05c83784f8b85149852f08.gif)(学习率)和![](img/tex-b0603860fcffe94e5b8eec59ed813421.gif)。 动量方面,![](img/tex-33365520fc7161b5a0e8924b3cf841f3.gif)是先前梯度的历史信息。 如果设置![](img/tex-0775a56d238029e41375f6c276990ace.gif),则意味着我们要考虑最近10次迭代的梯度来更新参数。
......@@ -163,25 +169,35 @@ For t= (1, ... , #Batches):
#### RMSprop的梯度下降
在每个小批量迭代![](img/tex-e358efa489f58062f10dd7316b65649e.gif)上:
1)在当前小批量
上计算![](img/tex-8ceb6623210b5b482cefa74271cde36f.gif)和![](img/tex-d77d5e503ad1439f585ac494268b351b.gif)
1)在当前小批量上计算![](img/tex-8ceb6623210b5b482cefa74271cde36f.gif)和![](img/tex-d77d5e503ad1439f585ac494268b351b.gif)
2)![](img/tex-4f190dafeac083bc319a339e986eae9b.gif)
3)![](img/tex-db138aef82ab076a3615caa1eed12ec2.gif)
4)![](img/tex-cfb0685dd9d2c7750b6f7e470e980d68.gif)
5)![](img/tex-2acdb4a69c8067a4378a0566ed6bc792.gif)
#### Adam(将动量和RMSprop放在一起)
![](img/tex-17b069f79cf8ce5adc13f32d7db99b32.gif),![](img/tex-8093eae53dc1e829c7d753798a62f385.gif),![](img/tex-9b1259abace211373243b44aaf4a36c3.gif),![](img/tex-1a8874a987eda34399cf849b04d65f0b.gif)
在每个小批量迭代中![](img/tex-e358efa489f58062f10dd7316b65649e.gif)
1)在当前小批量
上计算![](img/tex-8ceb6623210b5b482cefa74271cde36f.gif)和![](img/tex-d77d5e503ad1439f585ac494268b351b.gif)
1)在当前小批量上计算![](img/tex-8ceb6623210b5b482cefa74271cde36f.gif)和![](img/tex-d77d5e503ad1439f585ac494268b351b.gif)
2)![](img/tex-922af9cc345af5e54f0cd595b053bcce.gif)
3)![](img/tex-78aec4ade9bff570a511d37a16925e78.gif)
4)![](img/tex-610e7529493c0c7a8b25247495b31a65.gif)
5)![](img/tex-a3172c5736057baf1102cb4ba1fd0ec4.gif)
6)![](img/tex-e8cc103eadb7f153d0fb22c628b92cd3.gif)
7)![](img/tex-42c4f85396cc3e77df0477745c546901.gif) ![](img/tex-42c4f85396cc3e77df0477745c546901.gif) ![](img/tex-42c4f85396cc3e77df0477745c546901.gif) ![](img/tex-42c4f85396cc3e77df0477745c546901.gif) ![](img/tex-42c4f85396cc3e77df0477745c546901.gif) ![](img/tex-42c4f85396cc3e77df0477745c546901.gif) ![](img/tex-42c4f85396cc3e77df0477745c546901.gif) ![](img/tex-f02676ceb92c11ff7dc9df6ad0eda1ad.gif)
![](img/tex-9ad8d6a5b8ec30f7aa8e665c105b708d.gif)
......@@ -449,10 +465,13 @@ softmax回归将logistic回归(二元分类)概括为多个类(多类分
如上图所示,它是3类分类神经网络。 在最后一层,使用softmax激活函数。 输出是每个类别的概率。
softmax激活如下。
1)![](img/tex-7d7b7e529d4d3b5c9455640484b7f71b.gif)
2)![](img/tex-9adb2ad4eaf5a42babe8391e7bd0b520.gif)
![](img/tex-0bb4ef8e89ade3eb2f650a41aeaa8fc0.gif)
![](img/tex-62cf744974e047aa1ea675c97ef5ef4f.gif)
##### 损失函数
......@@ -702,9 +721,13 @@ softmax激活如下。
该算法可以找到对同一物体的多次检测。 例如,在上图中,它为猫找到2个边界框,为狗找到3个边界框。 非最大抑制算法可确保每个对象仅被检测一次。
步骤:
1)丢弃所有带有![](img/tex-11f8f4da3f0cb3a5ec5756ad8b81a889.gif)的框
2)对于任何剩下的框:
a)选择具有最大![](img/tex-8ad5f203212aab1878f7eebded21fc60.gif)的框作为预测输出
b)在最后一步中,将所有带有![](img/tex-011310f4e5761898d60b776931cb9b01.gif)的剩余框与选中的框一起丢弃,然后从 a 开始重复。
......@@ -1235,7 +1258,9 @@ BERT论文的下图显示了如何将模型用于不同的任务。
* 确保开发和测试集来自同一分布
**我们可能遇到的另一种情况**
1)我们要为特定域构建系统,但是在该域中我们只有几个标记数据集(例如10,000)
2)我们 可以从类似的任务中获得更大的数据集(例如200,000个实例)。
在这种情况下,如何构建训练,开发和测试集?
......@@ -1243,8 +1268,11 @@ BERT论文的下图显示了如何将模型用于不同的任务。
最简单的方法是将两个数据集组合在一起并对其进行随机排序。 然后,我们可以将合并的数据集分为三个部分(训练,开发和测试集)。 但是,这不是一个好主意。 因为我们的目标是为我们自己的特定领域构建系统。 将没有来自我们自己域的一些实例添加到开发/测试数据集中以评估我们的系统是没有意义的。
合理的方法是:
1)将所有更容易使用的实例(例如200,000)添加到训练集中
2)从特定域数据集中选择一些实例并将它们添加到训练集中
3)将我们自己领域的其余实例分为开发和测试集
![dataset](img/82ba87dda9fab264206383db7052c862.jpg)
......@@ -1282,8 +1310,11 @@ BERT论文的下图显示了如何将模型用于不同的任务。
尽管模型误差相同,但在左图中人为误差为1%时,我们有高偏差问题,而在右图中有高方差问题。
至于模型的性能,有时它可能比人类的模型更好。 但是只要模型的性能不如人类,我们就可以:
1)从人类获得更多的标记数据
2)从手动误差分析中获得见解
3)从偏差/方差分析中获得见解
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册