Resource-Scalable CNN Synthesis for IoT Applications
  State-of-the-art image recognition systems use sophisticated Convolutional
Neural Networks (CNNs) that are designed and trained to identify numerous
object classes. Such networks are fairly resource intensive to compute,
prohibiting their deployment on resource-constrained embedded platforms. On one
hand, the ability to classify an exhaustive list of categories is excessive for
the demands of most IoT applications. On the other hand, designing a new
custom-designed CNN for each new IoT application is impractical, due to the
inherent difficulty in developing competitive models and time-to-market
pressure. To address this problem, we investigate the question of: "Can one
utilize an existing optimized CNN model to automatically build a competitive
CNN for an IoT application whose objects of interest are a fraction of
categories that the original CNN was designed to classify, such that the
resource requirement is proportionally scaled down?" We use the term resource
scalability to refer to this concept, and develop a methodology for automated
synthesis of resource scalable CNNs from an existing optimized baseline CNN.
The synthesized CNN has sufficient learning capacity for handling the given IoT
application requirements, and yields competitive accuracy. The proposed
approach is fast, and unlike the presently common practice of CNN design, does
not require iterative rounds of training trial and error.
