FitCNN: A cloud-assisted lightweight convolutional neural network framework for mobile devices

Recently convolutional neural networks (CNNs) have essentially reached the state-of-the-art accuracies in image classification and recognition. CNNs are usually deployed in server side or cloud to handle tasks collected from mobile devices, such as smartphones, wearable devices, unmanned systems and so on. However, significant data transmission overhead and privacy issues have made it necessary to use CNNs directly in device side. Nevertheless, the statically trained model deployed on mobile devices cannot effectively handle the unknown data and objects in new environments, which could lead to low accuracy and unsatisfied user experience. Hence, it would be crucial to retrain a better model via future unknown data. However, with tremendous computing cost and memory usage, training a CNN on mobile devices with limited hardware resources is intolerable in practical. To solve this issue, by using the power of cloud is a promising solution to assist mobile devices to train a deep neural network. Therefore, this paper proposes a cloud-assisted lightweight CNN framework, named FitCNN, with incremental learning and low data transmission, to deploy CNNs on mobile devices and make them smarter. To reduce the data transmission during incremental learning, we propose a strategy to selectively upload the data with high learning value, and develop an extracting strategy to choose light weights of the new CNN model trained on the cloud to update the old one on devices. Experimental results show that the selectively uploading strategy can reduce 39.4% uploading transmission based on a certain dataset, and the extracting weights strategy reduces by more than 60% updating transmission with multiple CNNs and datasets.

[1]  Soheil Ghiasi,et al.  CNNdroid: GPU-Accelerated Execution of Trained Deep Convolutional Neural Networks on Android , 2015, ACM Multimedia.

[2]  Yuxin Peng,et al.  Error-Driven Incremental Learning in Deep Convolutional Neural Network for Large-Scale Image Classification , 2014, ACM Multimedia.

[3]  Simon Haykin,et al.  GradientBased Learning Applied to Document Recognition , 2001 .

[4]  Sun Online Ensemble Learning of Data Streams with Gradually Evolved Classes , 2016 .

[5]  Yixin Chen,et al.  Compressing Neural Networks with the Hashing Trick , 2015, ICML.

[6]  Zhi-Hua Zhou,et al.  Hybrid decision tree , 2002, Knowl. Based Syst..

[7]  Ming Yang,et al.  Compressing Deep Convolutional Networks using Vector Quantization , 2014, ArXiv.

[8]  Geoffrey E. Hinton,et al.  ImageNet classification with deep convolutional neural networks , 2012, Commun. ACM.

[9]  Trevor Darrell,et al.  Caffe: Convolutional Architecture for Fast Feature Embedding , 2014, ACM Multimedia.

[10]  Song Han,et al.  Learning both Weights and Connections for Efficient Neural Network , 2015, NIPS.

[11]  Tara N. Sainath,et al.  Deep Neural Networks for Acoustic Modeling in Speech Recognition: The Shared Views of Four Research Groups , 2012, IEEE Signal Processing Magazine.

[12]  Fei-Fei Li,et al.  ImageNet: A large-scale hierarchical image database , 2009, 2009 IEEE Conference on Computer Vision and Pattern Recognition.

[13]  Gaurav Mittal,et al.  SpotGarbage: smartphone app to detect garbage using deep learning , 2016, UbiComp.

[14]  S. Bhattacharya,et al.  Sparsifying Deep Learning Layers for Constrained Resource Inference on Wearables , 2016 .

[15]  Davide Maltoni,et al.  Comparing Incremental Learning Strategies for Convolutional Neural Networks , 2016, ANNPR.

[16]  Byung-Gon Chun,et al.  Augmented Smartphone Applications Through Clone Cloud Execution , 2009, HotOS.

[17]  Song Han,et al.  Deep Compression: Compressing Deep Neural Network with Pruning, Trained Quantization and Huffman Coding , 2015, ICLR.

[18]  Nicholas D. Lane,et al.  An Early Resource Characterization of Deep Learning on Wearables, Smartphones and Internet-of-Things Devices , 2015, IoT-App@SenSys.

[19]  Yoshua Bengio,et al.  BinaryConnect: Training Deep Neural Networks with binary weights during propagations , 2015, NIPS.

[20]  Patrice Y. Simard,et al.  Best practices for convolutional neural networks applied to visual document analysis , 2003, Seventh International Conference on Document Analysis and Recognition, 2003. Proceedings..

[21]  Alex Krizhevsky,et al.  Learning Multiple Layers of Features from Tiny Images , 2009 .

[22]  Steven Bohez,et al.  DIANNE: Distributed Artificial Neural Networks for the Internet of Things , 2015, M4IoT@Middleware.

[23]  Soheil Ghiasi,et al.  GPU-based Acceleration of Deep Convolutional Neural Networks on Mobile Platforms , 2015, ArXiv.

[24]  Yoshua Bengio,et al.  An Empirical Investigation of Catastrophic Forgeting in Gradient-Based Neural Networks , 2013, ICLR.

[25]  Quan Chen,et al.  DjiNN and Tonic: DNN as a service and its implications for future warehouse scale computers , 2015, 2015 ACM/IEEE 42nd Annual International Symposium on Computer Architecture (ISCA).

[26]  Joan Bruna,et al.  Exploiting Linear Structure Within Convolutional Networks for Efficient Evaluation , 2014, NIPS.

[27]  Marc'Aurelio Ranzato,et al.  Building high-level features using large scale unsupervised learning , 2011, 2013 IEEE International Conference on Acoustics, Speech and Signal Processing.

[28]  Soheil Ghiasi,et al.  Fast and Energy-Efficient CNN Inference on IoT Devices , 2016, ArXiv.