Skip to main content
QUICK REVIEW

[论文解读] Decomposing Convolutional Neural Networks into Reusable and Replaceable Modules

Rangeet Pan, Hridesh Rajan|arXiv (Cornell University)|Oct 11, 2021
Advanced Neural Network Applications被引用 4
一句话总结

本文提出将卷积神经网络(CNNs)分解为针对各类别的专用模块——每个模块作为单一输出类别的二分类器——实现无需微调即可复用和替换。该方法仅导致1.77%的top-1准确率下降,与从零开始训练相比,二氧化碳当量(CO₂e)排放量最高可降低37倍,从而实现高效、可持续的模型适配。

ABSTRACT

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 (1.77% and 0.85% 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.

研究动机与目标

  • 解决为新任务或故障组件从零开始微调CNN所带来的高计算成本和环境负担。
  • 通过识别类别特定组件,将CNN的模块化特性从全连接网络扩展至卷积网络。
  • 支持对单个模块进行复用和替换,以修复错误或在不进行完整微调的情况下适配模型。
  • 通过模块化组合最小化冗余训练,降低深度学习相关的碳排放。
  • 为计算机视觉应用中的可持续、渐进式模型演化提供一个框架。

提出的方法

  • 训练一个用于图像分类的CNN,并将其分解为模块,每个模块是负责一个输出类别的二分类器。
  • 采用数据驱动方法,识别网络中与每个输出类别相关的激活模式和参数贡献。
  • 将每个模块构建为子网络,其输入尺寸与原始模型相同,通过相关特征图和权重输出二元判断(该类别是否存在)。
  • 通过对齐输入维度和特征层级,确保模块间的兼容性,使其可在具有相似输入规格的模型间复用。
  • 通过将模块集成到新架构中,实现对新模型的模块替换或复用,同时保留原始模型的结构和推理流程。
  • 使用功耗监控工具(如Intel Power Gadget)测量CO₂e排放,对比基于分解的复用/替换与完整微调的碳排放差异。

实验结果

研究问题

  • RQ1尽管存在共享卷积权重,卷积神经网络是否能有效分解为按类别可复用和可替换的模块?
  • RQ2与原始模型相比,将训练好的CNN分解为类别专用模块所带来的准确率损失有多大?
  • RQ3在不进行微调的情况下,模块的复用与替换在多大程度上能提升模型性能或修复故障行为?
  • RQ4通过复用或替换模块而非从零开始训练,能实现多大程度的CO₂e排放减少?
  • RQ5在不同数据集和模型架构中应用模块复用与替换时,实际的权衡与限制是什么?

主要发现

  • 分解带来的准确率损失极小:在CIFAR-10、CIFAR-100和ImageNet Tiny上,top-1准确率下降1.77%,top-5准确率下降0.85%。
  • 复用或替换模块后,平均top-1准确率损失为2.3%,top-5损失为0.5%,表明具有很强的迁移能力。
  • 与从零开始训练相比,复用或替换模块可使CO₂e排放量最高降低37倍。
  • 一次性分解的碳排放分别为CIFAR-10(116磅)、CIFAR-100(371磅)和ImageNet-200(3,800磅)CO₂e,与微调相比可忽略不计。
  • 在替换场景中,与从零开始训练相比,CO₂e排放量最高降低42倍(最佳模型)和31.5倍(固定训练轮次)。
  • 该方法可实现实用的故障分类修复方案——例如,用修正后的大猩猩分类器替换故障模块,而无需重新训练整个模型。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。