ゼロからのトレーニングは、畳み込みニューラルネットワーク(CNN)ベースのモデルを構築するための最も一般的な方法です。以前に構築したCNNモデルのパーツを再利用して、新しいCNNモデルを構築できるとしたらどうでしょうか。 (おそらく欠陥のある)パーツを他のパーツと交換することでCNNモデルを改善できるとしたらどうでしょうか?どちらの場合も、トレーニングの代わりに、モデル内の各出力クラス(モジュール)の原因となる部分を特定し、必要な出力クラスのみを再利用または置換してモデルを構築できますか?以前の作業では、さまざまなシナリオで再利用性と交換可能性を実現するために、高密度ベースのネットワークをモジュール(出力クラスごとに1つ)に分解することが提案されています。ただし、この作業は密なレイヤーに限定され、連続するレイヤーのノード間の1対1の関係に基づいています。 CNNモデルの共有アーキテクチャのため、以前の作業を直接適応させることはできません。この論文では、画像分類問題に使用されるCNNモデルを各出力クラスのモジュールに分解することを提案します。これらのモジュールは、新しいモデルを構築するためにさらに再利用または交換できます。 ResNetモデルの3つのバリエーションを持つCIFAR-10、CIFAR-100、およびImageNetの小さなデータセットを使用してアプローチを評価し、分解を可能にするためのコストが小さいことを発見しました(トップ1およびトップ5の精度で2.38%および0.81%、それぞれ)。また、モジュールを再利用または交換してモデルを構築すると、平均精度が2.3%および0.5%低下します。さらに、これらのモジュールを再利用および交換すると、モデルを最初からトレーニングする場合と比較して、CO2e排出量が約37分の1に削減されます。
Training from scratch is the most common way to build a Convolutional Neural Network (CNN) based model. What if we can build new CNN models by reusing parts from previously build CNN models? What if we can improve a CNN model by replacing (possibly faulty) parts with other parts? In both cases, instead of training, can we identify the part responsible for each output class (module) in the model(s) and reuse or replace only the desired output classes to build a model? Prior work has proposed decomposing dense-based networks into modules (one for each output class) to enable reusability and replaceability in various scenarios. However, this work is limited to the dense layers and based on the one-to-one relationship between the nodes in consecutive layers. Due to the shared architecture in the CNN model, prior work cannot be adapted directly. In this paper, we propose to decompose a CNN model used for image classification problems into modules for each output class. These modules can further be reused or replaced to build a new model. We have evaluated our approach with CIFAR-10, CIFAR-100, and ImageNet tiny datasets with three variations of ResNet models and found that enabling decomposition comes with a small cost (2.38% and 0.81% for top-1 and top-5 accuracy, respectively). Also, building a model by reusing or replacing modules can be done with a 2.3% and 0.5% average loss of accuracy. Furthermore, reusing and replacing these modules reduces CO2e emission by ~37 times compared to training the model from scratch.