幅を大きくすると必然的にモデルの容量が増えるため、ニューラルネットワークの幅は重要です。ただし、ネットワークのパフォーマンスは幅に比例して向上せず、すぐに飽和状態になります。この場合、ネットワーク(アンサンブル)の数を増やすと、純粋に幅を増やすよりも精度と効率のトレードオフが向上する可能性があると主張します。それを証明するために、1つの大きなネットワークは、そのパラメーターと正則化コンポーネントに関していくつかの小さなネットワークに分割されます。これらの小さなネットワークはそれぞれ、元のネットワークの一部を持っています。次に、これらの小さなネットワークを一緒にトレーニングし、同じデータのさまざまなビューを表示して、多様性を高めます。この共同トレーニングプロセス中に、ネットワークは相互に学習することもできます。その結果、小規模なネットワークは、追加のパラメーターやFLOPがほとんどまたはまったくない大規模なネットワークよりも優れたアンサンブルパフォーマンスを実現できます。小規模なネットワークは、異なるデバイスで同時に実行することにより、大規模なネットワークよりも速い推論速度を実現することもできます。広範な実験を通じて、一般的なベンチマークで8つの異なるニューラルアーキテクチャを使用して議論を検証します。コードはhttps://github.com/mzhaoshuai/Divide-and-Co-trainingで入手できます。
The width of a neural network matters since increasing the width will necessarily increase the model capacity. However, the performance of a network does not improve linearly with the width and soon gets saturated. In this case, we argue that increasing the number of networks (ensemble) can achieve better accuracy-efficiency trade-offs than purely increasing the width. To prove it, one large network is divided into several small ones regarding its parameters and regularization components. Each of these small networks has a fraction of the original one's parameters. We then train these small networks together and make them see various views of the same data to increase their diversity. During this co-training process, networks can also learn from each other. As a result, small networks can achieve better ensemble performance than the large one with few or no extra parameters or FLOPs. Small networks can also achieve faster inference speed than the large one by concurrent running on different devices. We validate our argument with 8 different neural architectures on common benchmarks through extensive experiments. The code is available at https://github.com/mzhaoshuai/Divide-and-Co-training.