« Previous 1 2 3 4
The TensorFlow AI framework
Machine Schooling
Working with Data Sources
Whatever your dealings with neural networks, deep learning, and artificial intelligence may be, you should always remember one thing: Any machine learning engine is only as good as the data on which it trains.
Remember, for example, the Microsoft chatbot Tay, which the company launched on Twitter in 2016. The noble idea was that Tay should develop the ability to communicate like a human by using the training material it obtained from its conversations with users. The result was devastating, probably because trolls deliberately targeted the service: Tay mutated in just under 16 hours to a bully account that had no problem with racist theses and neo-Nazi views, which it openly communicated.
If you are looking for an introduction to TensorFlow, you have several ways to keep such problems away for the time being. On TensorFlow Hub, you can find various pre-trained networks that are the result of previous TensorFlow runs on large, typically generic, datasets, so they form a good basis for automated learning.
Additionally, several projects offer prepared datasets for TensorFlow for a variety of potential objectives. For example, if you want to try out automatic image recognition in the context of neural networks, the dataset by the Aerial Cactus Identification project is a good example. This dataset is exactly what the name suggests: a suitable set of data for training a neural network to recognize cacti automatically in photos (Figure 2).
Another impressive example of a dataset is the MNIST database (Figure 3), which contains nearly 60,000 handwriting samples in the form of single letters, making it a good basis for neural networks that need to be trained to interpret and read handwriting. Once again, the potential of neural networks is evident. Anyone who has ever transcribed old documents by hand that were written in German or English blackletter knows how complicated this task can be. A neural network trained for specific scripts could do this far better, but most importantly, it could do it faster (Figure 4).
The same applies to other tasks. For example, if you want to recognize certain shapes in a series of photos, you can view the pictures yourself or have an AI setup do it. Against this background, the often somewhat strange-looking example data circulating in the TensorFlow environment is understandable (e.g., a database with photos of toys in front of an arbitrary backdrop; Figure 5). Searching the web quickly brings to light other data sets on which TensorFlow neural networks can be used.
Next Steps
An overview article like this can explain what TensorFlow does and what it is used for in practical terms, but a hands-on introduction would take another article. If you want to learn more about TensorFlow, check out the Tensorflow Lite article in this issue. Additionally, you can find many really excellent guides online, some of which TensorFlow itself lists [5].
Keras helps you build a neural network that analyzes images in a very short time. Almost all beginner tutorials rely on Keras because it is easier to use than TensorFlow. All tutorials also contain the dataset needed to do the respective task with Keras. Once you have worked your way through the examples in Keras notation, you'll quickly move on to more advanced models. Although more complicated, they also let you get to the heart of the matter in a very short time.
If you want to look into artificial intelligence, deep learning and neural networks, TensorFlow is the ideal tool. What's more, TensorFlow is future-proof. Google continues to play a very active role in the development of the solution, to which new features are added regularly. The product seems unlikely to disappear, because Google uses TensorFlow itself in various products, such as to process photos from Streetview.
Infos
- TensorFlow https://en.wikipedia.org/wiki/TensorFlow
- Aerial cactus identification: https://www.kaggle.com/c/aerial-cactus-identification
- MNIST: https://en.wikipedia.org/wiki/MNIST_database
- NORB: https://cs.nyu.edu/~ylclab/data/norb-v1.0/
- TensorFlow-Tutorials: https://www.tensorflow.org/tutorials
« Previous 1 2 3 4
Buy this article as PDF
(incl. VAT)