Fundamentals of deep learning: a step-by-step guide (Note: this manuscript is a preprint of a draft book, and I hope it can benefit faculty, students or engineers who want to start a journey of "deep learning". Comments or feedbacks can be sent to weidong.kuang@utrgv.edu. Your comments and feedbacks are invaluable for me to improve it.) Content Preface (pdf) (pp.4) (updated on 2/23/2023) Chapter 1 Introduction to Deep Learning (pdf) (pp.19) (19) (2/23/2023) 1.1 Introduction 1.2 Types of Machine Learning 1.3 Data Representation in Machine Learning 1.4 Overview of Deep Learning 1.5 Resources for Deep Learning References Exercises Chapter 2 A Brief Mathematical Review (pdf) (pp.51) (70) (2/23/2023) 2.1 Vector and Matrix 2.2 Matrix Calculus 2.3 Probability and Statistics 2.4 Gradient-Based Optimization Summary and Further Reading References Exercises Chapter 3 Linear Regression (pdf) (pp.25) (95) (4/18/2023) 3.1 Linear Regression with Single Feature 3.2 Linear Regression with Multiple Features 3.3 Linear Models for Regression 3.4 A Probabilistic Interpretation of Linear Regression 3.5 An Example: House Price Prediction Summary and Further Reading Exercises Chapter 4 Classification and Logistic Regression (pdf) (pp.21) (116)(5/2/2023) 4.1 Logistic Regression 4.2 Metrics for Classification Performance 4.3 Implementation of Logistic Regression in Python Summary and Further Reading Exercises Chapter 5 Basics of Neural Networks (pdf) (pp.37) (153) (8/28/2023) 5.1 A Simplest Neural Network: a Logistic Regression Unit 5.2 From Regression to Neural Networks 5.3 Neural Network Representation: Feed-forward Propagation 5.4 Activation Functions 5.5 Network Training: Backward propagation 5.6 Multi-class Classification: Softmax and Cross Entropy Loss 5.7 Practice in Python Summary and Further Reading Exercises Chapter 6 Practical Considerations in Neural Networks (pdf) (pp.56) (209) (8/28/2023) 6.1 Multiple-Layer Neural Networks 6.2 Generalization and Model Selection 6.3 Regularization 6.4 Weight Initialization 6.5 Mini-batch Gradient Descent 6.6 Normalization 6.7 Adam Optimization 6.8 Gradient Checking 6.9 Examples in Python Summary and Further Reading Exercises Chapter 7 Introduction to PyTorch (pdf) (pp.37) (246) (8/28/2023) 7.1 Why PyTorch? 7.2 Tensors 7.3 Data Representation using Tensors 7.4 Linear Regression using PyTorch 7.5 Neural Networks using PyTorch 7.6 An Example by PyTorch: Finger Signs Summary and Further Reading Exercises Chapter 8 Convolutional Neural Networks (pdf) (pp.32) (278) (9/8/2023) 8.1 Architecture of Convolutional Neural Networks 8.2 Convolutional Layer 8.3 Pooling Layer and Fully Connected Layer 8.4 Backpropagation in CNNs 8.5 Batch Normalization for CNNs 8.6 Implement CNNs in PyTorch Summary and Further Reading Exercises Chapter 9 Classical CNN Architectures (pdf) (pp.29) (307) (9/18/2023) 9.1 Datasets 9.2 AlexNet 9.3 VGG: Networks using Blocks 9.4 Network in Network 9.5 GoogLeNet 9.6 ResNet 9.7 Pretrained Models Summary and Further Reading Exercises Chapter 10 Object Detection -- YOLO (pdf) (pp.46) (353) (12/11/2023) 10.1 Introduction 10.2 YOLO(v1) 10.3 YOLO(v2) 10.4 YOLO(v3) 10.5 Implementation of YOLO(v3) using Pre-trained Model 10.6 A Metric for Object Detection mAP Summary and Further Reading Exercises Chapter 11 Probabilistic Generative Models (pdf) (pp.30) (383) (1/16/2024) 11.1 Generative Models with Latent Variable 11.2 EM Algorithm 11.3 Variational Auto_Encoder 11.4 VAE Implementation on MNIST Dataset in PyTorch Summary and Further Reading Exercises Chapter 12 Generative Adversarial Networks (pdf) (pp.43) (426) (3/19/2024) 12.1 Mathematical Description of Original GAN 12.2 Framework of GAN Implementations 12.3 GAN Variants 12.4 Example: DCGAN on MNIST Summary and Further Reading Exercises Chapter 13 Diffusion Models (pdf) (pp.38) (464) (8/26/2024) 13.1 Revisit Variantional Auto-Encoder 13.2 Denoising Diffusion Probabilistic Models 13.3 Score-Based Generative Modeling 13.4 Denoising Diffusion Implicit Models for Acceleration 13.5 Guidance 13.6 Implementation of a Simple Diffusion Model on MNIST Dataset Summary and Further Reading Exercises Chapter 14 Word Embedding (pdf) (pp.34) (498) (8/26/2024) 14.1 Introduction to Natural Language Processing 14.2 Word2vec 14.3 Hierarchical Softmax in Word2vec 14.4 Negative Sampling in Word2vec 14.5 GloVe 14.6 Implementation of a skip-gram model by PyTorch Summary and Further Reading Exercises Chapter 15 Recurrent Neural Networks (pdf) (pp.32) (530) (9/9/2024) 15.1 Introduction to Sequential Models 15.2 Basic RNNs 15.3 Long Short Term Memory(LSTM) and Gate Recurrent Unit(GRU) 15.4 Enhanced RNN Architectures 15.5 Sequence-to-Sequence Learning 15.6 Attention Mechanism in Encoder-Decoder Architectures 15.7 BLEU: a Metric of Machine Translation 15.8 Implementation of RNNs using PyTorch Summary and Further Reading Exercises Chapter 16 Transformer (pdf) (pp.34) (564) (10/17/2024) 16.1 Bahdanau Attention Mechanism 16.2 General Attention Mechanism 16.3 Transformer Architecture 16.4 BERT 16.5 GPT 16.6 Implementation of Transformer from Scratch in PyTorch Summary and Further Reading Exercises Chapter 16 Introduction to Reinforcement Learning (pdf) (pp.32) (596) (1/22/2025) 16.1 Markov Decision Process 16.2 Policy, Value Function and Bellman Equation 16.3 Dynamic Programming for MDPs 16.4 Monte Carlo Learning 16.5 Temporal Difference Learning 16.6 Implementation of Q-Learning for a Mountain Car task Summary and Further Reading Exercises Note: Chapter 2 will be removed to Appendix, thus this chapter number is 16 Chapter 17 Deep Q-Learning (pdf) (pp.20) (616) (1/22/2025) 17.1 Value Function Approximation 17.2 Basic Deep Q-Network 17.3 Double Deep Q-Network 17.4 Implementation of DQN for Mountain Car-v0 Summary and Further Reading Exercises Chapter 18 Policy Gradient Methods (pdf) (pp.53) (669) (3/4/2025) 18.1 Introduction to Policy-based Methods 18.2 Policy Gradient Theorem 18.3 REINFORCE Algorithm 18.4 Actor-Critic Methods (A2C, A3C) 18.5 Policy Optimization Methods (TRPO, PPO) 18.6 Deep Deterministic Policy Gradient (DDPG, TD3) 18.7 Soft Actor-Critic (SAC) 18.8 On-policy and Off-policy 18.9 Implementations of Policy Gradient Algorithms in Python Summary and Further Reading Exercises
The following chapters will be updated soon and more chapters will be added. Please check frequently (more chapters are coming soon) Appendix A Jupyter Notebook and PyTorch Installation (doc)
Note: if you need the copies of python files in the manuscript, please send a request to weidong.kuang@utrgv.edu
|