O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Neural networks and deep learning

Book Description

Neural networks are at the very core of deep learning. They are versatile, powerful, and scalable, making them ideal to tackle large and highly complex Machine Learning tasks, such as classifying billions of images (e.g., Google Images), powering speech recognition services (e.g., Apple’s Siri), recommending the best videos to watch to hundreds of millions of users every day (e.g., YouTube), or learning to beat the world champion at the game of Go by examining millions of past games and then playing against itself (DeepMind’s AlphaGo).

This lesson introduces artificial neural networks, starting with a quick tour of the very first ANN architectures, then covering topics such as training neural nets, recurrent neural networks, and reinforcement learning. This lesson will clarify what neural networks are and why you may want to use them.

Table of Contents

  1. 1. Introduction to Artificial Neural Networks
    1. From Biological to Artificial Neurons
      1. Biological Neurons
      2. Logical Computations with Neurons
      3. The Perceptron
      4. Multi-Layer Perceptron and Backpropagation
    2. Training an MLP with TensorFlow’s High-Level API
    3. Training a DNN Using Plain TensorFlow
      1. Construction Phase
      2. Execution Phase
      3. Using the Neural Network
    4. Fine-Tuning Neural Network Hyperparameters
      1. Number of Hidden Layers
      2. Number of Neurons per Hidden Layer
      3. Activation Functions
    5. Exercises
  2. 2. Training Deep Neural Nets
    1. Vanishing/Exploding Gradients Problems
      1. Xavier and He Initialization
      2. Nonsaturating Activation Functions
      3. Batch Normalization
      4. Gradient Clipping
    2. Reusing Pretrained Layers
      1. Reusing a TensorFlow Model
      2. Reusing Models from Other Frameworks
      3. Freezing the Lower Layers
      4. Caching the Frozen Layers
      5. Tweaking, Dropping, or Replacing the Upper Layers
      6. Model Zoos
      7. Unsupervised Pretraining
      8. Pretraining on an Auxiliary Task
    3. Faster Optimizers
      1. Momentum Optimization
      2. Nesterov Accelerated Gradient
      3. AdaGrad
      4. RMSProp
      5. Adam Optimization
      6. Learning Rate Scheduling
    4. Avoiding Overfitting Through Regularization
      1. Early Stopping
      2. ℓ1 and ℓ2 Regularization
      3. Dropout
      4. Max-Norm Regularization
      5. Data Augmentation
    5. Practical Guidelines
    6. Exercises
  3. 3. Convolutional Neural Networks
    1. The Architecture of the Visual Cortex
    2. Convolutional Layer
      1. Filters
      2. Stacking Multiple Feature Maps
      3. TensorFlow Implementation
      4. Memory Requirements
    3. Pooling Layer
    4. CNN Architectures
      1. LeNet-5
      2. AlexNet
      3. GoogLeNet
      4. ResNet
    5. Exercises
  4. 4. Recurrent Neural Networks
    1. Recurrent Neurons
      1. Memory Cells
      2. Input and Output Sequences
    2. Basic RNNs in TensorFlow
      1. Static Unrolling Through Time
      2. Dynamic Unrolling Through Time
      3. Handling Variable Length Input Sequences
      4. Handling Variable-Length Output Sequences
    3. Training RNNs
      1. Training a Sequence Classifier
      2. Training to Predict Time Series
      3. Creative RNN
    4. Deep RNNs
      1. Distributing a Deep RNN Across Multiple GPUs
      2. Applying Dropout
      3. The Difficulty of Training over Many Time Steps
    5. LSTM Cell
      1. Peephole Connections
    6. GRU Cell
    7. Natural Language Processing
      1. Word Embeddings
      2. An Encoder–Decoder Network for Machine Translation
    8. Exercises
  5. 5. Reinforcement Learning
    1. Learning to Optimize Rewards
    2. Policy Search
    3. Introduction to OpenAI Gym
    4. Neural Network Policies
    5. Evaluating Actions: The Credit Assignment Problem
    6. Policy Gradients
    7. Markov Decision Processes
    8. Temporal Difference Learning and Q-Learning
      1. Exploration Policies
      2. Approximate Q-Learning and Deep Q-Learning
    9. Learning to Play Ms. Pac-Man Using the DQN Algorithm
    10. Exercises
    11. Thank You!
  6. A. Exercise Solutions
    1. Chapter 1: Introduction to Artificial Neural Networks
    2. Chapter 2: Training Deep Neural Nets
    3. Chapter 3: Convolutional Neural Networks
    4. Chapter 4: Recurrent Neural Networks
    5. Chapter 5: Reinforcement Learning