Data-Free Learning of Student Networks
背景
神经网络压缩算法目前根据有无原始数据的参与分为两种。
Data-Driven 类
Hinton 等提出了一种知识蒸馏方法(knowledge distillation,KD),该方法提炼出经过预训练的 teacher 网络的信息,以学习 portable(student)网络【Geoffrey Hinton, Oriol Vinyals, and Jeff Dean. Distilling the knowledge in a neural network. arXiv preprint arXiv:1503.02531, 2015】。Denton 等利用低秩分解(SVD)来处理全连接层的权重矩阵【Emily L Denton, Wojciech Zaremba, Joan Bruna, Yann Le-Cun, and Rob Fergus. Exploiting linear structure within convolutional networks for efficient evaluation. In NIPS, 2014】。Han 等采用修剪、量化和霍夫曼编码来获得紧凑的深度 CNN,使之具有较低的计算复杂度【Song Han, Huizi Mao, and William J Dally. Deep compression: Compressing deep neural networks with pruning, trained quantization and huffman coding. arXiv preprint arXiv:1510.00149, 2015】。Li 等进一步提出了一种特征模拟框架,以训练有效的卷积网络进行目标检测【Quanquan Li, Shengying Jin, and Junjie Yan. Mimicking very efficient network for object detection. In CVPR, pages 7341-7349. IEEE, 2017】。
上述方法在大多数据集上取得了良好的效果,但如果没有原始训练数据集,则很难应用。
Data-Free 类
Lopes 等利用原始训练数据集记录的'元数据'(meta-data)(例如,每层激活的平均值和标准偏差),但大多数训练过的 CNN 很难提供此数据【Raphael Gontijo Lopes, Stefano Fenu, and Thad Starner. Data-free knowledge distillation for deep neural networks. arXiv preprint arXiv:1710.07535, 2017】。Srinivas 和 Babu 提出在完全连接的层中直接合并相似的神经元来压缩网络,但这很难应用于未详细说明结构和参数信息的卷积层和网络【Suraj Srinivas and R Venkatesh Babu. Data-free parameter pruning for deep neural networks. arXiv preprint arXiv:1507.06149, 2015】。
实际上,由于如涉及隐私、传输限制等因素,原始训练数据集和详细的网络结构、参数等很难获取,这就意味着上述两类方法难于应用。
整体架构

GAN 有一个生成器和一个判决器,给定的 teacher 网络同时作为 GAN 的判决器,不对其进行任何更新。Random Signals(随机信号)输入到 GAN 的生成器,变换为模拟的原始数据,由判决器进行识别。生成器生成一组数据后,再通过 KD 方法对 student 网络的参数进行更新。
Data-free Student Network learning
Teacher-Student 关系
由于很难获取原始训练数据集,有时也无法获得参数和详细结构信息。作者从 teacher-student 学习范例来着手。作者认为 KD 并未利用给定网络的参数和体系结构的信息,尽管可能仅提供有限的接口(如输入和输出接口),但仍然可以从 teacher 网络继承一些有用的信息。令 $N_T$ 和 $N_S$ 表示 teacher 网络和所需的 portable/student 网络,可用以下基于知识提炼的损失函数来 optimize student 网络:

其中 $H_{cross}$ 为交叉熵损失,$y_T^i = N_T(x^i)$ 和 $y_S^i = N_S(x^i)$ 分别是 $N_T$ 和 $N_S$ 的输出。利用知识转移技术,可在没有给定网络特定架构的情况下优化 portable 网络。













