如何测量模型剪枝的“舍”

雷锋网 AI 科技评论按:深度学习模型运行需要大量的计算、内存和功耗,为了解决模型模型运行的瓶颈,研究者提出了一系列模型压缩方法,其中就包括模型剪枝,能够有效地减小内存、功耗,提高计算效率。

然而,“每一枚硬币都有正反两面”,模型剪枝在获得诸多益处的同时,势必也会造成一定的“舍”。这些损失到底是什么?针对不同的模型以及在不同的场景下,模型剪枝产生的影响又有何不同呢?

图2~图4展示了每个类别的 ImageNet PIE 样本,每个图下方的标注包括的信息有:(1)参考正确标注,(2)基线未剪枝模型预测标注,(3)最常用的 ResNet-50 剪枝模型预测标注。

(3)参考正确标注: 学位帽,未剪枝模型预测标注: 学位袍,剪枝模型预测标注: 学位帽

但令人困惑的是:剪枝网络的能力似乎对泛化性能的影响很小。将 Top-1 准确度的性能成本平摊到所有类别后似乎是很小的,但如果成本仅集中在少数几个类别中该怎么办? 剪枝是否会对某类样本或类别产生不成比的影响?

图4   抽象分类:分类对象是抽象形式的 PIE 样本,例如使用不同材质的绘画,绘图或渲染,每张图片的标注结果如下:

在这项工作中我们提出了一个正式的框架,该框架用于识别在剪枝和未剪枝模型之间的有巨大分歧或泛化能力差异的类别和图像。我们发现引入稀疏性对剪枝已识别的示例(Pruning Identified Exemplars ,PIE)和类别的系统影响更大。

(3)参考正确标注: 草帽,未剪枝模型预测标注: 牛仔帽,剪枝模型预测标注: 面团

参与人将一半以上的 PIE 图像归类为具有错误的参考正确标注或描绘了多个物体。不完整结构数据的过度索引表明,像 ImageNet 这样的单个图像分类任务的参数量激增,可能能更好地解决在数据清理管道中的问题。

(3)参考正确标注: 安全帽 ,未剪枝模型预测标注: 防毒面具,剪枝模型预测标注: 镜头盖

(4)参考正确标注: 桨,未剪枝模型预测标注: 桨,剪枝模型预测标注: 独木舟

(5)参考正确标注: 万圣节南瓜,未剪枝模型预测标注: 万圣节南瓜,剪枝模型预测标注: 灯罩

(8)参考正确标注: 摇椅,未剪枝模型预测标注: 摇椅,剪枝模型预测标注: 理发椅

PIE 对单一图像分类任务的不完整结构数据过度标注。对于这些图像,预测正确可能是对看不见数据的泛化能力的不充分估计。例如,大多数人仍然认为,剪枝模型预测西装而不是新郎的参考正确标注是准确的。新郎穿着西服,因此两种标注是可以接受的。但是,这种预测将受到诸如 top-1 准确度之类指标的惩罚。

(1)参考正确标注: 洗浴盆,未剪枝模型预测标注: 大锅,剪枝模型预测标注: 炒菜锅

1990年,一篇题为“ 最佳脑损伤”(《最优脑损伤》)的论文颇受欢迎 [4]。该论文是第一批 [5,6,7]提出——我们可以通过类似于生物突触修剪的方式来修剪深度神经网络的“过度能力”的论文。

图3  细粒度分类:图像集描绘了语义上与其他各种类别接近的物体的 PIE 样本(例如,石蟹和招潮蟹,铁甲和护胸甲),每张图片的标注结果如下:

(4)参考正确标注: 浓咖啡,未剪枝模型预测标注: 浓咖啡,剪枝模型预测标注: 红酒

(1)参考正确标注: 咖啡壶,未剪枝模型预测标注: 咖啡机,剪枝模型预测标注: 咖啡壶

(3)参考正确标注: 摇篮,未剪枝模型预测标注: 摇篮车,剪枝模型预测标注: 摇篮

(8)参考正确标注: 防浪堤,未剪枝模型预测标注: 湖边,剪枝模型预测标注: 海滨

(7)参考正确标注: 圣诞袜,未剪枝模型预测标注: 袜子,剪枝模型预测标注: 圣诞袜

3、剪枝会大大降低图像损坏和自然对立图像的稳健性。

(7)参考正确标注: 迷宫,未剪枝模型预测标注: 迷宫,剪枝模型预测标注: 填字游戏

(6)参考正确标注: 煤气泵,未剪枝模型预测标注: 煤气泵,剪枝模型预测标注: 红绿灯

图5  频繁同时出现的标注:在同一图片中多个对象频繁同时出现的 PIE 样本。这是因为两个标注在某些情况下都可以描述同一物体,例如炮弹和导弹。每张图片的标注结果如下:

(8)参考正确标注: 啤酒瓶,未剪枝模型预测标注: 啤酒瓶,剪枝模型预测标注: 防晒霜

(5)参考正确标注: 灰鲸,未剪枝模型预测标注: 灰鲸,剪枝模型预测标注: 虎鲸

为了更好地理解 PIE 为什么对能力更敏感,我们进行了一项小范围参与人调研(85名参与者),发现 ImageNet 测试集中描绘多个物体或需要进行详细分类的 PIE 更容易被错误标注。

(6)参考正确标注: 屏幕, 未剪枝模型预测标注: 屏幕,剪枝模型预测标注: 电视

下文为这项工作的官方解读:

(7)参考正确标注: 豪华轿车,未剪枝模型预测标注: 鲍勃雪橇,剪枝模型预测标注: 雪犁

一、深层神经网络剪枝会丢失什么?

(2)参考正确标注: 菜花,未剪枝模型预测标注:菜花,剪枝模型预测标注: 洋蓟

(1)参考正确标注: 卫生纸,未剪枝模型预测标注: 浴巾,剪枝模型预测标注: 大白鲨

(4)参考正确标注: 谷,未剪枝模型预测标注: 谷,剪枝模型预测标注: 高山

(7)参考正确标注: 炮弹,未剪枝模型预测标注: 导弹,剪枝模型预测标注: 炮弹

(6)参考正确标注: 培养皿,未剪枝模型预测标注: 浓咖啡,剪枝模型预测标注: 培养皿

(6)参考正确标注: 酒瓶 ,未剪枝模型预测标注: 红酒, 剪枝模型预测标注: 酒瓶

(5)参考正确标注: 网球,未剪枝模型预测标注: 网球,剪枝模型预测标注: 网球拍

(2)参考正确标注: 铁甲,未剪枝模型预测标注: 护胸甲,剪枝模型预测标注: 铁甲

(1)参考正确标注: 理发椅,未剪枝模型预测标注: 理发椅,剪枝模型预测标注: 理发店

(5)参考正确标注: 斗篷,未剪枝模型预测标注: 防毒面具,剪枝模型预测标注: 护胸甲

(2)参考正确标注: 睡袋,未剪枝模型预测标注: 围裙,剪枝模型预测标注: 围嘴

(2)参考正确标注: 马桶座圈,未剪枝模型预测标注: 马桶座圈,剪枝模型预测标注: 折椅

(4)参考正确标注: 汽水瓶,未剪枝模型预测标注: 餐厅,剪枝模型预测标注: 理发店

我们工作的主要发现概括如下:

从表面上看,使用剪枝方法就能确保你可以解决几乎所有问题。最先进的剪枝方法去除了大部分权重,同时最小化top-1 准确度的降低[8]。这些新的精简网络需要更少的内存和能源消耗,并且能更快地进行预测。

2、我们称受剪枝影响最大的示例为“ 剪枝已识别的示例”(PIE),剪枝和未剪枝模型对它进行分类都更加困难。

如今我们有很多合适的剪枝方法可以选择,并且剪枝模型可能已经应用在你手机中的许多算法上。

PIE 是在一组独立训练的剪枝模型和未剪枝模型之间最频繁产生不同的预测结果的图像。我们聚焦于研究开源数据集(例如 ImageNet ),发现对于剪枝模型和未剪枝模型而言,对 PIE 图像进行分类都更加困难。

图2  非典型示例: 从给定类别的图像分布来看,人类会将图像视为不寻常或异常的PIE样本。每张图片的标注结果如下:

在深度神经网络用于敏感任务(例如招聘 [9,10]、医疗保健诊断 [11、12] 或自动驾驶汽车 [13,14])时,了解这些取舍是至关重要的。

(1)参考正确标注: 浴缸,未剪枝模型预测标注: 浴缸,剪枝模型预测标注: 黄瓜

1、剪枝最好被描述为“选择性脑损伤”。剪枝对每个类别的影响都不一样;稀疏性的引入对一小部分类别会产生不成比的系统影响。

对于这些任务,引入剪枝方法可能与避免区别对待受保护属性和/或需要保证某些特定类别的召回水平[15、16、17、18、19]的公平目标相悖。由于将模型部署到手机或嵌入式设备的资源限制,这些领域中已被普遍应用了剪枝方法[20]。

所有的这些特性使剪枝后的模型非常适合用于将深度神经网络部署到资源受限的环境中。

在从婴儿到成年这段期间,大脑的突触数量先增加然后下降。突触修剪(Synaptic Pruning)通过去除多余的神经元并增强对环境最有用的突触连来提高效率。

图5~图7展示了每类的 ImageNet PIE 样本。每个图的标注分为:(1)参考正确标注,(2)未剪枝基线模型预测标注,(3)最常用的 ResNet-50 剪枝模型预测标注。

人类在2岁至10岁之间会失去 50%的全部突触,但大脑仍会继续工作[1]。“用它或丢掉它”一词经常用来描述突触修剪学习过程中的环境影响,但关于突触修剪究竟使大脑丢失了什么,人们却鲜有科学共识[2,3]。

图1   突触修剪去除了多余的神经元并增强对环境最有用的连接。(图片由Seeman提供,1999年)

图6 不正确或不充分的参考正确标注:不正确的参考正确标注或人类没有足够的信息来判断正确标注的 PIE 示例。每张图片的标注结果如下:

将测试集限制为随机的 PIE 图像样本会严重降低 top-1 的准确度,从测试集中删除 PIE 可以提高剪枝模型和未剪枝模型的 top-1 准确度。剪枝似乎使深度神经网络“忘记”了已经存在的较高预测不确定性的样本。

二、PIE:剪枝已识别的示例

(8)参考正确标注: 玉米,未剪枝模型预测标注: 玉米,剪枝模型预测标注:(玉米)穗

在深度神经网络中,研究者可以通过将权重值设置为零,来修剪(在神经网络中的描述为“剪枝”)或从网络中删除的权重。

(2)参考正确标注: 新郎,未剪枝模型预测标注: 新郎,剪枝模型预测标注: 西装

(3)参考正确标注: 塑料袋,未剪枝模型预测标注: 长袍,剪枝模型预测标注: 塑料袋