ほとんどの既存のディープニューラルネットワークは静的です。つまり、固定された複雑さでのみ推論を行うことができます。ただし、リソースバジェットはデバイスによって大幅に異なる可能性があります。単一のデバイスでも、手頃な予算はさまざまなシナリオで変化する可能性があり、必要な予算ごとにネットワークを繰り返しトレーニングすると、非常にコストがかかります。したがって、この作業では、MutualNetと呼ばれる一般的な方法を提案して、さまざまなリソース制約のセットで実行できる単一のネットワークをトレーニングします。私たちの方法は、さまざまなネットワーク幅と入力解像度でモデル構成のコホートをトレーニングします。この相互学習スキームにより、モデルをさまざまな幅解像度構成で実行できるだけでなく、これらの構成間で固有の知識を伝達し、モデルが全体としてより強力な表現を学習できるようにします。 MutualNetは、さまざまなネットワーク構造(2Dネットワーク:MobileNets、ResNet、3Dネットワーク:SlowFast、X3Dなど)およびさまざまなタスク(画像分類、オブジェクト検出、セグメンテーション、アクション認識など)に適用できる一般的なトレーニング方法です。さまざまなデータセットで一貫した改善を実現することが実証されています。モデルを1回だけトレーニングするため、複数のモデルを個別にトレーニングする場合に比べて、トレーニングコストも大幅に削減されます。驚いたことに、動的なリソースの制約が問題にならない場合は、MutualNetを使用して単一のネットワークのパフォーマンスを大幅に向上させることもできます。要約すると、MutualNetは、静的および適応型の2Dおよび3Dネットワークの両方に統合された方法です。コードと事前トレーニング済みモデルは、https://github.com/taoyang1122/MutualNetで入手できます。
Most existing deep neural networks are static, which means they can only do inference at a fixed complexity. But the resource budget can vary substantially across different devices. Even on a single device, the affordable budget can change with different scenarios, and repeatedly training networks for each required budget would be incredibly expensive. Therefore, in this work, we propose a general method called MutualNet to train a single network that can run at a diverse set of resource constraints. Our method trains a cohort of model configurations with various network widths and input resolutions. This mutual learning scheme not only allows the model to run at different width-resolution configurations but also transfers the unique knowledge among these configurations, helping the model to learn stronger representations overall. MutualNet is a general training methodology that can be applied to various network structures (e.g., 2D networks: MobileNets, ResNet, 3D networks: SlowFast, X3D) and various tasks (e.g., image classification, object detection, segmentation, and action recognition), and is demonstrated to achieve consistent improvements on a variety of datasets. Since we only train the model once, it also greatly reduces the training cost compared to independently training several models. Surprisingly, MutualNet can also be used to significantly boost the performance of a single network, if dynamic resource constraint is not a concern. In summary, MutualNet is a unified method for both static and adaptive, 2D and 3D networks. Codes and pre-trained models are available at https://github.com/taoyang1122/MutualNet.