DL之SqueezeNet:SqueezeNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

简介: DL之SqueezeNet:SqueezeNet算法的简介(论文介绍)、架构详解、案例应用等配图集合之详细攻略

SqueezeNet算法的简介(论文介绍)


      本文提出的SqeezeNet在ImageNet上实现了和AlexNet相同的正确率,但是只使用了1/50的参数。更进一步,使用模型压缩技术,可以将SqueezeNet压缩到0.5MB,这是AlexNet的1/510。



ABSTRACT

     Recent research on deep convolutional neural networks (CNNs) has focused primarily  on improving accuracy. For a given accuracy level, it is typically possible  to identify multiple CNN architectures that achieve that accuracy level. With  equivalent accuracy, smaller CNN architectures offer at least three advantages:

(1)  Smaller CNNs require less communication across servers during distributed training.  

(2) Smaller CNNs require less bandwidth to export a new model from the  cloud to an autonomous car.

(3) Smaller CNNs are more feasible to deploy on FPGAs  and other hardware with limited memory.

     To provide all of these advantages,  we propose a small CNN architecture called SqueezeNet. SqueezeNet achieves  AlexNet-level accuracy on ImageNet with 50x fewer parameters. Additionally,  with model compression techniques, we are able to compress SqueezeNet to less  than 0.5MB (510× smaller than AlexNet).  The SqueezeNet architecture is available for download here:

https://github.com/DeepScale/SqueezeNet

摘要

     最近对深卷积神经网络(CNN)的研究主要集中在提高精度上。对于给定的准确度水平,通常可以识别实现该准确度水平的多个CNN架构。具有同等精度的小型CNN架构至少有三个优点:

(1) 小型CNN在分布式训练期间,需要较少的服务器间通信。

(2) 较小的cnn需要更少的带宽来将新模型从云端导出到自动驾驶汽车上。

(3) 更小的CNN更适合部署在 FPGAs和内存有限的其他硬件上。

     为了提供所有这些优势,我们提出了一个叫做SqueezeNet 的小型CNN架构。SqueezeNet 在ImageNet上实现了 AlexNet级别的精度,参数减少了50倍。另外,利用模型压缩技术,我们能够将挤压网压缩到小于0.5MB(510×小于Alexnet)。Squeezenet架构可在此处下载:https://github.com/deepscale/squezenet网站


CONCLUSIONS  

     In this paper, we have proposed steps toward a more disciplined approach to the design-space exploration  of convolutional neural networks. Toward this goal we have presented SqueezeNet, a CNN  architecture that has 50× fewer parameters than AlexNet and maintains AlexNet-level accuracy on  ImageNet. We also compressed SqueezeNet to less than 0.5MB, or 510× smaller than AlexNet  without compression. Since we released this paper as a technical report in 2016, Song Han and  his collaborators have experimented further with SqueezeNet and model compression. Using a new  approach called Dense-Sparse-Dense (DSD) (Han et al., 2016b), Han et al. use model compression  during training as a regularizer to further improve accuracy, producing a compressed set of  SqueezeNet parameters that is 1.2 percentage-points more accurate on ImageNet-1k, and also producing  an uncompressed set of SqueezeNet parameters that is 4.3 percentage-points more accurate,  compared to our results in Table 2.

     We mentioned near the beginning of this paper that small models are more amenable to on-chip  implementations on FPGAs. Since we released the SqueezeNet model, Gschwend has developed  a variant of SqueezeNet and implemented it on an FPGA (Gschwend, 2016). As we anticipated,  Gschwend was able to able to store the parameters of a SqueezeNet-like model entirely within the  FPGA and eliminate the need for off-chip memory accesses to load model parameters.  

     In the context of this paper, we focused on ImageNet as a target dataset. However, it has become  common practice to apply ImageNet-trained CNN representations to a variety of applications such  as fine-grained object recognition (Zhang et al., 2013; Donahue et al., 2013), logo identification in  images (Iandola et al., 2015), and generating sentences about images (Fang et al., 2015). ImageNet trained  CNNs have also been applied to a number of applications pertaining to autonomous driving,  including pedestrian and vehicle detection in images (Iandola et al., 2014; Girshick et al.,  2015; Ashraf et al., 2016) and videos (Chen et al., 2015b), as well as segmenting the shape of the  road (Badrinarayanan et al., 2015). We think SqueezeNet will be a good candidate CNN architecture  for a variety of applications, especially those in which small model size is of importance.  

     SqueezeNet is one of several new CNNs that we have discovered while broadly exploring the design  space of CNN architectures. We hope that SqueezeNet will inspire the reader to consider and  explore the broad range of possibilities in the design space of CNN architectures and to perform that  exploration in a more systematic manner.

结论

     在这篇文章中,我们提出了一个步骤,朝着更规范的方法设计空间探索卷积神经网络。为了实现这一目标,我们介绍了SqueezeNet,一种CNN架构,它的参数比Alexnet少50倍,并且在ImageNet上保持了Alexnet级别的准确性。我们还将SqueezeNet 压缩到小于0.5MB,或者比没有压缩的AlexNet  小510×。自从我们在2016年发布了这篇论文作为技术报告以来,Song Han和他的合作者已经在SqueezeNet 和模型压缩方面做了进一步的试验。使用一种称为Dense-Sparse-Dense (DSD)的新方法(Han等人,2016b),Han等人在训练期间使用模型压缩作为调节器,进一步提高精度,生成一组压缩后的SqueezeNet 参数,在ImageNet-1k上精确1.2个百分点,并生成一组未压缩的SqueezeNet 参数,该参数比ImageNet-1k高4.3个百分点。与表2中的结果相比,准确率为表2所示。

     在本文的开头,我们提到了小模型更适合于在FPGA上的片上实现。自从我们发布了SqueezeNet 模型以来, Gschwend开发了SqueezeNet 的一个变体,并在FPGA上实现了它(Gschwend,2016)。正如我们预期的那样,Gschwend能够完全在FPGA中存储一个类似SqueezeNet 的模型的参数,并且不需要片外存储器访问加载模型参数。

     在本文的背景下,我们将ImageNet 作为一个目标数据集。然而,将ImageNet 训练过的CNN表示应用到各种应用中已成为常见的做法,例如细粒度对象识别(Zhang等人,2013;Donahue等人,2013)、图像中的logo 识别(Iandola等人,2015)和生成关于图像的句子(Fang等人,2015年)。ImageNet训练的 CNN还应用于与自动驾驶相关的许多应用,包括图像中的行人和车辆检测(Iandola等人,2014;Girshick等人,2015;Ashraf等人,2016)和视频(Chen等人,2015b),以及道路形状分割(Badrinarayanan等人,2015年)。我们认为SqueezeNet 将是CNN各种应用的一个很好的候选架构,尤其是那些小型型号的应用。

     Squeezenet是我们在广泛探索CNN体系结构的设计空间时发现的几种新的CNN之一。我们希望,SqueezeNet 能够激励读者思考和探索CNN架构设计空间中的各种可能性,并以更系统的方式进行这种探索。



1、轻量级的CNN架构优势


对于相同的正确率水平,轻量级的CNN架构可以提供如下的优势:

(1)在分布式训练中,与服务器通信需求更小。

(2)参数更少,从云端下载模型的数据量小。

(3)更适合在FPGA和嵌入式硬件设备上部署。


      本文提出的SqeezeNet在ImageNet上实现了和AlexNet相同的正确率,但是只使用了1/50的参数。更进一步,使用模型压缩技术,可以将SqueezeNet压缩到0.5MB,这是AlexNet的1/510。



2、主要特点


1、提出了新的网络架构Fire Module,通过减少参数来进行模型压缩。

2、使用其它方法,对提出的SqeezeNet模型进行进一步压缩。

3、对参数空间进行了探索,主要研究了压缩比和3×3卷积比例的影响。

4、注意SqueezeNet中没有全连接的层; 这种设计选择的灵感来自NIN架构。


3、常用的模型压缩技术


(1)奇异值分解(singular value decomposition (SVD))

(2)网络剪枝(Network Pruning):使用网络剪枝和稀疏矩阵

(3)深度压缩(Deep compression): 使用网络剪枝,数字化和huffman编码

(4)硬件加速器(hardware accelerator)


论文

Forrest N. Landola, Song Han , Matthew W. Moskewicz, Khalid Ashraf , William J. Dally , Kurt Keutzer.

Squeezenet: AlexNet-level Accuracy With 50X Fewer Parameters and <0.5MB Model Size, ICLR 2017.

https://arxiv.org/abs/1602.07360


GitHub

后期更新……





SqueezeNet算法的架构详解


DL之SqueezeNet:SqueezeNet算法的架构详解

https://yunyaniu.blog.csdn.net/article/details/98115763

相关文章
|
12天前
|
机器学习/深度学习 前端开发 算法
婚恋交友系统平台 相亲交友平台系统 婚恋交友系统APP 婚恋系统源码 婚恋交友平台开发流程 婚恋交友系统架构设计 婚恋交友系统前端/后端开发 婚恋交友系统匹配推荐算法优化
婚恋交友系统平台通过线上互动帮助单身男女找到合适伴侣,提供用户注册、个人资料填写、匹配推荐、实时聊天、社区互动等功能。开发流程包括需求分析、技术选型、系统架构设计、功能实现、测试优化和上线运维。匹配推荐算法优化是核心,通过用户行为数据分析和机器学习提高匹配准确性。
44 3
|
22天前
|
存储 算法 安全
分布式系统架构1:共识算法Paxos
本文介绍了分布式系统中实现数据一致性的重要算法——Paxos及其改进版Multi Paxos。Paxos算法由Leslie Lamport提出,旨在解决分布式环境下的共识问题,通过提案节点、决策节点和记录节点的协作,确保数据在多台机器间的一致性和可用性。Multi Paxos通过引入主节点选举机制,优化了基本Paxos的效率,减少了网络通信次数,提高了系统的性能和可靠性。文中还简要讨论了数据复制的安全性和一致性保障措施。
35 1
|
4月前
|
机器学习/深度学习 算法 机器人
【博士每天一篇文献-算法】改进的PNN架构Lifelong learning with dynamically expandable networks
本文介绍了一种名为Dynamically Expandable Network(DEN)的深度神经网络架构,它能够在学习新任务的同时保持对旧任务的记忆,并通过动态扩展网络容量和选择性重训练机制,有效防止语义漂移,实现终身学习。
66 9
|
4月前
|
机器学习/深度学习 存储 人工智能
【博士每天一篇文献-算法】改进的PNN架构Progressive learning A deep learning framework for continual learning
本文提出了一种名为“Progressive learning”的深度学习框架,通过结合课程选择、渐进式模型容量增长和剪枝机制来解决持续学习问题,有效避免了灾难性遗忘并提高了学习效率。
92 4
|
5月前
|
存储 算法 Java
高并发架构设计三大利器:缓存、限流和降级问题之滑动日志算法问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之滑动日志算法问题如何解决
|
5月前
|
算法 Java 调度
高并发架构设计三大利器:缓存、限流和降级问题之使用Java代码实现令牌桶算法问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之使用Java代码实现令牌桶算法问题如何解决
|
5月前
|
缓存 算法 Java
高并发架构设计三大利器:缓存、限流和降级问题之使用代码实现漏桶算法问题如何解决
高并发架构设计三大利器:缓存、限流和降级问题之使用代码实现漏桶算法问题如何解决
|
25天前
|
弹性计算 API 持续交付
后端服务架构的微服务化转型
本文旨在探讨后端服务从单体架构向微服务架构转型的过程,分析微服务架构的优势和面临的挑战。文章首先介绍单体架构的局限性,然后详细阐述微服务架构的核心概念及其在现代软件开发中的应用。通过对比两种架构,指出微服务化转型的必要性和实施策略。最后,讨论了微服务架构实施过程中可能遇到的问题及解决方案。
|
1月前
|
Cloud Native Devops 云计算
云计算的未来:云原生架构与微服务的革命####
【10月更文挑战第21天】 随着企业数字化转型的加速,云原生技术正迅速成为IT行业的新宠。本文深入探讨了云原生架构的核心理念、关键技术如容器化和微服务的优势,以及如何通过这些技术实现高效、灵活且可扩展的现代应用开发。我们将揭示云原生如何重塑软件开发流程,提升业务敏捷性,并探索其对企业IT架构的深远影响。 ####
44 3
|
1月前
|
Cloud Native 安全 数据安全/隐私保护
云原生架构下的微服务治理与挑战####
随着云计算技术的飞速发展,云原生架构以其高效、灵活、可扩展的特性成为现代企业IT架构的首选。本文聚焦于云原生环境下的微服务治理问题,探讨其在促进业务敏捷性的同时所面临的挑战及应对策略。通过分析微服务拆分、服务间通信、故障隔离与恢复等关键环节,本文旨在为读者提供一个关于如何在云原生环境中有效实施微服务治理的全面视角,助力企业在数字化转型的道路上稳健前行。 ####

热门文章

最新文章