[关闭]
@zhuanxu 2018-02-14T14:58:16.000000Z 字数 923 阅读 3969

深度学习实战第二课

fast-ai


完整的代码地址见文末。

通过 卷积神经网络 来进行图片分类

通过 CNN 来进行图片识别,目前 CNN 可以说是最好的方法,新的胶囊网络可能会颠覆,所以所有的知识都是会发展的。

第一个任务:Dogs vs Cats

数据说明:
25,000 个训练样本

12,500 个测试样本




第一个模型

我们第一个模型使用 resnet34 ,2015 ImageNet 大赛的冠军,模型的详细信息resnet models

结果分析

下面分析一下结果

  1. 正确的
  2. 错误的
  3. 最正确的(正确分类概率值最大)
  4. 最错误的(错误分类概率值最大)
  5. 最模棱两可的(0.5的概率)







如何选择 学习率

学习率是一个非常重要的参数,学习率选择太大,可能震荡,太小又会收敛太慢,因此我们需要有方法来选择合适的学习率。

fastai中选择学习率的方法来自Cyclical Learning Rates for Training Neural Networks

提高模型

我们通过数据增强的方式来提高模型,通过对原图进行一些变化



微调 以及 不同的学习率

我们在上面已经在最后一层调试好了,下面我们要开始去调试其他层参数,frozen_layer 为之前的卷积层





训练步骤总结

  1. 开始数据增强功能,设置precompute=True
  2. 使用 lr_find() 方法来寻找最大的 learning rate,在此 lr 下,还能显著的降低 loss
  3. 使用预训练的模型来训练模型最后一层,大概 1-2 epoches
  4. 使用lr变化的方法来训练最后一层,大概 2-3 epoches
  5. 解锁所有卷积层
  6. 通过 differential learning rates 来训练网络
  7. 再次使用 lr_find()
  8. 设置 cycle_mult=2 再次训练整个网络,直到过拟合

深入理解我们第一个模型

tfms 是 transformations 的缩写,tfms_from_model 能够帮助我们对图片进行 缩放、裁剪、正则化。

以上就是本次课程的全部。

课程完整的 jupyter notebook 地址

本文是 fastai 课程的第二课,欢迎持续关注。

fastai正式版本地址
第二课wiki地址

你的鼓励是我继续写下去的动力,期待我们共同进步。
这个时代,每个人都是超级个体!关注我,一起成长!

原文地址:https://www.zybuluo.com/zhuanxu/note/1046935

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注