2.1. Machine Learning Applications¶
In general terms, machine learning is a technology that learns useful knowledge from data. There are a variety of machine learning methods, including supervised learning, unsupervised learning, and reinforcement learning.
In supervised learning, the mapping relationships between inputs and outputs are known to machines. For example, a discrete label can be assigned to an input image.
In unsupervised learning, input data is provided to machines without any labels assigned. For example, to distinguish cats and dogs among a group of images, a machine needs to learn by itself the characteristics of cats and dogs in order to classify them. This unsupervised classification is also called clustering.
In reinforcement learning, an algorithm that runs on the machine automatically improves itself to achieve the task objective in a given learning environment. A well-known example of this is AlphaGo, in which the rules of Go serve as the learning environment and the victory score is set as the task objective.
Machine learning is applied in a variety of fields — computer vision, natural language processing (NLP), and intelligent decision-making, to name just a few. Computer vision, in a narrow sense, includes all image-based applications, such as facial recognition, object recognition, target tracking, human pose estimation, and image understanding. It is widely used in autonomous driving, smart city, smart security, and other scenarios.
NLP involves both text- and speech-related applications, including language translation, text-to-speech and speech-to-text conversion, text understanding, and image style transfer. NLP and computer vision overlap in many aspects. For instance, in order to generate text description for images, or to generate or process images based on texts, machines need to handle both language and image data.
Intelligent decision-making is usually achieved through technical means such as computer vision, NLP, reinforcement learning, and cybernetics. It is widely used in many scenarios, such as robotics, autonomous driving, games, recommender systems, smart factories, and smart grids.
These machine learning applications use different underlying algorithms — such as support vector machine (SVM), logistic regression, and naive Bayes — based on the needs and characteristics of the applications. In recent years, deep learning has progressed significantly thanks to the availability of massive data, development of neural network algorithms, and maturity of hardware accelerators. But despite a wide variety of machine learning algorithms, the vast majority of computation work still relies on vector and matrix operations, regardless of whether classical or deep learning algorithms are employed. In this book, we therefore discuss machine learning systems that employ neural networks.