社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  机器学习算法

深度学习模型部署:落实产品部署前至关重要的一件事!

计算机视觉研究院 • 9 月前 • 219 次点击  

点击上方蓝字关注我们

计算机视觉研究院专栏

作者:Edison_G

前段时间,”计算机视觉研究院“推出一期专门说部署模型的专题,今天我来和大家说说部署模型前的一件重要事情,那就是训练,如何加速训练也是一件不可忽略的流程,今天技术应用到了剪枝,有兴趣的请继续阅览!


公众号ID|ComputerVisionGzq
学习群|扫码在主页获取加入方式

关注并星标

从此不迷路

计算机视觉研究院

1

 前言

最先进的深度神经网络 (DNN) 剪枝技术在训练开始前一次性应用,借助剪枝分数的单一标准评估稀疏架构。基于单独分数的剪枝权重对于某些架构和修剪率很有效,但对于其他架构和剪枝率也可能失败。作为剪枝分数的通用基线,有研究者引入了广义synaptic score(GSS)的概念。

在这项工作中,研究者不专注于单一的剪枝标准,而是提供一个框架来组合任意GSS以创建更强大的剪枝策略。这些组合剪枝分数 (COPS) 是通过解决约束优化问题获得的。优化一个以上的分数可以防止稀疏网络过度专注于单个任务,从而在训练开始之前控制剪枝。 COPS给出的组合优化问题在线性规划 (LP) 上是松弛的。该LP被解析求解并确定COPS的解。此外,还提出并评估了一种以数值方式计算两个分数的算法。以这种方式求解COPS的复杂度低于最好的通用LP求解器。
在实验中,将剪枝与COPS与针对不同网络架构和图像分类任务的最新方法进行了比较,并获得了改进的结果。

2

 背景


上图,《PRUNING FILTERS FOR EFFICIENT CONVNETS》。在裁剪的时候同样会考虑每一层对裁剪的敏感程度,作者会单独裁剪每一层来看裁剪后的准确率。对于裁剪较敏感的层,作者使用更小的裁剪力度,或者跳过这些层不进行裁剪。目前这种方法是实现起来较为简单的,并且也是非常有效的,它的思路非常简单,就是认为参数越小则越不重要。
An Entropy-based Pruning Method for CNN Compression
作者认为通过weight值的大小很难判定filter的重要性,通过这个来裁剪的话有可能裁掉一些有用的filter。因此作者提出了一种基于熵值的裁剪方式,利用熵值来判定filter的重要性。作者将每一层的输出通过一个Global average Pooling将feature map转换为一个长度为c(filter数量)的向量,对于n张图像可以得到一个n*c的矩阵,对于每一个filter,将它分为m个bin,统计每个bin的概率,然后计算它的熵值 利用熵值来判定filter的重要性,再对不重要的filter进行裁剪。

CIFAR-10上VGG16的dense baseline、随机剪枝、SNIP、GraSP和GCOPS的比较。左:网络剩余权重的平均梯度范数,在训练前评估并归一化 w.r.t. dense网络的梯度。右:相应的测试精度。

3

 新思路


定理 1

算法1给出了一种通过区间二分法逼近 λ∗ 的简单方法。根据定理 1,λ∗ 产生相应的 COPS掩码m∗。为了应用算法1,必须找到一个合适的值λ+,其中g0(λ+) ≤ 0。一种可能性是从λ+ = 1 开始。如果g0(λ+) ≥ 0,则λ+可以迭代加倍。下图给出了算法 1 的图形说明。

左图:g和λ∗的图形示例,稀疏度为σ = 2,πi(λ) = s(0)i +λ·s(1)i。为清晰起见,使用κ = 0,Active πi(λ)为红色。给定λ的πi(λ)的灰色着色突出显示πi(λ) ≥ 0。右图:显示算法1的前三个步骤以获得解 λ∗。

G-COPS导出的掩码与基础目标分数SNIP(sim(M0, mακ))和控制分数GraSP(sim(M1, mακ)) 之间的相似性。SNIP和GraSP通过sim(M0, M1) 进行比较。

4

 实验


VGG-16在CIFAR-10上的实验结果

© THE END 

转载请联系本公众号获得授权


计算机视觉研究院学习群等你加入!


计算机视觉研究院主要涉及深度学习领域,主要致力于人脸检测、人脸识别,多目标检测、目标跟踪、图像分割等研究方向。研究院接下来会不断分享最新的论文算法新框架,我们这次改革不同点就是,我们要着重”研究“。之后我们会针对相应领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

扫码关注

计算机视觉研究院

公众号IDComputerVisionGzq

学习群扫码在主页获取加入方式

 往期推荐 

🔗

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/169495
 
219 次点击