What this book covers
Chapter 1, Machine Learning and the Need for Data, introduces you to ML. You will understand the main difference between non-learning- and learning-based solutions. Then, the chapter explains why deep learning models often achieve state-of-the-art results. Following this, it gives you a brief idea of how the training process is done and why large-scale training data is needed in ML.
Chapter 2, Annotating Real Data, explains why ML models need annotated data. You will understand why the annotation process is expensive, error-prone, and biased. At the same time, you will be introduced to the annotation process for a number of ML tasks, such as image classification, semantic segmentation, and instance segmentation. You will explore the main annotation problems. At the same time, you will understand why ideal ground truth generation is impossible or extremely difficult for some tasks, such as optical flow estimation and depth estimation.
Chapter 3, Privacy Issues in Real Data, highlights the main privacy issues with real data. It explains why privacy is preventing us from using large-scale real data for ML in certain fields such as healthcare and finance. It demonstrates the current approaches for mitigating these privacy issues in practice. Furthermore, you will have a brief introduction to privacy-preserving ML.
Chapter 4, An Introduction to Synthetic Data, defines synthetic data. It gives a brief history of the evolution of synthetic data. Then, it introduces you to the main types of synthetic data and the basic data augmentation approaches and techniques.
Chapter 5, Synthetic Data as a Solution, highlights the main advantages of synthetic data. In this chapter, you will learn why synthetic data is a promising solution for privacy issues. At the same time, you will understand how synthetic data generation approaches can be configured to cover rare scenarios that are extremely difficult and expensive to capture in the real world.
Chapter 6, Leveraging Simulators and Rendering Engines to Generate Synthetic Data, introduces a well-known method for synthetic data generation using simulators and rendering engines. It describes the main pipeline for creating a simulator and generating automatically annotated synthetic data. Following this, it highlights the challenges and the state-of-the-art research in this field, and briefly discusses two simulators for synthetic data generation.
Chapter 7, Exploring Generative Adversarial Networks, introduces Generative Adversarial Networks (GANs) and discusses the evolution of this method. It explains the typical architecture of a GAN. After this, the chapter illustrates the training process. It highlights some great applications of GANs including generating images and text-to-image translation. It also describes a few variations of GANs: conditional GAN, CycleGAN, CTGAN, WGAN, WGAN-GP, and f-GAN. Furthermore, the chapter is supported by a real-life case study and a discussion of the state-of-the-art research in this field.
Chapter 8, Video Games as a Source of Synthetic Data, explains why to use video games for synthetic data generation. It highlights the great advancement in this sector. It discusses the current research in this direction. At the same time, it features challenges and promises toward utilizing this approach for synthetic data generation.
Chapter 9, Exploring Diffusion Models for Synthetic Data, introduces you to diffusion models and highlights the pros and cons of this synthetic data generation approach. It casts light on opportunities and challenges. The chapter is enriched by a discussion of ethical issues and concerns around utilizing this synthetic data approach in practice. In addition to that, the chapter is enriched with a review of the state-of-the-art research on this topic.
Chapter 10, Case Study 1 – Computer Vision, introduces you to a multitude of industrial applications of computer vision. You will discover some of the key problems that were successfully solved using computer vision. In parallel to this, you will grasp the major issues with traditional computer vision solutions. Additionally, you will explore and comprehend thought-provoking examples of using synthetic data to improve computer vision solutions in practice.
Chapter 11, Case Study 2 – Natural Language Processing, introduces you to a different field where synthetic data is a key player. It highlights why Natural Language Processing (NLP) models require large-scale training data to converge. It shows examples of utilizing synthetic data in the field of NLP. It explains the pros and cons of real-data-based approaches. At the same time, it shows why synthetic data is the future of NLP. It supports this discussion by bringing up examples from research and industry fields.
Chapter 12, Case Study 3 – Predictive Analytics, introduces predictive analytics as another area where synthetic data has been used recently. It highlights the disadvantages of real-data-based solutions. It supports the discussion by providing examples from the industry. Following this, it sheds light on the benefits of employing synthetic data in the predictive analytics domain.
Chapter 13, Best Practices for Applying Synthetic Data, explains some fundamental domain-specific issues limiting the usability of synthetic data. It gives general comments on issues that can be seen frequently when generating and utilizing synthetic data. Then, it introduces a set of good practices that improve the usability of synthetic data in practice.
Chapter 14, Synthetic-to-Real Domain Adaptation, introduces you to a well-known issue limiting the usability of synthetic data called the domain gap problem. It represents various approaches to bridge this gap. At the same time, it shows current state-of-the-art research for synthetic-to-real domain adaptation. Then, it represents the challenges and issues in this context.
Chapter 15, Diversity Issues in Synthetic Data, introduces you to another well-known issue in the field of synthetic data, which is generating diverse synthetic datasets. It discusses different approaches to ensure high diversity even with large-scale datasets. Then, it highlights some issues and challenges in achieving diversity for synthetic data.
Chapter 16, Photorealism in Computer Vision, explains the need for photo-realistic synthetic data in computer vision. It highlights the main approaches toward photorealism, its main challenges, and its limitations. Although the chapter focuses on computer vision, the discussion can be generalized to other domains such as healthcare, robotics, and NLP.
Chapter 17, Conclusion, summarizes the book from a high-level view. It reminds you about the problems with real-data-based ML solutions. Then, it recaps the benefits of synthetic data-based solutions, challenges, and future perspectives.