Machine Learning (ML) on mobile apps not only sounds futuristic, but also brings in some intelligent business applications use cases associated with its implementation. However, it is good to be aware that it also carries hard-hitting challenges in its implementation process. Here we discuss about the challenges and strategies to get machine learning capabilities on to mobile.
Challenges in Having ML on mobile
There are many challenges in implementing Machine Learning on a mobile app. Here we present the list of major challenges that are often discussed in the professional circles:
- Machine Learning is a data-intensive operation. For the training phase, the larger the data set, better the accuracy of the results. It is not uncommon to see multiple gigabytes of information being used for seemingly simple tasks such as object recognition.
- Machine Learning needs clean and accurate pre-processed data training. This means usually there are humans sorting and cleaning up the data to make sure it doesn't have any biases and reflects the real world as accurately as possible. This helps the machine to understand situations better by learning through examples, just like humans. This process is referred to as Deep Learning.
- Machine Learning is a memory and processing intensive operation. Usually training is done on high-end machines with huge memories and GPU's with great processing power to do the training - usually taking multiple hours or days.
Strategies to get Machine Learning on Mobile Platform
Here we list the strategies that can guide the process of having Machine Learning benefits on mobile apps:
1. Store the Trained Models on the Cloud, and Consume it Over API
This simplifies the app development, as making predictions or delivering other output is just matter of an API call. But it is to be kept in mind that this increases time to output and mandates a network connection.
2. Store the Trained Models on the Device Itself
This will have the disadvantage of increasing the app size / requiring an initial download. However, there are lots of advantages this approach brings in:
- Latency: Response times are very fast as everything will be happening locally on the device
- Availability: output is guaranteed, irrespective of internet connectivity, server traffic, etc
- Privacy: Guarantee the user that their personal data is not leaving their device and going to some enterprise cloud
- Cost to User: there is no bandwidth usage after the initial download of the app
- Cost to Company: there is no back end required to process 1000s of requests from all of the app users all the time
3. Do the Machine Learning on the Device
This is an option (in Android for now), but probably not widely applicable yet, due to low availability of high-spec devices capable of doing machine learning. But soon in the future, many device manufacturers are coming up with dedicated hardware for machine learning on the device itself, like Google’s TPU (Tensor Processing Unit).
Want to gain more knowledge on developmental/implementation aspects of Machine Learning/ Artificial Intelligence for mobile platforms? Feel free to consult our mobile experts.
About the Author
Aswin Kumar is a Mobile Solutions at V-Soft Consulting. Aswin leads the design and development that collaborates with leading companies to build mobile capabilities for existing and newly innovative platforms. Aswin and his team understand the requirement for back-end integration of cloud or premise based systems with a mobile application that delivers industry leading results for the enterprise. Aswin also leads the emerging technology initiatives like AR, AI, and ML.
Connect with Aswin on LinkedIn here, email avarma@vsoftconsulting.com, or learn more about how mobile enablement done right can transform your company here.