论文笔记:SqueezeNet

SqueezeNet通过使用1*1卷积核替换3*3,减少输入channel及延后下采样,实现参数大幅减少。其核心组件Fire Module包含squeeze和expand阶段,有效平衡准确率和模型复杂度。在ImageNet上,SqueezeNet参数量仅为AlexNet的1/50,但top1准确率提高至57.5%,top5准确率保持在80.3%。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.相同准确率下,参数更少的模型有三个好处:
     1)高效的分布式训练
     2)替换模型更容易
     3)FPGA部署遍更便利
2.本文三个策略:
     1)用1*1的核来替换3*3的核,可以减少9倍参数
     2)减少输入到3*3核的输入channel数量,因为参数由N* C*W*H决定
     3)延后下采样,使得卷基层有较大的activtion maps。关于这一点文章提到K.He有篇文章说 较大的特征图会带来较高的准确率。有时间了要拜读一下

3.Fire Module
     1)组成:squeeze + expand
          其中 squeeze是由 s1个1*1的卷积核组成的,送入expand 部分,对应策略1
          expand由e1个1*1的卷积核以及 e3各3*3的卷积核组成的
     2)一般令 s1 < e1 + e3, 这样可以限制输入到3*3核的channel。对应策略2
     3)stride为2的max-pooling只位于conv1,fire4,fire8,conv10。对应策略3
     4)其他细节:
               zero-padding在3*3核的输出,使其与1*1的输出大小一致
               如NIN一样没有FC
               caffe中用两个conv layer,然后concat来实现



4.结论:
     参数较alexNet减少50倍,top1 imagenet准确率反而略有提升(57.2 -> 57.5),top5没有降低(80.3) 
### EfficientNet 学习教程与笔记 #### 一、EfficientNet概述 EfficientNet是一种高效的卷积神经网络架构,在保持高精度的同时显著减少了参数量和计算成本。该模型通过复合缩放方法来优化网络宽度、深度以及分辨率之间的关系,从而实现更优性能[^1]。 #### 二、理论基础 - **复合缩放法**:不同于传统仅调整单一维度的方式,EfficientNet采用统一的比例因子同时扩大所有三个主要组件——深度(层数)、宽度(每层通道数)及输入图片大小。这种方法可以更好地平衡资源消耗与表现力。 - **MBConv模块**:基于MobileNetV2提出的逆残差瓶颈设计,结合Squeeze-and-Excitation机制进一步增强了表达能力并降低了运算负担。 ```python import tensorflow as tf from tensorflow.keras.applications import EfficientNetB0 model = EfficientNetB0(weights='imagenet') ``` 此段代码展示了如何利用Keras库快速加载预训练好的EfficientNet-B0版本模型进行迁移学习任务。 #### 三、实践指南 对于希望深入理解并掌握EfficientNet的同学来说,可以从以下几个方面入手: - 阅读原始论文《EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks》,了解作者最初的设计思路和技术细节; - 参考官方GitHub仓库中的文档说明与示例程序,熟悉API接口调用方式及其应用场景; - 尝试使用TensorFlow/PyTorch框架搭建简易版EfficientNet,并逐步增加复杂度直至完全复现原作成果;
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值