深度学习模型压缩方法的特色总结和对比


了解用于深刻学习的不一样模型压缩技术的需求和特色html

无论你是计算机视觉新手仍是专家,你可能据说过 AlexNet 于2012年赢得了ImageNet挑战赛。这是计算机视觉发展史上的转折点,由于它代表,深度学习模型可以之前所未有的精度完成很是困难的任务。安全

可是你是否知道 AlexNet有6.2千万训练参数?微信

另外一个广为人知的模型 VGGNet 则有1.38亿训练参数,是AlexNet 的两倍之多。网络

咱们知道,模型层数越多,那么表现的性能越好,那么是否须要关注和强调参数的数量呢?app


知名CNN模型的复杂度和准确度框架

上述模型在机器视觉领域已是基准了。可是在现实生产场景中,是否会被人们选择部署呢?你是否在实际应用中使用这些模型?机器学习

在回答上述问题以前,咱们先了解以下背景知识。物联网装备预测在2030年将达到1.25-5千亿台套的规模,而且其中20%都带有摄像头,这是一个130亿的市场。编辑器

物联网摄像头设备包括家庭安全摄像头(如Amazon Ring和Google Nest),当您到家时会打开门或在看到未知的人时通知您,智能车辆上的摄像头可帮助您驾驶,停车场的摄像头在您进出时打开大门,物联网摄像头设备的应用场景十分普遍!其中一些物联网设备已经在某种程度上使用人工智能,而其余设备正在慢慢遇上。ide


许多现实场景的应用程序须要实时的设备处理能力。自动驾驶汽车就是一个很好的例子。为了使汽车在任何道路上安全行驶,它们必须实时观察道路,若是有人走在汽车前面,必须停车。在这种状况下,须要在设备上实时地处理视觉信息和作出决策。函数

那么,如今回到以前的问题:咱们可否使用前述模型部署到生活场景中?

若是你从事的是计算机视觉领域应用和研究,你的应用程序极可能须要物联网设备。主要的挑战是物联网设备资源受限;它们的内存有限,计算能力低。而模型中可训练的参数越多,其规模就越大。深度学习模型的计算时间随着可训练参数个数的增长而增长。此外,与较少参数的模型相比,所消耗的能量和占用的空间也越大。最终的结果是,当模型很大时,深度学习模型很难在资源受限的设备上部署。虽然这些模型已经成功地在实验室中取得了巨大的成果,但它们在许多实际应用中并不可用。

在实验室,经过昂贵的GPU能够实现模型的高效计算,可是在生产场景中,资金、能源、温度等问题使得GPU的计算方式行不通。尽管将这些模型部署在云端可以提供高计算性能和存储使用性,可是却存在高时延的问题,所以不能知足现实应用的需求。

简而言之,人工智能须要在靠近数据源的地方进行处理,最好是在物联网设备自己进行处理!所以,咱们可供选择之一就是:减小模型的规模。

在不影响准确性的前提下,制做一个能在边缘设备约束下运行的更小的模型是一个关键的挑战。由于仅仅拥有一个能够在资源受限的设备上运行的小模型是不够的,它应该不管是在准确性和计算速度方面都具备很好的性能。

接下来将介绍几种下降模型规模的方法。

剪枝(Pruning)

修剪经过删除对性能不敏感的冗余、不重要的链接来减小参数的数量。这不只有助于减少整个模型的大小,并且节省了计算时间和能耗。

剪枝

好处

  • 能够在训练时和训练后执行该操做

  • 能够改善给定模型的计算时间/模型规模

  • 既能够用于卷积网络,也能够用于全链接层

不足

  • 相较于直接修改模型结构,剪枝的效果稍逊一筹

  • 对于 TensorFlow模型,每每只能减少模型规模,可是不能下降计算时间



原始模型和修剪模型的计算速度、规模差别

量化权值(Quantization)

在DNN中,权重存储为32位浮点数字。量化是经过减小比特数来表示这些权重的思想。权重能够量化为16位、8位、4位甚至1位。经过减小使用的比特数,深度神经网络的规模能够显著减少。


二进制量化

好处

  • 能够在训练时和训练后执行该操做

  • 既能够用于卷积网络,也能够用于全链接层

不足

  • 量化权值使得神经网络更难收敛。为了保证网络具备良好的性能,须要较小的学习速率

  • 量化权重使得反向传播不可行,由于梯度不能经过离散神经元反向传播。须要使用近似方法来估计损失函数相对于离散神经元输入的梯度

  • TensorFlow的量化感知训练在训练过程当中不作任何量化。训练期间只收集统计数据,用于量化训练后的数据。

知识蒸馏(Knowledge distillation)

在知识蒸馏中,一个大型的、复杂的模型是在一个大型数据集上训练的。当这个大的模型可以对看不见的数据进行泛化并表现良好时,它就被传输到一个较小的网络中。较大的网络模型也称为教师模型,较小的网络也称为学生网络。


知识蒸馏

好处

  • 若是你有一个预先训练好的教师网络,训练较小的(学生)网络所需的训练数据较少。

  • 若是你有一个预先训练好的教师网络,训练较小的(学生)网络所需的时间很短。

  • 能够缩小一个网络而无论教师和学生网络之间的结构差别。

不足

  • 若是没有预先选练好的教师模型,那么训练学生模型将须要大规模的数据集和较长时间。

选择性注意(Selective Attention)

选择性注意是指把注意力集中在感兴趣的对象或元素上,而抛弃其余对象(一般是背景或其余与任务无关的对象)。它的灵感来自人眼生物学机制。当咱们看东西的时候,咱们一次只关注一个或几个物体,其余的区域就会模糊。

选择性注意

这就须要在你现有的人工智能系统上添加一个选择性的注意力网络。

好处

  • 更短的计算时间

  • 规模更小的模型(经过这一方法生成的人脸识别器只有44KB大小)

  • 精度保障

不足

  • 只支持从头开始的训练

低秩分解

利用矩阵/张量分解来估计信息参数。一个(m,n)维且秩为r的权矩阵A被更小维的矩阵代替。这种技术有助于将大矩阵分解成更小的矩阵。


低秩分解

好处

  • 可被用于训练阶段和训练后

  • 可被用于卷积网络,也可用于全链接层

  • 用于训练阶段时,能够下降训练时间


最棒的是,全部这些技术是相辅相成的。它们能够按原样应用,也能够与一种或多种技术相结合。经过使用剪枝、量化和Huffman编码三级流水线来减少预训练模型的大小,在ImageNet数据集上训练的VGG16模型从550MB降到了11.3MB。

上面讨论的大多数技术均可以应用于预先训练的模型,做为后处理步骤,能够减少模型大小并提升计算速度。但它们也能够在训练期间使用。量化愈来愈受欢迎,如今已经被引入机器学习框架。咱们能够预期修剪很快也会被引入流行的框架中。

在本文中,咱们研究了将基于深度学习的模型部署到资源受限设备(如物联网设备)的动机,以及减少模型大小以使其适应物联网设备而不影响准确性的需求。咱们还讨论了一些现代技术压缩深度学习模型的利弊。最后,咱们谈到了每一种技术能够单独应用,也能够组合使用。

引用

  1. https://towardsdatascience.com/machine-learning-models-compression-and-quantization-simplified-a302ddf326f2

  2. Buciluǎ, C., Caruana, R., & Niculescu-Mizil, A. (2006, August). Model compression. In Proceedings of the 12th ACM SIGKDD international conference on Knowledge discovery and data mining (pp. 535–541).

  3. Cheng, Y., Wang, D., Zhou, P., & Zhang, T. (2017). A survey of model compression and acceleration for deep neural networks. arXiv preprint arXiv:1710.09282.

  4. http://mitchgordon.me/machine/learning/2020/01/13/do-we-really-need-model-compression.html

  5. https://software.intel.com/content/www/us/en/develop/articles/compression-and-acceleration-of-high-dimensional-neural-networks.html

  6. https://towardsdatascience.com/the-w3h-of-alexnet-vggnet-resnet-and-inception-7baaaecccc96

  7. https://www.learnopencv.com/number-of-parameters-and-tensor-sizes-in-convolutional-neural-network/

  8. Véstias, M. P. (2019). A survey of convolutional neural networks on edge with reconfigurable computing. Algorithms, 12(8), 154.

  9. https://technology.informa.com/596542/number-of-connected-iot-devices-will-surge-to-125-billion-by-2030-ihs-markit-says

  10. https://www.cisco.com/c/dam/en/us/products/collateral/se/internet-of-things/at-a-glance-c45-731471.pdf

  11. Mohan, A., Gauen, K., Lu, Y. H., Li, W. W., & Chen, X. (2017, May).  Internet of video things in 2030: A world with many cameras. In 2017 IEEE International Symposium on Circuits and Systems (ISCAS) (pp. 1–4). IEEE.

  12. Blalock, D., Ortiz, J. J. G., Frankle, J., & Guttag, J. (2020). What is the state of neural network pruning?. arXiv preprint arXiv:2003.03033.

  13. Guo, Y. (2018). A survey on methods and theories of quantized neural networks. arXiv preprint arXiv:1808.04752.

做者:Sabina Pokhrel

deephub翻译组 Oliver Lee


DeepHub

微信号 : deephub-imba

每日大数据和人工智能的重磅干货

大厂职位内推信息

长按识别二维码关注 ->

喜欢就请三连暴击!    


本文分享自微信公众号 - DeepHub IMBA(deephub-imba)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。

相关文章
相关标签/搜索