Machine learning is needed to extract meaningful and actionable information from huge amounts of data. A significant amount of computation is required to analyze huge amounts of data and arrive at an inference. This processing is ideal for a cloud environment. However, if we could carry out machine learning on a mobile, the following would be the advantages:
- Machine learning could be performed offline, as there would be no need to send all the data that the mobile has to the network and wait for results back from the server.
- The network bandwidth cost incurred, if any, due to the transmission of mobile data to the server is avoided.
- Latency can be avoided by processing data locally. Mobile machine learning has a great deal of responsiveness as we don't have to wait for connection and response back from the server. It might take up to 1-2 seconds for server response, but mobile machine learning can do it instantly.
- Privacy—this is another advantage of mobile machine learning. There is no need to send the user data outside the mobile device, enabling better privacy.
Machine learning started in computers, but the emerging trend shows that mobile app development with machine learning implemented on mobile devices is the next big thing. Modern mobile devices show the high productive capacity level that is enough to perform appropriate tasks to the same degree as traditional computers do. Also, there are some signals from global corporations that confirm this assumption:
- Google launched TensorFlow for Mobile. There is very significant interest from the developer community also.
- Apple has launched Siri SDK and Core ML and now all developers can incorporate this feature into their apps.
- Lenovo is working on their new smartphone that also performs without an internet connection and executes indoor geolocation and augmented reality.
- There is significant research being undertaken by most of the mobile chip makers, whether it is Apple, Qualcomm, Samsung, or even Google itself, working on hardware dedicated to speeding up machine learning on mobile devices.
- There are many innovations happening in the hardware layer to enable hardware acceleration, which would make machine learning on mobile easy.
- Many mobile-optimized models such as MobileNets, Squeeze Net, and so on have been open sourced.
- The availability of IoT devices and smart hardware appliances is increasing, which will aid in innovation.
- There are more use cases that people are interested in for offline scenarios.
- There is more and more focus on user data privacy and users' desire for their personal data not to leave their mobile devices at all.
Some classic examples of machine learning on mobile devices are as follows:
- Speech recognition
- Computer vision and image classification
- Gesture recognition
- Translation from one language into another
- Interactive on-device detection of text
- Autonomous vehicles, drone navigation, and robotics
- Patient-monitoring systems and mobile applications interacting with medical devices