Python Deep Learning - Second Edition

Book description

Learn advanced state-of-the-art deep learning techniques and their applications using popular Python libraries

Key Features

  • Build a strong foundation in neural networks and deep learning with Python libraries
  • Explore advanced deep learning techniques and their applications across computer vision and NLP
  • Learn how a computer can navigate in complex environments with reinforcement learning

Book Description

With the surge in artificial intelligence in applications catering to both business and consumer needs, deep learning is more important than ever for meeting current and future market demands. With this book, you’ll explore deep learning, and learn how to put machine learning to use in your projects.

This second edition of Python Deep Learning will get you up to speed with deep learning, deep neural networks, and how to train them with high-performance algorithms and popular Python frameworks. You’ll uncover different neural network architectures, such as convolutional networks, recurrent neural networks, long short-term memory (LSTM) networks, and capsule networks. You’ll also learn how to solve problems in the fields of computer vision, natural language processing (NLP), and speech recognition. You'll study generative model approaches such as variational autoencoders and Generative Adversarial Networks (GANs) to generate images. As you delve into newly evolved areas of reinforcement learning, you’ll gain an understanding of state-of-the-art algorithms that are the main components behind popular games Go, Atari, and Dota.

By the end of the book, you will be well-versed with the theory of deep learning along with its real-world applications.

What you will learn

  • Grasp the mathematical theory behind neural networks and deep learning processes
  • Investigate and resolve computer vision challenges using convolutional networks and capsule networks
  • Solve generative tasks using variational autoencoders and Generative Adversarial Networks
  • Implement complex NLP tasks using recurrent networks (LSTM and GRU) and attention models
  • Explore reinforcement learning and understand how agents behave in a complex environment
  • Get up to date with applications of deep learning in autonomous vehicles

Who this book is for

This book is for data science practitioners, machine learning engineers, and those interested in deep learning who have a basic foundation in machine learning and some Python programming experience. A background in mathematics and conceptual understanding of calculus and statistics will help you gain maximum benefit from this book.

Table of contents

  1. Title Page
  2. Copyright and Credits
    1. Python Deep Learning Second Edition
  3. About Packt
    1. Why subscribe?
    2. PacktPub.com
  4. Contributors
    1. About the authors
    2. About the reviewer
    3. Packt is searching for authors like you
  5. Preface
    1. Who this book is for
    2. What this book covers
    3. To get the most out of this book
      1. Download the example code files
      2. Download the color images
      3. Conventions used
    4. Get in touch
      1. Reviews
  6. Machine Learning - an Introduction
    1. Introduction to machine learning
    2. Different machine learning approaches
      1. Supervised learning
        1. Linear and logistic regression
        2. Support vector machines
        3. Decision Trees
        4. Naive Bayes
      2. Unsupervised learning
        1. K-means
      3. Reinforcement learning
        1. Q-learning
      4. Components of an ML solution
    3. Neural networks
      1. Introduction to PyTorch
    4. Summary
  7. Neural Networks
    1. The need for neural networks
    2. An introduction to neural networks
      1. An introduction to neurons
      2. An introduction to layers
      3. Multi-layer neural networks
      4. Different types of activation function
      5. Putting it all together with an example
    3. Training neural networks
      1. Linear regression
      2. Logistic regression
      3. Backpropagation
      4. Code example of a neural network for the XOR function
    4. Summary
  8. Deep Learning Fundamentals
    1. Introduction to deep learning
    2. Fundamental deep learning concepts
      1. Feature learning
    3. Deep learning algorithms
      1. Deep networks
        1. A brief history of contemporary deep learning
      2. Training deep networks
    4. Applications of deep learning
    5. The reasons for deep learning's popularity
    6. Introducing popular open source libraries
      1. TensorFlow
      2. Keras
      3. PyTorch
      4. Using Keras to classify handwritten digits
      5. Using Keras to classify images of objects
    7. Summary
  9. Computer Vision with Convolutional Networks
    1. Intuition and justification for CNN
    2. Convolutional layers
      1. A coding example of convolution operation
    3. Stride and padding in convolutional layers
      1. 1D, 2D, and 3D convolutions
      2. 1x1 convolutions
      3. Backpropagation in convolutional layers
      4. Convolutional layers in deep learning libraries
    4. Pooling layers
    5. The structure of a convolutional network
      1. Classifying handwritten digits with a convolutional network
    6. Improving the performance of CNNs
      1. Data pre-processing
      2. Regularization
      3. Weight decay
      4. Dropout
      5. Data augmentation
      6. Batch normalization
    7. A CNN example with Keras and CIFAR-10
    8. Summary
  10. Advanced Computer Vision
    1. Transfer learning
      1. Transfer learning example with PyTorch
    2. Advanced network architectures
      1. VGG
        1. VGG with Keras, PyTorch, and TensorFlow
      2. Residual networks
      3. Inception networks
        1. Inception v1
        2. Inception v2 and v3
        3. Inception v4 and Inception-ResNet
        4. Xception and MobileNets
      4. DenseNets
    3. Capsule networks
      1. Limitations of convolutional networks
      2. Capsules
        1. Dynamic routing
      3. Structure of the capsule network
    4. Advanced computer vision tasks
      1. Object detection
        1. Approaches to object detection
        2. Object detection with YOLOv3
        3. A code example of YOLOv3 with OpenCV
      2. Semantic segmentation
    5. Artistic style transfer
    6. Summary
  11. Generating Images with GANs and VAEs
    1. Intuition and justification of generative models
    2. Variational autoencoders
      1. Generating new MNIST digits with VAE
    3. Generative Adversarial networks
      1. Training GANs
        1. Training the discriminator
        2. Training the generator
        3. Putting it all together
      2. Types of GANs
        1. DCGAN
          1. The generator in DCGAN
        2. Conditional GANs
      3. Generating new MNIST images with GANs and Keras
    4. Summary
  12. Recurrent Neural Networks and Language Models
    1. Recurrent neural networks
      1. RNN implementation and training
        1. Backpropagation through time
        2. Vanishing and exploding gradients
      2. Long short-term memory
      3. Gated recurrent units
    2. Language modeling
      1. Word-based models
        1. N-grams
        2. Neural language models
          1. Neural probabilistic language model
          2. word2vec
          3. Visualizing word embedding vectors
      2. Character-based models for generating new text
        1. Preprocessing and reading data
        2. LSTM network
        3. Training
        4. Sampling
        5. Example training
    3. Sequence to sequence learning
      1. Sequence to sequence with attention
    4. Speech recognition
      1. Speech recognition pipeline
      2. Speech as input data
      3. Preprocessing
      4. Acoustic model
        1. Recurrent neural networks
        2. CTC
      5. Decoding
      6. End-to-end models
    5. Summary
  13. Reinforcement Learning Theory
    1. RL paradigms
      1. Differences between RL and other ML approaches
      2. Types of RL algorithms
        1. Types of RL agents
    2. RL as a Markov decision process
      1. Bellman equations
      2. Optimal policies and value functions
    3. Finding optimal policies with Dynamic Programming
      1. Policy evaluation
        1. Policy evaluation example
      2. Policy improvements
      3. Policy and value iterations
    4. Monte Carlo methods
      1. Policy evaluation
      2. Exploring starts policy improvement
      3. Epsilon-greedy policy improvement
    5. Temporal difference methods
      1. Policy evaluation
      2. Control with Sarsa
      3. Control with Q-learning
      4. Double Q-learning
    6. Value function approximations
      1. Value approximation for Sarsa and Q-learning
        1. Improving the performance of Q-learning
          1. Fixed target Q-network
    7. Experience replay
    8. Q-learning in action
    9. Summary
  14. Deep Reinforcement Learning for Games
    1. Introduction to genetic algorithms playing games
    2. Deep Q-learning
      1. Playing Atari Breakout with Deep Q-learning
    3. Policy gradient methods
      1. Monte Carlo policy gradients with REINFORCE
      2. Policy gradients with actor–critic
        1. Actor-Critic with advantage
      3. Playing cart pole with A2C
    4. Model-based methods
      1. Monte Carlo Tree Search
      2. Playing board games with AlphaZero
    5. Summary
  15. Deep Learning in Autonomous Vehicles
    1. Brief history of AV research
    2. AV introduction
      1. Components of an AV system
        1. Sensors
          1. Deep learning and sensors
        2. Vehicle localization
        3. Planning
    3. Imitiation driving policy
      1. Behavioral cloning with PyTorch
    4. Driving policy with ChauffeurNet
      1. Model inputs and outputs
      2. Model architecture
      3. Training
    5. DL in the Cloud
    6. Summary
  16. Other Books You May Enjoy
    1. Leave a review - let other readers know what you think

Product information

  • Title: Python Deep Learning - Second Edition
  • Author(s): Ivan Vasilev, Daniel Slater, Gianmario Spacagna, Peter Roelants, Valentino Zocca
  • Release date: January 2019
  • Publisher(s): Packt Publishing
  • ISBN: 9781789348460