ディープニューラルネットワーク用の新しいグローバル圧縮フレームワークを紹介します。これは、各レイヤーを自動的に分析して、最適なレイヤーごとの圧縮率を特定すると同時に、目的の全体的な圧縮を実現します。私たちのアルゴリズムは、チャネルを複数のグループにスライスし、低ランクの分解によって各グループを分解することによって、各畳み込み(または完全に接続された)層を圧縮するというアイデアに基づいています。私たちのアルゴリズムの中核は、Eckart YoungMirskyの定理からのレイヤーごとのエラー範囲の導出です。次に、これらの境界を利用して、レイヤー全体の最大圧縮エラーを最小化し、ソリューションに向けた効率的なアルゴリズムを提案する最適化問題として、圧縮問題を組み立てます。私たちの実験は、私たちの方法が、広範囲のネットワークとデータセットにわたって既存の低ランクの圧縮アプローチよりも優れていることを示しています。私たちの結果は、現代のニューラルネットワークのグローバルなパフォーマンスサイズのトレードオフに関する将来の研究への新しい道を開くと信じています。私たちのコードはhttps://github.com/lucaslie/torchpruneで入手できます。
We present a novel global compression framework for deep neural networks that automatically analyzes each layer to identify the optimal per-layer compression ratio, while simultaneously achieving the desired overall compression. Our algorithm hinges on the idea of compressing each convolutional (or fully-connected) layer by slicing its channels into multiple groups and decomposing each group via low-rank decomposition. At the core of our algorithm is the derivation of layer-wise error bounds from the Eckart Young Mirsky theorem. We then leverage these bounds to frame the compression problem as an optimization problem where we wish to minimize the maximum compression error across layers and propose an efficient algorithm towards a solution. Our experiments indicate that our method outperforms existing low-rank compression approaches across a wide range of networks and data sets. We believe that our results open up new avenues for future research into the global performance-size trade-offs of modern neural networks. Our code is available at https://github.com/lucaslie/torchprune.