前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Dynamic Network Surgery for Efficient DNNs

Dynamic Network Surgery for Efficient DNNs

作者头像
用户1148525
发布2019-05-26 12:13:13
7470
发布2019-05-26 12:13:13
举报

NIPS 2016 http://arxiv.org/abs/1608.04493

code: https://github.com/yiwenguo/Dynamic-Network-Surgery

本文提出一种动态压缩CNN网络模型算法。针对 LeNet-5 和 AlexNet 可以分别减少 108倍和 17.7倍的参数,而且不损失精度。

本文主要参考了文献【9】,文献【9】通过删除一些不重要的参数达到不损失精度的压缩CNN模型的效果。但是参数的重要性随着网络的变化而变化,所以导致了文献【9】有两个问题:1)有可能把重要的联系删除,导致精度下降,因为一旦删除就难以恢复。2)训练很费时间。

本文提出了 pruning 和 splicing 来解决文献【9】的问题。其中 splicing 主要是来解决删除重要的连接,就是把已经删除的重要连接恢复回来。

本文的流程和文献【9】的流程对比:

这里写图片描述
这里写图片描述

3 Dynamic Network Surgery

动态网络外科手术的示意图如下所示:

这里写图片描述
这里写图片描述

这里我们用 W_k 表示CNN网络参数矩阵, 二值矩阵 T_k 表示 W_k 对应的项是否被删除。

由于在删除一些网络的连接,会导致网络其他连接的重要性发生改变,所以通过优化最小损失函数来训练删除后的网络比较合适。 优化问题表达如下:

这里写图片描述
这里写图片描述

参数迭代如下:

这里写图片描述
这里写图片描述

算法流程如下:

这里写图片描述
这里写图片描述

3.3 Parameter Importance 其中用于表示网络连接的重要性 h 函数定义如下:

这里写图片描述
这里写图片描述

3.4 Convergence Acceleration 为了加快训练速度,我们采用以下两个策略: 1)减少删除连接的概率,因为删除连接导致网络发生变化,导致训练难以收敛 2)卷积层和全链接层分开删裁连接,类似于文献【9】

4 Experimental Results

这里写图片描述
这里写图片描述
这里写图片描述
这里写图片描述
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2016年11月18日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档