Engineering Software for Mobile Deep Learning
Brown Bag Lecture by Dr. Stanley Zhaohui Liang | 8/22/2017 11AM – 12PM | 7th Floor Conference Room, Bldg 38A
Abstract: Deep learning (DL) is the state-of-the-art machine learning method for image processing. The mainstream language for deep learning is Python with multiple libraries such as TensorFlow and Keras by Google, CNTK by Microsoft, and Theano by University of Montreal. In addition, DL can be implemented based on various independent programming language libraries such as Deeplearning4J in Java, Caffe in C++, Torch in Lua, and the Neural Network or the MatConvNet Toolbox in MATLAB. Mobile deep learning refers to the application and implementation of DL on mobile devices such as smartphones and tablet computers. The objective of mobile deep learning is to deploy the well-trained DL models for different machine learning tasks including classification, object detection, and segmentation etc.
This talk will start with a brief overview of the application of DL for image classification focusing on the selection strategy for different Stochastic Gradient Descent (SGD) algorithms and the design patterns of a convolutional neural network architecture (CNN). Then, it will present the typical software pipeline for training a CNN model in Java with the Deeplearning4J library, the UI to visualize CNN training, and the deployment of a well-trained CNN model to Android Studio with an Android Emulator for execution on a smartphone.
As a practical example, the talk will show how a CNN model with six convolutional layers and two batch normalization layers can be trained to classify between malaria-infected and uninfected red blood cells. For evaluation, two ten-fold cross validations are run respectively in Java and Python with similar outcomes and classification accuracy at 94.5%. The last part of the talk will discuss the software architecture for implementing DL on the Android system, and a brief outlook to implementing the fast-recurrent convolutional neural network (FRCNN) algorithm with Keras in Python.
Bio: Stanley Zhaohui Liang is a PhD student in Electric Engineering and Computer Science at the Lassonde School of Engineering, York University, Toronto, Canada. He received a Master in Information Systems and Technologies from York University in June 2017, a PhD in medical sciences in 2013, and a MPH in 2009. He is a registered traditional Chinese medicine practitioner (R. TCMP) and registered acupuncturist (R. Ac) in the Province of Ontario, Canada, registered physician in China, and instructor of artificial intelligence at Helix Summer Science Institute, York University.