用SVD压缩深度模型(DNN,CNN)的全连接层(fully-connected layer)
2017-10-16 15:01
417 查看
转自:https://my.oschina.net/liusicong/blog/866364
转载请注明出处,否则将依法追究版权
全连接层出现在DNN和 CNN中.很多论文[介绍了如何用SVD,VQ,Sparse code压缩全连接层,这些方法不是端到端地训练一个新模型,而是对训练好的模型压缩其全连接层的权重矩阵,在应用实现中则需要同时考虑对权重和偏移的处理. 实际上权重和偏移的维度不相同,处理方法是不同的.本文将系统性地介绍在应用实现中,如何利用下述方法压缩权重矩阵,同时处理与之对应的偏移量,从而实现全连接层压缩的整个过程.
首先深入研究两个相邻全连接层的运算原理,理解权重矩阵 和偏移 的关系.如下图所示,第L层有m个神经元,第(L+1)层有n个神经元,因此相邻两个全连接层的权重矩阵 是一个 的2维矩阵.全连接层输入 与输出 的映射关系是 .即L层所有神经元与第(L+1)层的某个神经元的连接共享同一个偏移量,因此相邻两个全连接层的偏移量是一个1维向量,包含n个元素.
奇异值分解(SVD)压缩算法. 如下图所示,基于SVD的全连接层压缩方法就是引入一个中间层L’,该中间层包含 c个神经元, .因此可以减少连接数和权重规模,权重矩阵规模从 mn减少到(m+n)c ,从而降低运行深度模型的计算和存储需求.
DeepX运用了基于SVD的面向层的压缩技术,处理训练好的模型参数,以减少参数规模,减少模型执行推断时的资源消耗,提高推断速度.具体地,相邻的两个全连接层L和(L+1)分别有m和n个神经元,对相邻两层的权重矩阵 执行SVD运算,即就是 .可以选择最大的c个值来近似权重矩阵,如式(1)所示.
(1)
基于以上分析,就可以直接代码实现了
转载请注明出处,否则将依法追究版权
全连接层出现在DNN和 CNN中.很多论文[介绍了如何用SVD,VQ,Sparse code压缩全连接层,这些方法不是端到端地训练一个新模型,而是对训练好的模型压缩其全连接层的权重矩阵,在应用实现中则需要同时考虑对权重和偏移的处理. 实际上权重和偏移的维度不相同,处理方法是不同的.本文将系统性地介绍在应用实现中,如何利用下述方法压缩权重矩阵,同时处理与之对应的偏移量,从而实现全连接层压缩的整个过程.
首先深入研究两个相邻全连接层的运算原理,理解权重矩阵 和偏移 的关系.如下图所示,第L层有m个神经元,第(L+1)层有n个神经元,因此相邻两个全连接层的权重矩阵 是一个 的2维矩阵.全连接层输入 与输出 的映射关系是 .即L层所有神经元与第(L+1)层的某个神经元的连接共享同一个偏移量,因此相邻两个全连接层的偏移量是一个1维向量,包含n个元素.
奇异值分解(SVD)压缩算法. 如下图所示,基于SVD的全连接层压缩方法就是引入一个中间层L’,该中间层包含 c个神经元, .因此可以减少连接数和权重规模,权重矩阵规模从 mn减少到(m+n)c ,从而降低运行深度模型的计算和存储需求.
DeepX运用了基于SVD的面向层的压缩技术,处理训练好的模型参数,以减少参数规模,减少模型执行推断时的资源消耗,提高推断速度.具体地,相邻的两个全连接层L和(L+1)分别有m和n个神经元,对相邻两层的权重矩阵 执行SVD运算,即就是 .可以选择最大的c个值来近似权重矩阵,如式(1)所示.
(1)
基于以上分析,就可以直接代码实现了
相关文章推荐
- 用SVD压缩深度模型(DNN,CNN)的全连接层(fully-connected layer)
- 深度学习方法(七):最新SqueezeNet 模型详解,CNN模型参数降低50倍,压缩461倍!
- 深度学习方法(七):最新SqueezeNet 模型详解,CNN模型参数降低50倍,压缩461倍!
- 深度学习方法(七):最新SqueezeNet 模型详解,CNN模型参数降低50倍,压缩461倍!
- 深度学习方法(七):最新SqueezeNet 模型详解,CNN模型参数降低50倍,压缩461倍!
- [转]Deep Learning模型之:CNN卷积神经网络(一)深度解析CNN
- 综述论文:当前深度神经网络模型压缩和加速方法速览
- 深度学习方法(五):卷积神经网络CNN经典模型整理Lenet,Alexnet,Googlenet,VGG,Deep Residual Learning
- 深度学习模型压缩方法综述(三)
- 最新SqueezeNet 模型详解,CNN模型参数降低50倍,压缩461倍!
- 深度神经网络模型压缩
- 深度学习目标检测模型全面综述:Faster R-CNN、R-FCN和SSD
- [置顶] 【深度学习 CNN】卷积神经网络模型--AlexNet(CNN )
- TensorFlow (2) CNN卷积神经网络_ TFLearn 快速搭建深度学习模型
- [置顶] 【深度学习 CNN】卷积神经网络模型--VGGNet(CNN )
- 深度学习之一:卷积神经网络CNN经典模型整理(Lenet-5)
- 深度学习与自然语言处理之四:卷积神经网络模型(CNN)
- 【深度学习】笔记7: CNN训练Cifar-10技巧 ---如何进行实验,如何进行构建自己的网络模型,提高精度
- deep learning 模型简介之CNN卷积网络(一)深度解析CNN
- CNN 模型压缩与加速算法综述