论文部分内容阅读
深度学习是近年来机器学习领域最有影响力的研究方向,在计算机视觉、自然语言处理的许多问题上都取得了突出的效果。深度学习的本质是大数据支撑下,由多层人工神经网络堆叠形成的信号处理系统,具有参数数目多,计算复杂度高等特点。深度学习的训练和运行都需要大量的运行空间与并行计算设备,这些需求阻碍了深度学习在资源有限的设备,如手机、平板电脑和嵌入式设备上的应用。另一方面,神经网络中普遍存在过参数化的问题,对于一个具体任务而言,网络的参数存在着极大的冗余。深度网络压缩是解决此类问题的关键技术。本文属于深度网络压缩的研究方向,其主要工作有:1.神经网络压缩方法归纳总结在对深度学习的发展现状和主要方法、模型、技巧做了介绍后,我们广泛研究了当前的神经网络压缩的方法,并将当前的网络压缩方法归纳为“近似”、“量化”与“裁剪”三种类型。近似类算法依靠张量分解为网络参数寻找开销更小的表示方法,量化类方法将网络参数从实数域映射到有限集合,实现参数共享,裁剪类方法检测和删除网络中的冗余层、冗余神经元或冗余神经连接,将直接改变网络的结构。2.神经元贡献评价与消偏我们针对神经元级的裁剪进行研究,首先我们通过特征图可视化的方法展示了网络中存在的冗余现象。随后,我们从前人工作中推广出三种用于评价神经元贡献度的方法。这些方法能够在逐层的网络裁剪中使用,但在全局裁剪中,当把不同层的神经元评分统一考虑时,存在显著的系统性偏差。我们提出了一种简单的消偏方法,使得全局神经网络裁剪成为可能。3.渐次全局神经元裁剪框架与实现基于消偏后的神经元评分,我们提出一种渐次的全局网络裁剪框架。与逐层裁剪相比,该框架避免了网络裁剪时确定各个层中冗余神经元数目的难题,大大降低了裁剪所需要的微调轮数,并能够在给定的性能指标下逐渐逼近网络的近似最优结构。在实验部分,我们基于开源深度学习框架Keras实现了所提出的算法,并设计一系列实验验证了所提方法的有效性。