One reason AI has become so accessible recently is the advent of tools such as TensorFlow. By providing a wide range of predefined artificial neural network (ANN) models and hiding and abstracting much of the messy detail around their underlying algorithms, TensorFlow enables developers to focus on higher-level matters such as application logic and data flow.
It’s been over two years since TensorFlow’s initial open-source release, and in that time it has seen numerous enhancements and refinements. What does the future hold for this tool? Are there alternatives that developers can consider as well?
TensorFlow grew out of a proprietary machine learning initiative at Google called DistBelief, which was started in 2011. In 2015 it was renamed TensorFlow and released for evaluation as an open-source project. The name ”TensorFlow” stems from the underlying architecture, in which multidimensional arrays called “tensors” undergo computational operations in the various nodes of the model. Version 1.0.0 was released in early 2017, and a variant called TensorFlow Lite, intended for mobile device integration, was released a few months later.
In 2016, Google also designed and implemented an application-specific integrated circuit (ASIC), or a special purpose hardware processor, called the Tensor Processing Unit (TPU). The TPU increases the number-crunching throughput for running machine-learning applications. Google has been using TPUs in its data centers and has reported outstanding results.
TensorFlow provides a number of advantages for developers who want to break in to the world of machine learning:
Because of its nature as an open-source project, we can look forward to additional enhancements, an expanding model library, and improvements to give developers more control over the behavior of their applications. One shortcoming of TensorFlow is that models trained on different systems can behave slightly differently, causing the applications to produce different results given the same input data. (The reasons have to do with low-level differences in how different operating systems generate random numbers, handle high-precision mathematical computations, and so on.) One initiative on the TensorFlow roadmap is to address these issues.
On a brighter note, the TensorFlow project recently released TensorFlow.js, a JavaScript library for implementing TensorFlow applications in the browser and on Node.js. This gives developers yet another popular language and platform on which to develop and train TensorFlow applications.
TensorFlow’s success and popularity has unsurprisingly attracted competitors, such as:
Each of these competitors has its strengths and weaknesses, as well as niche areas in which it excels. However, TensorFlow’s long head start, broad developer base, and ease of use are expected to keep it the go-to machine learning tool for years to come.
Regardless of what happens with TensorFlow or any other machine learning tool, the future of machine learning application development is bright. Look for applications powered by machine learning to crop up in many aspects of our lives in the near future. At AndPlus we are particularly excited about what these tools mean for our ability to provide top-notch applications for our clients. Call us today to talk about how machine learning development can address your business problems.