Modern machine learning methods have been around for more than 10 years, but it seems that recently there is a trend to add machine learning to a wider range of applications including medicine, agriculture, and even IoT devices. This trend results from the the growing capacity of mobile devices, chips specialized in AI, and the growing accessibility of AI platforms which produce more compact models. For example, one of the biggest technical accomplishments announced at Google I/O 2019 is the creation of a language processor will fit inside a phone, and not even a high-end phone. That means that our mobile devices, even without internet connection, will have text to speech functionality, reducing network latency and associated cost. So these compact models that can fit in small devices make these devices more self-sufficient, which is triggering the possibility to create applications that make use of AI models in real-time and offline applications. We now are starting to see nice application examples of these advancements, from crop disease detection in Africa to real-time apps that teach you how to dance.
As noted above, the platforms are getting more accessible. TensorFlow is Google’s open source cross-platform machine learning framework. It covers all the steps in building a learning model. There are many built-in operations to develop, train, and develop machine learning and deep learning, but the flow is also sufficiently flexible to allow expert users to add specific operations or customizations. Modern machine learning applications frequently requires data sets collected from mobile apps. To provide easy of scalability and it maybe advantages to collect and store such data in Firebase. To facilitate access to such data sets and the deployment of models, Google provides ML Kit for Firebase, which automates a lot of common use cases and provides a integrated and optimized solution for mobile.
So which scenarios are suitable for machine learning? As humans, if we want to learn something, we need to try it and see if it works or we can learn from the experience of others. Same with computers, if we have a scenario where we are able to tests our inputs (the faster, the better) or if we have data already classified, and we don’t have a clear closed-form algorithm for solving the problem, then machine learning could be an excellent candidate to find that function for us. Moreover, perhaps the machine learning algorithm could find relationships that were not evident for us before. For example, Google used deep learning for detection diabetic eye disease. In this experiment the researchers were successful in classifying the health and unhealthy images. In addition, after training the neural network for age and gender, they found that the information could be retrieved from the eye images through the use of the model. So not only was the network able to perform the task correctly; it also found a relationship that was no evident even for an experts.
As AI becomes more accessible and platforms and models mature, the applications areas for machine learning are expanding to mobile and embedded applications. Solutions that encompass machine learning can be implemented pretty much on any platform from ML on Firebase to Tensor Lite for embedded micro-controllers.