実際のデータを使用せずに、トレーニングされたニューラルネットワークを圧縮するための計算効率の高い方法を紹介します。データフリーネットワーク圧縮の問題を、独立したレイヤーごとの圧縮に分解します。事前にトレーニングされたネットワークのみを使用して、レイヤーごとのトレーニングデータを効率的に生成する方法を示します。このデータを使用して、事前にトレーニングされたネットワークで独立したレイヤーごとの圧縮を実行します。また、層ごとの圧縮方法の精度を向上させるためにネットワークを事前調整する方法も示します。量子化と剪定を使用したレイヤーワイズ圧縮の結果を示します。量子化する場合、桁違いに少ない計算を使用しながら、関連する作業よりも高い精度で圧縮します。 MobileNetV2を圧縮してImageNetで評価する場合、この方法はすべてのビット幅で既存の量子化方法を上回り、8ビット量子化で+ 0.34%の改善を達成し、より低いビット幅でより強力な改善を達成します(最大+ 28.50%の改善) 5ビットで)。剪定すると、同様の計算エンベロープのベースラインを上回り、同じ精度でスパース率の1.5倍を達成します。また、効率的な方法と高計算の生成方法を組み合わせて、結果を改善する方法も示します。
We present a computationally efficient method for compressing a trained neural network without using real data. We break the problem of data-free network compression into independent layer-wise compressions. We show how to efficiently generate layer-wise training data using only a pretrained network. We use this data to perform independent layer-wise compressions on the pretrained network. We also show how to precondition the network to improve the accuracy of our layer-wise compression method. We present results for layer-wise compression using quantization and pruning. When quantizing, we compress with higher accuracy than related works while using orders of magnitude less compute. When compressing MobileNetV2 and evaluating on ImageNet, our method outperforms existing methods for quantization at all bit-widths, achieving a +0.34% improvement in 8-bit quantization, and a stronger improvement at lower bit-widths (up to a +28.50% improvement at 5 bits). When pruning, we outperform baselines of a similar compute envelope, achieving 1.5 times the sparsity rate at the same accuracy. We also show how to combine our efficient method with high-compute generative methods to improve upon their results.