fast.ai 深度学习笔记(一)(2)

简介: fast.ai 深度学习笔记(一)

fast.ai 深度学习笔记(一)(1)https://developer.aliyun.com/article/1482671

更好的方法[47:35]

  • 具有这三个特性的算法类别是深度学习。

无限灵活的函数:神经网络[48:43]

深度学习使用的基础函数称为神经网络:

  • 现在你需要知道的是,它由许多简单的线性层和许多简单的非线性层组成。当你交错这些层时,你会得到一个称为通用逼近定理的东西。通用逼近定理所说的是,只要添加足够的参数,这种函数可以解决任何给定的问题,达到任意接近的精度。

全能参数拟合:梯度下降[49:39]

快速且可扩展:GPU[51:05]

上面显示的神经网络示例有一个隐藏层。我们在过去几年学到的一些东西是,这种神经网络如果不添加多个隐藏层,就不会快速或可扩展,因此被称为“深度”学习。

将所有内容放在一起[53:40]

以下是一些例子:

诊断肺癌[56:55]

其他当前应用:

卷积神经网络[59:13]

线性层

setosa.io/ev/image-kernels/

非线性层[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

相关文章
|
14天前
|
机器学习/深度学习 自然语言处理 PyTorch
fast.ai 深度学习笔记(三)(4)
fast.ai 深度学习笔记(三)(4)
22 0
|
14天前
|
机器学习/深度学习 算法 PyTorch
fast.ai 深度学习笔记(三)(3)
fast.ai 深度学习笔记(三)(3)
30 0
|
14天前
|
机器学习/深度学习 编解码 自然语言处理
fast.ai 深度学习笔记(三)(2)
fast.ai 深度学习笔记(三)(2)
31 0
|
14天前
|
机器学习/深度学习 PyTorch 算法框架/工具
fast.ai 深度学习笔记(三)(1)
fast.ai 深度学习笔记(三)(1)
34 0
|
索引 机器学习/深度学习 计算机视觉
fast.ai 深度学习笔记(四)(3)
fast.ai 深度学习笔记(四)
40 0
|
15天前
|
机器学习/深度学习 固态存储 Python
fast.ai 深度学习笔记(四)(2)
fast.ai 深度学习笔记(四)
48 3
fast.ai 深度学习笔记(四)(2)
|
15天前
|
API 机器学习/深度学习 Python
fast.ai 深度学习笔记(四)(1)
fast.ai 深度学习笔记(四)
62 3
fast.ai 深度学习笔记(四)(1)
|
15天前
|
机器学习/深度学习 算法框架/工具 PyTorch
fast.ai 深度学习笔记(五)(4)
fast.ai 深度学习笔记(五)
71 3
fast.ai 深度学习笔记(五)(4)
|
机器学习/深度学习 自然语言处理 Web App开发
fast.ai 深度学习笔记(五)(3)
fast.ai 深度学习笔记(五)
119 2
fast.ai 深度学习笔记(五)(3)
|
15天前
|
机器学习/深度学习 自然语言处理 Python
fast.ai 深度学习笔记(五)(2)
fast.ai 深度学习笔记(五)
105 4
fast.ai 深度学习笔记(五)(2)