fast.ai 深度学习笔记(一)(1)https://developer.aliyun.com/article/1482671
更好的方法[47:35]
- 具有这三个特性的算法类别是深度学习。
无限灵活的函数:神经网络[48:43]
深度学习使用的基础函数称为神经网络:
- 现在你需要知道的是,它由许多简单的线性层和许多简单的非线性层组成。当你交错这些层时,你会得到一个称为通用逼近定理的东西。通用逼近定理所说的是,只要添加足够的参数,这种函数可以解决任何给定的问题,达到任意接近的精度。
全能参数拟合:梯度下降[49:39]
快速且可扩展:GPU[51:05]
上面显示的神经网络示例有一个隐藏层。我们在过去几年学到的一些东西是,这种神经网络如果不添加多个隐藏层,就不会快速或可扩展,因此被称为“深度”学习。
将所有内容放在一起[53:40]
以下是一些例子:
research.googleblog.com/2015/11/computer-respond-to-this-email.html
deepmind.com/blog/deepmind-ai-reduces-google-data-centre-cooling-bill-40/
www.skype.com/en/features/skype-translator/
arxiv.org/abs/1603.01768
诊断肺癌[56:55]
其他当前应用:
卷积神经网络[59:13]
线性层
非线性层[01:02:12]
在这一章中,我给出了普适性定理的简单且大部分是可视化的解释。我们将一步一步地进行…
Sigmoid 和 ReLU
- 线性层和逐元素非线性函数的组合使我们能够创建任意复杂的形状 — 这是普适性定理的本质。
如何设置这些参数来解决问题[01:04:25]
- 随机梯度下降 — 我们沿着山坡小步前进。步长被称为学习率
- 如果学习率太大,它会发散而不是收敛
- 如果学习率太小,将需要很长时间
可视化和理解卷积网络[01:08:27]
我们从一些非常简单的东西开始,但如果我们将其用作足够大的规模,由于普适性定理和深度学习中多个隐藏层的使用,我们实际上获得了非常丰富的能力。这实际上是我们在训练狗和猫识别器时使用的方法。
狗 vs. 猫再访——选择学习率[01:11:41]
learn.fit(0.01, 3)
- 第一个数字
0.01
是学习率。 - 学习率决定了你想要多快或多慢地更新权重(或参数)。学习率是最难设置的参数之一,因为它会显著影响模型性能。
- 方法
learn.lr_find()
可以帮助你找到一个最佳的学习率。它使用了 2015 年的论文Cyclical Learning Rates for Training Neural Networks中开发的技术,我们简单地从一个非常小的值开始不断增加学习率,直到损失停止减少。我们可以绘制跨批次的学习率,看看这是什么样子。
learn = ConvLearner.pretrained(arch, data, precompute=True) learn.lr_find()
我们的learn
对象包含一个包含我们学习率调度器的属性sched
,并具有一些方便的绘图功能,包括这个:
learn.sched.plot_lr()
- Jeremy 目前正在尝试指数增加学习率与线性增加学习率。
我们可以看到损失与学习率的图表,以查看我们的损失何时停止减少:
learn.sched.plot()
- 然后我们选择损失仍然明显改善的学习率 — 在这种情况下是
1e-2
(0.01)
选择迭代次数[1:18:49]
''' [ 0\. 0.04955 0.02605 0.98975] [ 1\. 0.03977 0.02916 0.99219] [ 2\. 0.03372 0.02929 0.98975] '''
- 你想要多少都可以,但如果运行时间太长,准确性可能会开始变差。这被称为“过拟合”,我们稍后会更多地了解它。
- 另一个考虑因素是你可用的时间。
技巧和窍门[1:21:40]
1.Tab
— 当你记不住函数名时,它会自动完成
2. Shift + Tab
— 它会显示函数的参数
3. Shift + Tab + Tab
— 它会显示文档(即 docstring)
4. Shift + Tab + Tab + Tab
— 它会打开一个带有相同信息的单独窗口。
在单元格中键入?
后跟一个函数名并运行它将与shift + tab(3 次)
相同
5. 输入两个问号将显示源代码
6. 在 Jupyter Notebook 中键入H
将打开一个带有键盘快捷键的窗口。尝试每天学习 4 或 5 个快捷键
7. 停止 Paperspace、Crestle、AWS — 否则你将被收费$$
8. 请记住关于论坛和course.fast.ai/
(每节课)的最新信息。
fast.ai 深度学习笔记(一)(3)https://developer.aliyun.com/article/1482675