神经网络模型压缩和加速

模型分析

Posted by QITINGSHE on April 25, 2018
  • 为了解决全连接层的参数规模问题,人们转而考虑增加卷积层,使全连接层参数降低,随之而来的负面影响是大大增长了计算时间与能耗

Krizhevsky 在2014年提出:卷积层占据了大约90-95%的计算时间,且参数规模有较大的值,全连接层占据了大约5-10%的计算时间,95%的参数规模,并且值较小

具有50个卷积层的ResNet-50 需要超过95MB的存储器以及38亿次浮点计算。当丢弃一些冗余权重后,网络仍然正常工作,但节省了超过75%的参数和50%的计算时间。

现有的深度模型压缩方法

  • 参数修剪和共享:parameter pruning and sharing –> 针对模型参数的冗余性,试图去除冗余和不重要的项。
  • 低秩因子分解:low-rank factorization –> 使用矩阵/张量分解估计深度学习模型的信息参数。
  • 转移/紧凑卷积滤波器:transferred/compact convolutional filters –> 设计了特殊的结构卷积滤波器来降低存储和计算复杂度。
  • 知识蒸馏:knowledge distillation –> 学习一个蒸馏模型,训练一个更紧凑的神经网络来重现一个更大的网络的输出。

深度神经网络模型压缩和加速