0.背景及动机
完整代码在github:squeeznet-pytorch
随着深度学习这一概念的兴起,越来越多的研究人员投身到深度神经网络搭建的浪潮中,各种各样的网络层出不穷。给定一个精度级别,通常存在多个达到该精度级别的cnn架构,但是在同等精度下,具有较少参数的cnn有三大优势:
-
更高效的分布式训练:分布式训练的数据并行方法在每个服务器上保留整个模型的副本,处理训练数据集的不同子集。因此通信开销与模型中的参数数成正比,换而言之,越小的模型,训练更快。虽然随着gpu等硬件架构的发展,很多时候我们并不需要再进行分布式训练,但如果你搭建的网络很深,训练数据集很大,分布式训练也是很有意义的。
-
在实际应用过程中,将新模型导出到客户端时,开销较小:over-the-air update(ota)是特斯拉等企业常用的技术,是指移动终端通过无线网络下载远程服务器上的升级包,对系统或应用进行升级的技术。训练的模型越小,需要的通信更少,因此可以实现更频繁更快速地更新。
-
更容易在嵌入式设备上部署:芯片存储空间有限,较小的模型让芯片(fpga)嵌入式设备存储,部署神经网络更加可行,在slam领域,随着技术的成熟,越来越多的slam框架倾向于与神经网络相结合,但有很多时候苦恼于神经网络训练和运行时太耗时间,无法满足实时性需求,而小的网络往往更容易满足实时性。
因此,基于此,squeez
发表评论