ICCV 2019 提前看 | 三篇论文,解读神经网络压缩

神经网络 压缩方向是目前深度学习研究的一个热门的方向,其主要的研究方向是压缩,蒸馏,网络架构搜索,量化等。在 ICCV2019 中,不少的研究单位和学者都发表了 神经网络 压缩方向的论文。本文主要以其中三篇论文来研究 神经网络 压缩的目前发展趋势。

论文 1:基于元学习 的模型压缩《MetaPruning: Meta Learning for Automatic Neural Network Channel Pruning》

论文地址:https://arxiv.org/abs/1903.10258

1 论文主旨概述

Meta learning 论文是旷世研究院提出的一种 神经网络 压缩方法。通道剪枝 [1] 作为一种 神经网络 的压缩方法被广泛的实现和应用,一般剪枝算法通过对预训练的大网络裁剪次要的通道,之后微调,得到最终的剪枝网络。随着 AutoML[2] 的发展,metapruning 利用 autoML 的自动寻找最优结构的特点,脱离了人工设计的局限以及弥补剪枝算法的依赖数据的不足。本文从 元学习 的角度出发,直接用 元学习 得到剪枝网络(pruned networks)的结构以及自生成 权重 ,而不是保留原始网络的重要参数。

2 方法:

近年来,有研究 [3] 表明无论是否保存了原始网络的权值,剪枝网络都可以达到一个和原始网络相同的 准确率 。因此,通道剪枝的本质是逐层的通道数量,也就是网络结构。鉴于此项研究,Metapruning 决定直接保留裁剪好的通道结构,区别于剪枝的裁剪哪些通道。

本文提出来一个 Meta network,名为 PruningNet,可以生成所有候选的剪枝网络的 权重 ,并直接在验证集上评估,有效的搜索最佳结构。

  • Pruningnet training

PruningNet 是一个 meta network,以一组网络编码向量 (c1,c2,,,cl) 为输入,输出为剪枝网络的 权重 。一个 PruningNet 的训练方式如下图 (1) 所示:

图(1)PruningNet 的随机训练方法

图 (1) 中,PruningNet 由多个 block 组成,其中的每个 block 由两个全连接层组成。

在前向过程中,PruningNet 以网络编码向量(即剪枝网络的每层通道数)为输入,生成 权重 矩阵。同时,剪枝网络以网络编码向量中的数值为输出通道,并将生成的 权重 矩阵裁剪匹配剪枝网络的输入输出。对于一个 batach 的输入图像,我们可以计算带 权重 的剪枝网络的前向损失。

在反向过程中,本文并不是更新剪枝网络的 权重 ,而是计算 PruningNet 的梯度,更新 PruningNet 的 权重 (全连接层参数)。

在整个训练过程中,由于所有的操作都是可微的,所以能够进行端到端的学习。通过随机生成不同的网络编码向量,可以得到不同的剪枝网络结构。

专业用户独享

本文为人工智能站深度精选内容,专业认证后即可阅读全文
开启专业认证
理论 模型压缩 无需数据的蒸馏 基于样本的蒸馏 神经计算
9