第5周学习:ShuffleNet & EfficientNet & 迁移学习

一、论文阅读和视频学习

1.ShuffleNet V1 & V2

1.1ShuffleNet V1
a.效果

提出了channel shuffle的思想,相比于AlexNet,达到同样的error率的情况下非常轻量级。并且能够不断优化error率,且消耗时间依然小于AlexNet。

在这里插入图片描述

b.原理(channel shuffle)

GConv虽然能够减少参数与计算量,但是GConv中不同组之间信息没有交流。channel shuffle即因此提出的。

  1. 输入特征矩阵经过一个GConv1卷积,得到一个对应的特征矩阵。
  2. 对每一个GROUP依照卷积的划分进行划分,然后有序重组,即得到了通过channel shuffle的特征矩阵。
  3. 再对得到的特征矩阵进行GConv2卷积,其就可以融合不同的特征信息。
    在这里插入图片描述

在网络中使用的group卷积占用的计算量是很少的,大部分计算量是被1×1卷积占用去了。所以改造:
在这里插入图片描述
经过验证,Shuffle Net的计算量是最小的。

1.2ShuffleNet V2

计算量主要计算卷积相关的一些指标,但是在GPU中只有一般的计算量在计算卷积,所以不能单纯用FLOPs评判算法计算量。在相同的FLOPs的情况下,并行度高的模型是要比并行度低的模型运行速度快的。
针对此,作者提出了设计一个高效的的网络四条建议:

  1. 当卷积层的输入特征矩阵与输出特征矩阵channel相等时memory access cost是最小的。在这里插入图片描述

  2. 当GConv的groups增大时(保持FLOPs不变时),MAC也会增大。在这里插入图片描述

  3. 网络设计的碎片化程度越高,速度越慢。在这里插入图片描述

  4. Element-wise操作带来的影响是不可忽视的。 在这里插入图片描述

提出:

在这里插入图片描述

2.EfficientNet V3

  1. 根据以往的经验,增加网络的深度能够得到更加丰富、复杂的特征并且能够很好的应用到其他任务中。但是网络的深度过深会面临梯度消失、训练困难等问题。
  2. 增加网络的宽度能够获得更高细粒度的特征并且也更容易训练,但对于宽度很大而深度较浅的网络,往往很难学习到更深层次的特征。
  3. 增加输入网络的图像分辨率能够潜在地获得更高细粒度地特征模板,但对于非常高地输入分辨率,准确率的增益也会减小。并且大分辨率图像会增加计算量。
2.1EfficientNet-B0

在这里插入图片描述

2.2MBConv

在这里插入图片描述

  1. 第一个升维的1×1卷积层,它卷积核个数是输入特征矩阵channel的n倍。
  2. 当n=1的时候,不要第一个1×1的卷积层了
  3. 关于shortcut连接,仅当输入MBConv结构的特征矩阵与输出的特征矩阵shape相同时才存在。

二、代码练习

1.使用VGG模型进行猫狗大战

1.1下载数据

在这里插入图片描述

1.2数据处理

在这里插入图片描述

1.3创建 VGG Model

1.4修改最后一层,冻结前面层的参数

在这里插入图片描述

1.5训练并测试全连接层

在这里插入图片描述

1.6可视化模型预测结果(主观分析)

在这里插入图片描述

2.AI艺术鉴赏挑战赛题

在这里插入图片描述

三、思考

针对题目并不能够实现很好的效果,这或许就是“知其然,而不知其所以然”的呈现。如果以后要走深度学习的方向,还是应该以熟悉各种模型原理为基础进行学习。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值