深度学习领域的领军人物Geoffrey Hinton在《科学》中发表文章指出:如果把神经网络加深而不是加宽,那么这个网络会取得很好的效果。因此,不难看出,深度学习的关键在于“深度”二字,随着研究的进步,研究人士为了得到较好的输出结果,神经网络的深度在逐渐加大,从而引发了一系列问题,基于此有人提出了进行将网络模型进行压缩的思想。87707
2006年,康奈尔大学的Caruana Bucilua等人提出了模型压缩的思想[6]。一般我们认为可以通过整合成百上千个小型分类器来形成一个好的监督学习模型,但是实际上这需要足够大空间来存储如此多的分类器,另外在运行时间方面、存储空间等方面的消耗也是不容小觑的,基于此,Caruana等人提出了一种将庞大而复杂的模型压缩成简单快速模型的方法,而且,在最终结果上,其得出的预测值与复杂模型得到的预测值相差无几。论文网
2014年10月,深度学习领域的领军人物Geoffrey Hinton首次提出:深度学习方法实际上学习的是“暗知识”(dark knowledge),因此可以通过提取神经网络中重要特征的方法,用一个复杂的模型来训练一个相对简单的网络模型[7]。在基于Caruana Bucilua模型压缩思想的基础上,Hinton提出将复杂网络作为预训练模型,这样在初始化简单网络时不再采用原本真实的标签值,而是通过输入预训练时得到的预测值来对简单网络的网络参数进行初始化,同时对于两个网络的损失函数,将预训练模型的输出结果作为硬性目标(soft target),简单网络的输出结果作为软性目标(hard target),采用交叉熵作为二者的损失函数,另外利用“升温”策略来提高熵值,通过这样的方法可以很好的实现模型压缩算法。
近期,Foreest N。Iandola等人构建了一个SqueezeNet模型[8],该网络由2个卷积层和8个Fire模块层构成,其网络参数量较少,模型相对简单,耗能小。该网络在没有借助深度压缩算法的情况下,将Alex网络由200MB压缩为数据类型为8位大小的4。8MB。在使用深度压缩算法后,将网络分别压缩为数据类型为8位大小的0。92MB和6位大小的0。52MB,最高达到了比Alex网络小了461倍,并且top-1和 top-5错误率与Alex网络相差的并不多,这一结果十分惊人。
深度学习是一场技术的变革,它为人工智能、计算机科学开辟了一片新天地,在保证输出准确率的前提下,合理控制网络规模和参数量也是应时代发展所需,基于深度学习的模型压缩技术定将在未来产生不容忽视的力量。