You might’ve heard about Google’s ‘AlphaGo machine learning program’ beating one of the best Go players in the world recently. A feat many thought impossible for years to come. How can this power be used to advance your own company or application? Google offers multiple ways of implementing your own machine learning programs; from technical and mathematical possibilities for data-scientists, to easy to use plug-and-play API’s.
Machine learning API’s
At the moment Google offers 4 different API’s which are very easy to implement. The Cloud speech API converts spoken audio to written text in over 80 different languages. You might’ve seen this one at work on YouTube’s auto-captioning. Another similar API is the Cloud Natural Language API. This one will analyze written texts and offers sentiment analysis (is the text rather positive or negative?), text parsing (verbs, subject, nouns,…) and extraction of well-known people and places. The second to last API is the Cloud Translate API, which most people will have used multiple times in the form of Google Translate. And saving the best for last, we have the Cloud Vision API. Ths API understands what’s pictured in an image. From texts extraction to landmark recognition to facial emotions and much more… In the picture below you can see what Google thinks about a group picture of fourcast at our recent team-building event. Impressive right?
Tensorflow
Where the previously discussed API’s are really easy to use, Tensorflow is way on the other side of the spectrum. Tensorflow is the open-source machine learning library from Google. The API’s mentioned above are made by Google using Tensorflow to build the models. As a data scientist you’re able to program and run all sorts of machine learning algorithms; from ‘simple’ linear regressions to deep neural networks. These algorithms can be used for many different use cases like for example predicting the amount of stock needed in a store on a particular day, recognizing and reading handwriting, or writing a personal assistant like Google Allo. Tensorflow has quite a steep learning curve, but if you push through, the results can be amazing. If you’ve never learned anything about machine learning algorithms, I would suggest reading up on those before attempting to use Tensorflow though…
Cloud ML
Recently (only 2 weeks ago) Google opened CloudML to the general public. It is still in beta but stable enough to be used for experimentation. CloudML could be somewhat summarized as Tensorflow as a service. It lets you use models which have been built with Tensorflow, and train them using the vast power of the Google Cloud. First you write and test your model locally, and when you like the results you can upload it and let it run distributed on the cloud. The important question at the moment is: “Can anyone use CloudML to experiment with Machine Learning?”. The answer in my opinion would be no. You still have to build your own model using Tensorflow (in the future you’ll probably be able to use other people’s models). You also still have to know how to structure your input data properly, as this has a big influence on the performance of your trained model. So even though machine learning is becoming easier to use, data scientists among you have no reason to fear for their jobs, or at least not for the coming few years…
Written by Serge Hendrickx