Stanford1 -- Noisy Neural Network Compression for Analog Storage Devices
本文来自 stanford 组,原文标题
Noisy Neural Network Compression for Analog Storage Devices
Introduction
背景
本文的背景是用模拟器件存储NN weights capacity更大但同时
- 更加 noisy。通常情况下, 这个 noise 为 cell 中的数值经过非线性函数处理。
- 输入范围有限制(具有最大和最小值限制), 意味着我们需要对输入进行缩放处理。
Motivation
本文的motivation是说
以往的研究主要将work建模为AWGN噪声(Upadhyaya等,2019;Zhou等,2020),但实际情况并非如此。
现有的NN压缩技术(Han等, 2016; Oktay等, 2019)通常忽略了存储过程中微小噪声对系统性能的影响(Achille等, 2019),因此本研究旨在提出一种新的NN压缩方法。
Methdology
本文基于传统信息论设计了一种编码译码算法方案,旨在将经过压缩处理的模型参数高效地存儲在模拟设备中。该方案包含两个主要研究方向:(a) 通过融合剪枝技术、知识蒸餾算法以及其它先进的监督式降维方法(如Guo et al., 2016; Frankle & Carbin, 2019; Hinton et al., 2015; Polino et al., 2018; Xie et al., 2020)来构建一个高效的神经网络架构;(b) 在模型降噪的过程中采用多种编码策略以确保所得到的参数表示能够更好地抵御存储噪声的影响。我们的研究目标包括两个方面:其一是最小化因模型压缩而导致的性能损失;其二是最大限度地降低所需的存储空间需求。
作者提及在后续的工作中将联合设计(a) (b) (目前还是分开的, (b) 基于 (a))。
结果overview
作者的实验
- 本研究详细分析了噪声对压缩模型性能的影响及其缓解策略。
- 证实上述研究结果表明神经网络权重在剪枝方面表现出极强的一致性(Han et al., 2016; Frankle & Carbin, 2019)。具体而言,在剪枝过程中大部分权重表现出很强的一致性。
- 在存储过程中发现(a)建议额外使用一个单元来保存权重符号;(b)对于大小不一的参数分别采用不同的编码方式以实现冗余控制。
- 这种改进方法显著提升了分类器的结果表现。
举个例子来说吧!如果我们采用了一种简陋的方法来存储经过剪枝的ResNet-18模型,在对抗噪声方面我们需要投入多达1000个cells/weight才能最终实现无噪状态下的准确率;相比之下作者提出的方法只需投入1个cells/weight却仅导致了性能下降幅度为零点五 percent.
具体方法
该作者选择将 PCM 设为模拟存储方案的原因在于其输出电导值具有连续性。每个 PCM 存储单元相当于一个通信信道,在此过程中其输入与输出关系如上图所示。

可以看到,在输入输出之间体现了一种非线性关系;然而总体上可以用一个非线性均值项加上高斯噪声项来描述。因此第一步我们所做的就是建立一个非线性均值模型并消除其影响;第二步则是对抗高斯噪声的影响。
Inverting the channel
该研究者基于图1采用了k-近邻分类器来建立了mean与输入之间的关系,并将此关系表示为\mu。假设这个信道函数为C,那么通过利用\mu来进行补偿处理后能够得到\phi = C \circ \mu^{-1}
这就相当于把信道变成了一个一条直线,即 \phi(x)=x+\epsilon.
对于任意给定的一个输入样本X_i∈R^d(由于输入数据被限定在区间[−0.65, 0.75]之间),我们首先对它进行归一化处理(即通过线性变换将其缩放到单位区间),随后将处理后的数据通过信道传输至细胞中存储,并最终通过逆归一化操作恢复出原始数值X_i^*。接下来计算输出权重w_{out}的过程如下:w_{out}= \frac{\phi(\alpha w_{in}- \beta)+ \beta}{\alpha}= w_{in} + \frac{\epsilon}{\alpha}
在这个式子中, α值越大越好, 由于噪声variance较小. 然而无法无限制增大α值的原因是输入 α·w_in必须保持在特定范围内. 由此可见, 当weight较小时, 我们可以选择较大的α值.
Sign protection
NNs通常会呈现出很强的稀疏性特征(即便是在剔除极小数值后的处理过程中)。这表明,在经过缩放处理后,大量的权重数值变得极其接近于零;经过噪声干扰后,大部分权重符号被改变了。为了提高效率和稳定性,在处理过程中作者采用了单独存储权重符号的方法。进一步优化时可将缩放因子α提升一倍。
Adaptive mapping
一种对抗噪声 \epsilon 的策略是通过增加cell数量(相当于重复码)来实现抗干扰效果。随后作者建议我们可以采用一个简单的标准:即当权重值超过 0.05 时选择较小的衰减因子 \alpha_{low} ,而当权重值低于 0.05 时则选择较大的衰减因子 \alpha_{high} 。
Adaptive redundancy
随后该作者进一步指出,在数量有限且具有重要意义的前提下,在average cell时态下增加大参数的cell数目能够带来更有优势的效果。
ok,以上就是本文的所有trick,还是比较trivial的。
