要約
Convolution-BatchNorm (ConvBN) ブロックは、さまざまなコンピューター ビジョン タスクやその他のドメインに不可欠なコンポーネントです。
ConvBN ブロックは、Train、Eval、Deploy の 3 つのモードで動作できます。
Train モードはモデルを最初からトレーニングする場合に不可欠ですが、Eval モードは転移学習以降に適しており、Deploy モードはモデルのデプロイメント用に設計されています。
このペーパーでは、ConvBN ブロックの安定性と効率の間のトレードオフに焦点を当てます。デプロイ モードは効率的ですが、トレーニングが不安定になります。
Eval モードは転移学習で広く使用されていますが、効率が不十分です。
このジレンマを解決するために、デプロイ モードで観察されるトレーニングの安定性の低下の背後にある理由を理論的に明らかにします。
続いて、Eval モードと Deploy モードの間のギャップを埋めるための新しい Tune モードを提案します。
提案された Tune モードは転移学習の Eval モードと同じくらい安定しており、その計算効率は Deploy モードの計算効率とほぼ一致します。
5 ドルのデータセットと 12 ドルのモデル アーキテクチャにわたるオブジェクトの検出、分類、敵対的な例の生成に関する広範な実験を通じて、提案された Tune モードが GPU メモリのフットプリントとトレーニング時間を大幅に削減しながらパフォーマンスを維持し、それによって転送のための効率的な ConvBN ブロックに貢献することを実証しました。
学習とその先へ。
私たちの手法は、PyTorch (一般的な機械学習フレームワーク) と MMCV/MMEngine (コンピューター ビジョン フレームワーク) の両方に統合されています。
PyTorch の組み込み機械学習コンパイラーのおかげで、実践者は 1 行のコードを記述するだけで効率的な ConvBN ブロックを利用できます。
要約(オリジナル)
Convolution-BatchNorm (ConvBN) blocks are integral components in various computer vision tasks and other domains. A ConvBN block can operate in three modes: Train, Eval, and Deploy. While the Train mode is indispensable for training models from scratch, the Eval mode is suitable for transfer learning and beyond, and the Deploy mode is designed for the deployment of models. This paper focuses on the trade-off between stability and efficiency in ConvBN blocks: Deploy mode is efficient but suffers from training instability; Eval mode is widely used in transfer learning but lacks efficiency. To solve the dilemma, we theoretically reveal the reason behind the diminished training stability observed in the Deploy mode. Subsequently, we propose a novel Tune mode to bridge the gap between Eval mode and Deploy mode. The proposed Tune mode is as stable as Eval mode for transfer learning, and its computational efficiency closely matches that of the Deploy mode. Through extensive experiments in object detection, classification, and adversarial example generation across $5$ datasets and $12$ model architectures, we demonstrate that the proposed Tune mode retains the performance while significantly reducing GPU memory footprint and training time, thereby contributing efficient ConvBN blocks for transfer learning and beyond. Our method has been integrated into both PyTorch (general machine learning framework) and MMCV/MMEngine (computer vision framework). Practitioners just need one line of code to enjoy our efficient ConvBN blocks thanks to PyTorch’s builtin machine learning compilers.
arxiv情報
著者 | Kaichao You,Guo Qin,Anchang Bao,Meng Cao,Ping Huang,Jiulong Shan,Mingsheng Long |
発行日 | 2024-02-28 14:34:06+00:00 |
arxivサイト | arxiv_id(pdf) |
提供元, 利用サービス
arxiv.jp, Google