首页 > 其他 > 详细

使用Autogluon完成图像分类任务——2020.2.6

时间:2020-02-07 01:11:43      阅读:487      评论:0      收藏:0      [点我收藏+]

今日任务概览:

????今天主要是利用Autogluon框架完成图像分类任务。下面主要总结其中涉及的一些要点。

一、模型介绍:

ResNet简介:
????ResNet(Residual Networks 残差网络),2015年何凯明团队提出,在2015年的ILSVRC(ImageNet)的classification、detection、localization以及COCO的detection、segmentation均第一。ResNet性能好很多,检测和分割任务的特征表达网络结构等,一般都会用它来做改造,识别性能和训练速度都有提升。最高152层。论文连接作者源代码
????今天主要用到?ResNet50_v1b?和?ResNet18_v1b?两个模型,网络层数分别为50层、18层。
技术分享图片
图1 ResNet_V1版本网络结构

ResNet设计思想:

  • 引入残差网络:差分放大器,使映射F(x)对输出的变化更敏感
  1. 改善了深层网络难训练问题:SGD优化难(梯度消失或爆炸,梯度不敏感)而导致性能退化。
  2. 网络层次可以更深,这样网络表达的能力更好了,另一方面训练速度也更快了。
  • 降低了数据中信息的冗余度。
  1. 因为它对非冗余信息采用线性激活获得恒等映射,对冗余信息(identity之外的部分)采用非线性激活(ReLU)提取出的有用信息即是残差。
  2. 由于identity之外的其余部分的信息冗余度较高,因此在对其使用ReLU进行非线性激活时,丢失的有用信息也会较少,ReLU层输出为0的可能性也会较低。这就降低了在反向传播时ReLU的梯度消失的概率,从而便于网络的加深,以大大地发挥深度网络的潜能。
  3. 如果一个信息可以完整地流过一个非线性激活层,则这个非线性激活层对于这个信息而言,相当于仅仅作了一个线性激活。
  4. 解决由非线性激活导致的反向传播梯度消失的窍门,就是要提高进行非线性激活的信息的冗余度。
  • 特征复用(直接用了上层特征)能加快模型的学习速度,因为参数的优化而收敛得快(从identity的基础上直接学习残差,总比从头学习全部来得快)
  • 残差比较小,残差学习会更容易,因为有恒等映射性能至少不会下降,梯度不会消失;残差映射还会学习新的特征,性能更好。
    ResNet网络结构:
    ????设计了18、34、50、101、152层,用的都是11和33的小卷积核。普通电脑跑34就可以了,Cifar 100能到75%左右。
    ResNet构成快
    技术分享图片
    ????在残差块中,当输入为 x 时其原来学习到的原始学习特征是H(x)=F(x)+x,但现在我们希望其可以学习到残差F(x)=H(x)-x,这是因为残差学习相比原始特征的直接学习更小更容易。
    残差作用的验证
    技术分享图片
    ResNet的实验:
    ????Minist数据集图像比较小,用VGG可能就跑不了,图像经过多个卷积和pooling后可能就变成1*1了,再做pooling就会报错。可以把原始图像resize到更大尺寸来做。
    Cifar 10数据集,10个类别的分类,要生成lmdb格式,也可以直接用ImageData数据层直接读取图片。普通电脑一般跑不了50 101 152。
    注意训练时一般对图像有个减均值的操作,图像在每个通道上的像素[0,255]范围减去128或均值。有时还把像素值变大0~1之间。这样收敛更快,性能提升不太大。

    二、图像分类任务:

    ????详细任务官方指南
    Autogluon任务
    技术分享图片

三、今日总结:

????配置好服务器后,运行起来流畅无比。整体说使用Autogluon完成实验整体比较容易,但弄懂背后相关的步骤原理还是比较费劲。

使用Autogluon完成图像分类任务——2020.2.6

原文:https://www.cnblogs.com/somedayLi/p/12271176.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!