If you watched the Google I/O 2017, you definitely remember the speech by Google CEO Sundar Pichai about the company shifting from the mobile first approach to AI first.
This fact alone speaks about the highly prospective future for artificial intelligence. And, as expected, Google wants to be the top player in this niche. Another argument for this conclusion is the company making over 20 acquisitions of AI products. Finally, to prove that they are serious about artificial intelligence development not just as another source for earning money, but as a technology of the future, Google open sourced the engine behind all their AI projects - TensorFlow.
One of the most powerful tools for creating intelligent applications is now accessible to everyone. But this is not the only AI framework available on the market right now. Why is TensorFlow so good? What are the alternatives? Which artificial intelligence framework is the best fit for a particular project? These are the questions we are going to answer in this article.
How to develop artificial intelligence software?
Artificial intelligence refers to the ability of a machine to think like a human and to make decisions a human would make in the same given situation. Some programs even imply the ability of self-development, enabling the machine to improve its skills from its own experience. Such an approach is called machine learning.
However, programming a machine to think and to learn by itself isn’t easy. It requires a handful of skills and a scientific background to build an artificial intelligence application. Fortunately, there are some solutions that are making the artificial intelligence app development easier and faster, and help to ensure high quality software. We are speaking about frameworks and libraries containing standardized pre-written code. To explain it briefly, they enable you to reuse some basic functionality, so you don’t have to develop the product from scratch.
TensorFlow
The fact that Google open sourced its artificial intelligence framework TensorFlow was a true sensation. The exact algorithm behind Google Photos - the program that uses deep learning to analyze and process pictures, became available for everyone at no extra cost. With this generosity, Google intends to drive AI development and stimulate the realization of fresh ideas.
TensorFlow is a library for Python programming language with a focus on deep learning, which uses neural networks - algorithms inspired by the human nervous system. Its computational models allow others to use the cases as well. This library is also used for implementing natural language processing (NLP), speech recognition or computer vision in the application.
Additionally, in November 2017, Google launched TensorFlow Lite in developer preview. This is a lightweight solution that promises high performing artificial intelligence applications for mobile and IoT devices.
TensorFlow is already being used by some of the world’s biggest companies. The artificial intelligent framework website lists Airbnb, Nvidia, Uber, eBay, Twitter among them. Google uses TensorFlow to make other awesome projects possible.
For example, Smart Reply is available to Gmail users, and can automatically create and send replies to any email. It also learns to recognize which emails you mark as spam, which responses you choose and which you deny to offer more customized texts. This helper is saving us tons of time!
The Chrome extension Text Summarizer is another product that became possible due to TensorFlow. The tool can summarize longer texts in one or several sentences and is highly efficient when it comes to news or scientific reports, where only the facts matter.
As Tensorflow is supported by Google, the library is reliable and always up to date with the newest features. The community is huge and support from other TensorFlow users is very appreciated.
Theano
Theano, a framework for scientific computing, is written in Python and focuses on deep learning. One of its main objectives is to simplify the creation of neural networks. One of the major advantages of Theano is its support of various Python libraries, which give the developers many more options. Sometimes Theano is described as a programming language that runs on top of Python, but this doesn’t change the fact that this is one of the most powerful tools for developing AI applications.
The learning curve is quite high. The artificial intelligence framework was created by a research team at the University of Montreal and academic expertise in machine learning is preferred when working with Theano. The framework isn’t easy to implement and use, but the flexibility it grants enables users to build new and unusual models.
For a long time, Theano was the best solution for deep learning and is currently the main competitor of Google’s TensorFlow. However, over the last ten years, since the development of Theano has started, several solutions built on top of it have appeared and contributed to the popularity of the artificial intelligence framework.
Lasagne is a lightweight library based on Theano. It is used to build and train neural networks. Lasagne is not as powerful as its predecessor, but it has a big advantage - simplicity of use. So, if your AI project doesn’t require complex computations, you can spare your resources and use Lasagne as a central tool.
Keras is a neural network API that can run on top of both Theano and TensorFlow. Keras is perfect for experiments as it enables easy and fast prototyping that focuses on user experience.
In November 2017, Theano 1.0.0 was released. It is claimed to be last release of Theano, since the service faces heavy competition with commercial artificial intelligence development tools. Theano will be still available for development teams and AI enthusiasts, but the community can’t count on new features or other improvements.
Torch
Torch is a scientific computing framework for Lua programming language. This is both an advantage and disadvantage of the framework. Lua is lightweight, relatively easy to learn and extremely fast. However, it is not common among researchers or among commercial developers, and the need to learn a new programming language often forces developers to look for alternatives.
Torch includes pre-trained models, modules, and ready functionality, making the development of neural networks much easier and faster. You will also appreciate the flexibility delivered by this tool.
Torch is open-source and therefore very popular. Industry giants like Facebook, Google, Twitter, IBM and Yandex have used it to create their AI projects. Recently, this artificial intelligence framework was extended for use on iOS and Android.
Recognizing the problem of low traction, the creators of Torch released the beta of PyTorch - a framework with the same advantages, but based on Python. Hopefully, this step will broaden the audience of this tool, which is definitely worthwhile.
TensorFlow, Theano, Torch offer great solutions for commercial projects, but their true power is released in scientific computing. That’s why, for some projects they are an overkill - too powerful and too difficult to implement due to specific programming languages or the need for a deep understanding of machine learning. Though, being open source still keeps them ahead of AI development libraries.
There are also tools that focus primarily on commercial projects and offer flexibility, high development speed, and a low learning curve in exchange for purchasing a license.
IBM Watson
One such tool is the machine learning platform IBM Watson. The nice thing is that it offers a variety of ready solutions for different user cases. Although they need to be customized to every specific case, the skeleton of the feature is already there for you.
Watson Education contributes to personalizing the learning process; Watson Commerce helps to offer and sell more relevant items to your customers; Watsons IoT enriches this sphere with AI to make the processes more efficient. With tens of other AI products released by Watson, there is definitely something for your project as well!
When compared to TensorFlow or Theano, IBM Watson doesn’t require academic knowledge for creating artificial intelligence. It is simple to implement and focuses on solving specific tasks.
Amazon Web Services
Another service that makes machine learning accessible to everyone is Amazon Web Services (AWS). We have already described the AWS tools every business will benefit from, but the machine learning services are also worth mentioning.
Amazon Lex enables the building of conversational interfaces using speech and text. This tool combines speech recognition and natural language understanding to recognize the intent of the text and react properly. Amazon Lex is the technology at the core of Amazon Alexa. Building sophisticated bots that act natural in both written and oral conversation is now easier than ever.
Amazon Translate is the only service that offers 100% neural machine translation for supported languages. This ensures the highest quality and naturality of the translated text regardless of the volume. Amazon Translate can have various user cases, such as rough localization of websites and applications or real-time translation for conversational interfaces (chat, email, etc.).
Amazon Polly is capable of transforming text in various languages into lifelike speech. It even enables you to choose from several voices and accents, and to select the speech style that will most appeal to your target audience.
AWS machine learning tools cover almost every possible implementation of AI in commercial projects. In addition, they support work with TensorFlow, Theano, Torch and other artificial intelligence frameworks to extend the functionality.
Conclusion
Artificial intelligence is the future. More and more companies have begun to implement AI algorithms to improve production, delivery or management processes. This became possible due to frameworks and tools, which took artificial intelligence from research institutes and laboratories and brought it to the real world.
In November 2015, Google decided to share its experience in machine learning by open sourcing TensorFlow - the framework that empowered Google Photos with AI. Theano and Torch are expanding from scientific computing and are already being used in commercial projects. These artificial intelligence frameworks are open source and offer you the true power of creating intelligent programs for the benefit of your business.
Another group of tools for building artificial intelligence are platforms that offer half-ready customizable solutions, depending on the current need of the business. IBM Watson and machine learning tools from Amazon Web Services focus on solving specific problems and enable you to implement AI algorithms into your software without reinventing the wheel. Although you will have to pay for this convenience, the solutions offered by such services are usually worth it. They don’t require deep knowledge on AI development and, as a result, reduce the cost of development.
As you can see, the market of tools for artificial intelligence app development is diverse. You can find the right framework not only for the development aim, but also considering the programming languages you use, your background in AI, the project budget and your personal preferences.
Artificial intelligence development is young but very promising. It brings unbelievable prospects to different spheres of human life, including healthcare, engineering, e-commerce, education, etc.