Advanced Deep Learning with TensorFlow 2 and Keras
eBook - ePub

Advanced Deep Learning with TensorFlow 2 and Keras

Apply DL, GANs, VAEs, deep RL, unsupervised learning, object detection and segmentation, and more, 2nd Edition

Rowel Atienza

Share book
  1. 512 pages
  2. English
  3. ePUB (mobile friendly)
  4. Available on iOS & Android
eBook - ePub

Advanced Deep Learning with TensorFlow 2 and Keras

Apply DL, GANs, VAEs, deep RL, unsupervised learning, object detection and segmentation, and more, 2nd Edition

Rowel Atienza

Book details
Book preview
Table of contents
Citations

About This Book

Updated and revised second edition of the bestselling guide to advanced deep learning with TensorFlow 2 and Keras

Key Features

  • Explore the most advanced deep learning techniques that drive modern AI results
  • New coverage of unsupervised deep learning using mutual information, object detection, and semantic segmentation
  • Completely updated for TensorFlow 2.x

Book Description

Advanced Deep Learning with TensorFlow 2 and Keras, Second Edition is a completely updated edition of the bestselling guide to the advanced deep learning techniques available today. Revised for TensorFlow 2.x, this edition introduces you to the practical side of deep learning with new chapters on unsupervised learning using mutual information, object detection (SSD), and semantic segmentation (FCN and PSPNet), further allowing you to create your own cutting-edge AI projects.

Using Keras as an open-source deep learning library, the book features hands-on projects that show you how to create more effective AI with the most up-to-date techniques.

Starting with an overview of multi-layer perceptrons (MLPs), convolutional neural networks (CNNs), and recurrent neural networks (RNNs), the book then introduces more cutting-edge techniques as you explore deep neural network architectures, including ResNet and DenseNet, and how to create autoencoders. You will then learn about GANs, and how they can unlock new levels of AI performance.

Next, you'll discover how a variational autoencoder (VAE) is implemented, and how GANs and VAEs have the generative power to synthesize data that can be extremely convincing to humans. You'll also learn to implement DRL such as Deep Q-Learning and Policy Gradient Methods, which are critical to many modern results in AI.

What you will learn

  • Use mutual information maximization techniques to perform unsupervised learning
  • Use segmentation to identify the pixel-wise class of each object in an image
  • Identify both the bounding box and class of objects in an image using object detection
  • Learn the building blocks for advanced techniques - MLPss, CNN, and RNNs
  • Understand deep neural networks - including ResNet and DenseNet
  • Understand and build autoregressive models – autoencoders, VAEs, and GANs
  • Discover and implement deep reinforcement learning methods

Who this book is for

This is not an introductory book, so fluency with Python is required. The reader should also be familiar with some machine learning approaches, and practical experience with DL will also be helpful. Knowledge of Keras or TensorFlow 2.0 is not required but is recommended.

Frequently asked questions

How do I cancel my subscription?
Simply head over to the account section in settings and click on “Cancel Subscription” - it’s as simple as that. After you cancel, your membership will stay active for the remainder of the time you’ve paid for. Learn more here.
Can/how do I download books?
At the moment all of our mobile-responsive ePub books are available to download via the app. Most of our PDFs are also available to download and we're working on making the final remaining ones downloadable now. Learn more here.
What is the difference between the pricing plans?
Both plans give you full access to the library and all of Perlego’s features. The only differences are the price and subscription period: With the annual plan you’ll save around 30% compared to 12 months on the monthly plan.
What is Perlego?
We are an online textbook subscription service, where you can get access to an entire online library for less than the price of a single book per month. With over 1 million books across 1000+ topics, we’ve got you covered! Learn more here.
Do you support text-to-speech?
Look out for the read-aloud symbol on your next book to see if you can listen to it. The read-aloud tool reads text aloud for you, highlighting the text as it is being read. You can pause it, speed it up and slow it down. Learn more here.
Is Advanced Deep Learning with TensorFlow 2 and Keras an online PDF/ePUB?
Yes, you can access Advanced Deep Learning with TensorFlow 2 and Keras by Rowel Atienza in PDF and/or ePUB format, as well as other popular books in Computer Science & Natural Language Processing. We have over one million books available in our catalogue for you to explore.

Information

Year
2020
ISBN
9781838825720
Edition
2

11

Object Detection

Object detection is one of the most important applications of computer vision. Object detection is the task of simultaneous localization and identification of an object that is present in an image. For autonomous vehicles to safely navigate the streets, the algorithm must detect the presence of pedestrians, roads, vehicles, traffic lights, signs, and unexpected obstacles. In security, the presence of an intruder can be used to trigger an alarm or inform the appropriate authorities.
Though important, object detection has been a long-standing problem in computer vision. Many algorithms have been proposed but are generally slow, with low precision and recall. Similar to what AlexNet [1] has achieved in the ImageNet large-scale image classification problem, deep learning has significantly advanced the area of object detection. State-of-the-art object detection methods can now run in real time and have a much higher precision and recall.
In this chapter, we focus on real-time object detection. In particular, we discuss the concept and implementation of single-shot detection (SSD)[2] in tf.keras. Compared to other deep learning detection algorithms, SSD achieves real-time detection speed on modern GPUs without significant degradation in performance. SSD is also easy to train end-to-end.
In summary, the goal of this chapter is to present:
  • The concept of object detection
  • The concept of multi-scale object detection
  • SSD as a multi-scale object detection algorithm
  • The implementation of SSD in tf.keras
We'll begin by introducing the concept of object detection.

1. Object detection

In object detection, the objective is to localize and identify an object in an image. Figure 11.1.1 shows object detection where the target is a Soda can. Localization means that the bounding box of the object must be estimated. Using upper left corner pixel and lower right corner pixel coordinates is a common convention that is used to describe a bounding box. In Figure 11.1.1, the upper left corner pixel has coordinates. (xmin,ymin), while the lower right corner pixel has coordinates (xmax,ymax).The pixel coordinate system has the origin (0,0) at the upper left corner pixel of the entire image.
While performing localization, detection must also identify the object. Identification is the classic recognition or classification task in computer vision. At the minimum, object detection must identify if a bounding box belongs to a known object or to the background. An object detection network can be trained to detect one specific object only, like the Soda can in Figure 11.1.1. Everything else is considered background, and there is no need to show its bounding box. Multiple instances of the same object such as two or more Soda cans can also be detected by the same network, as shown in Figure 11.1.2.
Figure 11.1.1 Object detection is illustrated as the process of localizing and identifying an object in an image.
Figure 11.1.2 Multiple instances of the same object be detected by the same network trained to detect one object instance.
If multiple objects in the scene are present, such as in Figure 11.1.3, the object detection method can only identify one object it was trained on. The other two objects will be classified as background and no bounding box will be assigned.
Figure 11.1.3 If the object detection is trained on detecting Soda cans only, it will ignore the other two objects in the image.
However, if the network is retrained to detect the three objects: 1) Soda can, 2) Juice can, and 3) Bottled water, each will be localized and recognized simultaneously...

Table of contents