Embracing Machine Learning as a Mobile Developer

Regular attendees of tech conferences might have noticed that pushing toward AI and machine learning is one thing that’s consistent across all tech giants, including Apple , Google , Amazon, and Microsoft.

For example, this year’s Google I / O was largely focused on machine learning, artificial intelligence, and how it’s going to revolutionize the world.

And me, as an Android developer and someone who has a bad case of FOMO, I started looking into any and all resources that could help me get a kickstart with using machine learning and AI in my development projects.

Now here’s where things got interesting—a majority of courses and tutorials available online focused heavily on the math behind machine learning, which, to be honest, is as dull and as boring as machine learning sounds interesting and exciting.

Now don’t get me wrong here, I’m definitely not advocating that you don’t need to learn all the math behind machine learning. What I want to outline here instead is that jumping into learning all these things directly requires a lot of commitment and time dedication from your side.

As a full time app developer, you always need to stay up to date with the latest happenings in your respective domain. Given this, full time dedication to learning machine learning might not be possible.

Plus, while you’re learning all the math and statistics, there’s no way to relate things to your real life like we can while learning new concept in Android / iOS. This lack of concrete application can in turn result in lack of motivation to continue.

I personally faced these roadblocks while struggling to get into machine learning and decided to try alternative approach to learning ML.
Thanks to this alternative approach, I was able to hype my brain up and motivate myself enough to go through all the math behind machine learning.

I’ll be outlining my entire approach below, so sit tight and grab some popcorn while you’re at it;)

Look before you leap!

As the above saying suggests, it’s a good idea to know what the end goal of your entire learning process is going to be and what types of solutions are possible using machine learning.

There are some very good cross platform products available on the market (both Google and non-Google) that can help you get a taste of what is possible and possibly get you excited!

Some of the tools I’ve tried include:

  1. Google Cloud AutoML (Beta):
    This machine learning solution from Google infers information from a given dataset without you having to write even a single line of code. You can really create some very complicated machine learning models using AutoML, but the catch here is that if your dataset exceeds a specific limit. But it’s very good for experimenting regardless.
  2. Firebase ML Kit (Beta):
    I personally started by experimenting with the newly released Firebase ML Kit and experimenting with the built-in APIs it had to make simple ML-powered Android apps. ML Kit has built-in APIs for some very common actions along with running for custom model generated using AutoML.
  3. Fritz Mobile SDK :
    Fritz has a mobile solution that has not only some built-in APIs for common machine learning-based problems like Object Detection and Image Labeling, but it also allows you to go ahead and run the custom model generated from AutoML above! (Disclaimer: Heartbeat is sponsored by Fritz)

Reading List:

This exploratory/experimental phase gives you a very good idea about what’s out there and possibly some good ideas for apps that you can make that utilize machine learning.

The Leap of Faith

While the solutions above give you a general overview of what machine learning is capable of, they might not be enough to give your brain the high needed to stay motivated through the math that we’ll be facing later on.

This part involved creating and training your own model. But the mathematical part of things remains an abstraction.

This is where you’ll encounter TensorFlow, which is going to be your best friend throughout your journey as a machine learning mobile developer.

Fortunately, Google has an amazing codelab available—TensorFlow For Poets—which guides you through creating and training a custom image classification model. This guide teaches you the basics of data collection, model optimization, and other key components involved in creating your own model.

This codelab is divided into two parts. The first part covers creating and training the model, and the second part is focused on TensorFlow Lite which is mobile version of TensorFlow that allows you to run the same model on a mobile device.

The codelab covers a very basic example of classifying between different kind of flowers, but you can extend the example to create a custom model of your own, which I did and eventually ended up creating a real life Pokédex!

Note : The model you create here can be integrated into an Android app by using Firebase’s ML Kit or the Fritz SDK (see above). You can check out a comprehensive guide for doing so here :

Riding the Waves! 🌊

Going through the concepts covered above will hopefully excite and motivate you enough to go ahead and confront the math and statistics involved in machine learning.

Here’s one way to think about diving deeper into the most common algorithms and concepts involved in machine learning while also ensuring you don’t go too far and feel overwhelmed.

Start with understanding 1 concept and algorithm per week, along with a sample project that uses that algorithm. Then, gradually increase this number when/if you start feeling comfortable.

Below, I’ve listed some resources that have worked well for me so far. Go through these to get a better handle on the math behind machine learning. Ideally, you’ll want to go through the courses and resources in the order in which I’ve listed them.

  1. Calculus
    Love it or hate it, machine learning is where your high school math will be put to the test. If you’re rough around the edges like me, these byte sized videos will ensure that you have the basics covered.
  2. Machine Learning Crash Course by Google
    An introductory machine learning crash course aimed at giving you an overview of machine learning with TensorFlow.
  3. Siraj Raval’s YouTube Channel
    Need I say more? This is the best channel you can follow to see sample projects done using machine learning. Siraj Raval also has some very good playlists that have structured machine learning videos.
  4. Fast.ai
    Deep learning course that places you in the driver’s seat and focuses on learning by doing.
  5. Kaggle
    Kaggle is the GitHub for data science with a huge number of datasets available for free for anyone to use. There are also daily competitions which reward you for exceptional performance.
  6. Explore
    Learning is a lifelong process, so explore and experiment as much as you can!

So that’s all for this one, I hope that the resources listed above help keep your brain hyped up for machine learning, because machine learning is not just hype anymore, and the sooner you catch up with it, the better!

If you have questions or any feedback about any of the topics outlined above, or if you know of a good resource that was not covered in the blog post above, please do comment below.

Thanks for reading! If you enjoyed this story, please click the 👏 button and share to find others! Feel free to leave a comment 💬 below.

Have feedback? Let’s connect on Twitter.

Do you want to start building awesome Android Apps? Check out my course on Coding Bocks .

Discuss this post on Hacker News.

Fritz

Our team has been at the forefront of Artificial Intelligence and Machine Learning research for more than 15 years and we're using our collective intelligence to help others learn, understand and grow using these new technologies in ethical and sustainable ways.

Comments 0 Responses

Leave a Reply

Your email address will not be published. Required fields are marked *

wix banner square