Yüklüyor…
Deep Learning with Python, Second Edition.
Yazar: | |
---|---|
Materyal Türü: | e-Kitap |
Dil: | İngilizce |
Baskı/Yayın Bilgisi: |
New York :
Manning Publications Co. LLC,
2021.
|
Edisyon: | 2nd ed. |
Konular: | |
Online Erişim: | Full-text access |
İçindekiler:
- Intro
- Deep Learning with Python
- Copyright
- dedication
- brief contents
- contents
- front matter
- preface
- acknowledgments
- about this book
- Who should read this book
- About the code
- liveBook discussion forum
- about the author
- about the cover illustration
- 1 What is deep learning?
- 1.1 Artificial intelligence, machine learning, and deep learning
- 1.1.1 Artificial intelligence
- 1.1.2 Machine learning
- 1.1.3 Learning rules and representations from data
- 1.1.4 The "deep" in "deep learning"
- 1.1.5 Understanding how deep learning works, in three figures
- 1.1.6 What deep learning has achieved so far
- 1.1.7 Don't believe the short-term hype
- 1.1.8 The promise of AI
- 1.2 Before deep learning: A brief history of machine learning
- 1.2.1 Probabilistic modeling
- 1.2.2 Early neural networks
- 1.2.3 Kernel methods
- 1.2.4 Decision trees, random forests, and gradient boosting machines
- 1.2.5 Back to neural networks
- 1.2.6 What makes deep learning different
- 1.2.7 The modern machine learning landscape
- 1.3 Why deep learning? Why now?
- 1.3.1 Hardware
- 1.3.2 Data
- 1.3.3 Algorithms
- 1.3.4 A new wave of investment
- 1.3.5 The democratization of deep learning
- 1.3.6 Will it last?
- 2 The mathematical building blocks of neural networks
- 2.1 A first look at a neural network
- 2.2 Data representations for neural networks
- 2.2.1 Scalars (rank-0 tensors)
- 2.2.2 Vectors (rank-1 tensors)
- 2.2.3 Matrices (rank-2 tensors)
- 2.2.4 Rank-3 and higher-rank tensors
- 2.2.5 Key attributes
- 2.2.6 Manipulating tensors in NumPy
- 2.2.7 The notion of data batches
- 2.2.8 Real-world examples of data tensors
- 2.2.9 Vector data
- 2.2.10 Timeseries data or sequence data
- 2.2.11 Image data
- 2.2.12 Video data
- 2.3 The gears of neural networks: Tensor operations.
- 2.3.1 Element-wise operations
- 2.3.2 Broadcasting
- 2.3.3 Tensor product
- 2.3.4 Tensor reshaping
- 2.3.5 Geometric interpretation of tensor operations
- 2.3.6 A geometric interpretation of deep learning
- 2.4 The engine of neural networks: Gradient-based optimization
- 2.4.1 What's a derivative?
- 2.4.2 Derivative of a tensor operation: The gradient
- 2.4.3 Stochastic gradient descent
- 2.4.4 Chaining derivatives: The Backpropagation algorithm
- 2.5 Looking back at our first example
- 2.5.1 Reimplementing our first example from scratch in TensorFlow
- 2.5.2 Running one training step
- 2.5.3 The full training loop
- 2.5.4 Evaluating the model
- Summary
- 3 Introduction to Keras and TensorFlow
- 3.1 What's TensorFlow?
- 3.2 What's Keras?
- 3.3 Keras and TensorFlow: A brief history
- 3.4 Setting up a deep learning workspace
- 3.4.1 Jupyter notebooks: The preferred way to run deep learning experiments
- 3.4.2 Using Colaboratory
- 3.5 First steps with TensorFlow
- 3.5.1 Constant tensors and variables
- 3.5.2 Tensor operations: Doing math in TensorFlow
- 3.5.3 A second look at the GradientTape API
- 3.5.4 An end-to-end example: A linear classifier in pure TensorFlow
- 3.6 Anatomy of a neural network: Understanding core Keras APIs
- 3.6.1 Layers: The building blocks of deep learning
- 3.6.2 From layers to models
- 3.6.3 The "compile" step: Configuring the learning process
- 3.6.4 Picking a loss function
- 3.6.5 Understanding the fit() method
- 3.6.6 Monitoring loss and metrics on validation data
- 3.6.7 Inference: Using a model after training
- Summary
- 4 Getting started with neural networks: Classification and regression
- 4.1 Classifying movie reviews: A binary classification example
- 4.1.1 The IMDB dataset
- 4.1.2 Preparing the data
- 4.1.3 Building your model
- 4.1.4 Validating your approach.
- 4.1.5 Using a trained model to generate predictions on new data
- 4.1.6 Further experiments
- 4.1.7 Wrapping up
- 4.2 Classifying newswires: A multiclass classification example
- 4.2.1 The Reuters dataset
- 4.2.2 Preparing the data
- 4.2.3 Building your model
- 4.2.4 Validating your approach
- 4.2.5 Generating predictions on new data
- 4.2.6 A different way to handle the labels and the loss
- 4.2.7 The importance of having sufficiently large intermediate layers
- 4.2.8 Further experiments
- 4.2.9 Wrapping up
- 4.3 Predicting house prices: A regression example
- 4.3.1 The Boston housing price dataset
- 4.3.2 Preparing the data
- 4.3.3 Building your model
- 4.3.4 Validating your approach using K-fold validation
- 4.3.5 Generating predictions on new data
- 4.3.6 Wrapping up
- Summary
- 5 Fundamentals of machine learning
- 5.1 Generalization: The goal of machine learning
- 5.1.1 Underfitting and overfitting
- 5.1.2 The nature of generalization in deep learning
- 5.2 Evaluating machine learning models
- 5.2.1 Training, validation, and test sets
- 5.2.2 Beating a common-sense baseline
- 5.2.3 Things to keep in mind about model evaluation
- 5.3 Improving model fit
- 5.3.1 Tuning key gradient descent parameters
- 5.3.2 Leveraging better architecture priors
- 5.3.3 Increasing model capacity
- 5.4 Improving generalization
- 5.4.1 Dataset curation
- 5.4.2 Feature engineering
- 5.4.3 Using early stopping
- 5.4.4 Regularizing your model
- Summary
- 6 The universal workflow of machine learning
- 6.1 Define the task
- 6.1.1 Frame the problem
- 6.1.2 Collect a dataset
- 6.1.3 Understand your data
- 6.1.4 Choose a measure of success
- 6.2 Develop a model
- 6.2.1 Prepare the data
- 6.2.2 Choose an evaluation protocol
- 6.2.3 Beat a baseline
- 6.2.4 Scale up: Develop a model that overfits.
- 6.2.5 Regularize and tune your model
- 6.3 Deploy the model
- 6.3.1 Explain your work to stakeholders and set expectations
- 6.3.2 Ship an inference model
- 6.3.3 Monitor your model in the wild
- 6.3.4 Maintain your model
- Summary
- 7 Working with Keras: A deep dive
- 7.1 A spectrum of workflows
- 7.2 Different ways to build Keras models
- 7.2.1 The Sequential model
- 7.2.2 The Functional API
- 7.2.3 Subclassing the Model class
- 7.2.4 Mixing and matching different components
- 7.2.5 Remember: Use the right tool for the job
- 7.3 Using built-in training and evaluation loops
- 7.3.1 Writing your own metrics
- 7.3.2 Using callbacks
- 7.3.3 Writing your own callbacks
- 7.3.4 Monitoring and visualization with TensorBoard
- 7.4 Writing your own training and evaluation loops
- 7.4.1 Training versus inference
- 7.4.2 Low-level usage of metrics
- 7.4.3 A complete training and evaluation loop
- 7.4.4 Make it fast with tf.function
- 7.4.5 Leveraging fit() with a custom training loop
- Summary
- 8 Introduction to deep learning for computer vision
- 8.1 Introduction to convnets
- 8.1.1 The convolution operation
- 8.1.2 The max-pooling operation
- 8.2 Training a convnet from scratch on a small dataset
- 8.2.1 The relevance of deep learning for small-data problems
- 8.2.2 Downloading the data
- 8.2.3 Building the model
- 8.2.4 Data preprocessing
- 8.2.5 Using data augmentation
- 8.3 Leveraging a pretrained model
- 8.3.1 Feature extraction with a pretrained model
- 8.3.2 Fine-tuning a pretrained model
- Summary
- 9 Advanced deep learning for computer vision
- 9.1 Three essential computer vision tasks
- 9.2 An image segmentation example
- 9.3 Modern convnet architecture patterns
- 9.3.1 Modularity, hierarchy, and reuse
- 9.3.2 Residual connections
- 9.3.3 Batch normalization
- 9.3.4 Depthwise separable convolutions.
- 9.3.5 Putting it together: A mini Xception-like model
- 9.4 Interpreting what convnets learn
- 9.4.1 Visualizing intermediate activations
- 9.4.2 Visualizing convnet filters
- 9.4.3 Visualizing heatmaps of class activation
- Summary
- 10 Deep learning for timeseries
- 10.1 Different kinds of timeseries tasks
- 10.2 A temperature-forecasting example
- 10.2.1 Preparing the data
- 10.2.2 A common-sense, non-machine learning baseline
- 10.2.3 Let's try a basic machine learning model
- 10.2.4 Let's try a 1D convolutional model
- 10.2.5 A first recurrent baseline
- 10.3 Understanding recurrent neural networks
- 10.3.1 A recurrent layer in Keras
- 10.4 Advanced use of recurrent neural networks
- 10.4.1 Using recurrent dropout to fight overfitting
- 10.4.2 Stacking recurrent layers
- 10.4.3 Using bidirectional RNNs
- 10.4.4 Going even further
- Summary
- 11 Deep learning for text
- 11.1 Natural language processing: The bird's eye view
- 11.2 Preparing text data
- 11.2.1 Text standardization
- 11.2.2 Text splitting (tokenization)
- 11.2.3 Vocabulary indexing
- 11.2.4 Using the TextVectorization layer
- 11.3 Two approaches for representing groups of words: Sets and sequences
- 11.3.1 Preparing the IMDB movie reviews data
- 11.3.2 Processing words as a set: The bag-of-words approach
- 11.3.3 Processing words as a sequence: The sequence model approach
- 11.4 The Transformer architecture
- 11.4.1 Understanding self-attention
- 11.4.2 Multi-head attention
- 11.4.3 The Transformer encoder
- 11.4.4 When to use sequence models over bag-of-words models
- 11.5 Beyond text classification: Sequence-to-sequence learning
- 11.5.1 A machine translation example
- 11.5.2 Sequence-to-sequence learning with RNNs
- 11.5.3 Sequence-to-sequence learning with Transformer
- Summary
- 12 Generative deep learning
- 12.1 Text generation.
- 12.1.1 A brief history of generative deep learning for sequence generation.