We’ve all played with Google Now, Apple’s Siri and Microsoft’s Cortana. These voice assistants always give us a delightful time, their presence in our devices makes us connect with them. We even call them our “BFF”. But how does Siri or Cortana know that when we say orange, she has to look for references to orange, specifically, and not an apple? How does Siri know about our current mood? The answer is Machine Learning. It is the field of study that gives computers the ability to learn without explicitly programming them. As that may seem a pretty decent explanation, it brings us to the following questions..
What has TensorFlow got to do with Machine Learning?
Well, just as we would require a pen or a pencil to write (a tool to perform a specific task), TensorFlow is the tool which we can use to present our computers with the ability to learn. In a nutshell, TensorFlow is a software library for various kinds of machine learning tasks. It uses data flow graphs for mathematical computations. The nodes in the graph represent the mathematical operations while the edges represent the multidimensional data arrays (tensors) communicated between them.
Well, that’s awesome! But who came up with TensorFlow?
Do we have some wild guesses….?
Alright then… TensorFlow is originally developed by none other than our good old friend Google! Yay!
The Google Brain team are the original developers of TensorFlow, to be specific. All Google products initially used DistBelief. DistBelief is the first-generation, proprietary machine learning system used by Google in all its products. These products include Google Now, Google Photos, Google Street, YouTube and so on. Google later felt the need to re factor DistBelief into a more faster and robust application-grade library which ultimately became TensorFlow.
TensorFlow is Google Brains’ second generation machine learning system. The reference implementation was released as open source software in November 2015. It is licensed under Apache 2.0 open source license.
So what are the features of TensorFlow?
Given that it is developed as a re factored version of DistBelief, TensorFlow is bound to have a host of improvements.
While DistBelief was geared specifically towards one type of machine-learning technique, called neural networks, TensorFlow on the other hand is designed to accommodate different approaches. This accounts to one of the features of TensorFlow – deep flexibility.
TensorFlow prominently deals with a specific branch of Machine learning which is ‘Deep Learning’. Deep learning involves huge amount of data processing that consumes a plethora of resources. TensorFlow helps get all the muscle packed in your system to work together to get through these resource intensive computations.
Moreover, it can work on CPUs, GPUs, Cloud, your mobile devices, almost everywhere! So portability is another feature.
TensorFlow is open source. Google has given the power in the hands of the “open sourcers” to collaborate and make advancements in the project.
Google offers a Python API (more support) and a faster C++ API (less support) to help developers begin with TensorFlow. Machine learning is the key ingredient for the smart software recipe and making TensorFlow available to all could be a motivational step from Google.
Great! So how is it changing our lives?
With the advent of TensorFlow or similar such machine learning libraries and frameworks, the world of software will change rapidly. And given that we have a many to many dependency between us and the softwares, our lives will experience a drastic change too.
We may soon have softwares which learn from us and our activities and will blend themselves accordingly. There are innumerable possibilities which will completely transform the way we interact with our devices.
Let’s have our imagination take over from this point onward…
- TensorFlow official website
- Wikipedia article
- Google official blog
- What is TensorFlow and why is Google so excited about it?